Elbuz дає завести власне поле в товарах, контрагентах, документах та інших таблицях: воно з'являється в картці, сітці, фільтрах, формулах і вивантаженнях так само, як рідні поля програми.
Коли це знадобиться:
- Потрібна друга закупівельна чи стара ціна — поле типу «Ціна» стає колонкою каталогу й працює у формулах і націнках.
- Треба бачити ціну конкретного постачальника — пакетне оновлення переносить її з прайсу у ваше поле.
- Значення має рахувати формула — «Тільки для читання» не дає правити його руками й через API.
- Потрібна внутрішня позначка — поле «Прапор» дає колонку з галочкою для фільтра.
З чого почати: «Налаштування таблиць» → таблиця → «Додати поле».
Що вміють додаткові поля
- Додати колонку в товари, прайси, категорії, контрагентів, документи — дев'ять таблиць на вибір.
- Зберігати текст, числа, ціни, дати, списки, файли — сімнадцять типів полів.
- Підказувати й обмежувати введення — тільки для читання, список значень, HTML-редактор.
- Захистити вписане руками — від прайсу, формули й API.
- Додати кнопку в рядок таблиці — вебхук, посилання, вікно чи сценарій Flow.
Де це і хто має доступ
- Меню
- Кабінет → Налаштування системи → плитка «Налаштування таблиць»
- Що всередині
- таблиці списком; розгорніть потрібну — зліва її поля, справа картка обраного поля
- Право доступу
- право групи на вікно «Налаштування таблиць»; на кожне поле — окремі права груп
- Де поле з'явиться
- картка, сітка, фільтри, формули, шаблони вивантаження
1
Список таблиць2
Додати поле3
Активність4
Назва5
Налаштування поля- Таблиці згорнуті списком — розгортається та, у яку додається поле.
- Кнопка «Додати поле» одразу створює колонку в таблиці бази, тому тип обирають з першого разу.
- Колонка «А» — активність: вимкнене поле зникає з інтерфейсу, а дані лишаються.
- Назва поля — те, що видно в картці, у сітці й у макросах формул.
- Праворуч — картка обраного поля: значення за замовчуванням, обовʼязковість, префікс, постфікс, редактор.
До яких таблиць можна додати поле
Поле заводиться не «в програму взагалі», а в конкретну таблицю:
- «Товары (базовый каталог)» — найчастіший випадок;
- «Товары из прайс-листов» — дані, що приходять від постачальника;
- «Категории товаров», «Производители товаров»;
- «Контрагенты»;
- «Документы» і «Документы (товары)» — шапка документа й рядки в ньому;
- «Варианты товаров (товары опции)», «Сообщения».
Назви таблиць у списку «Налаштування таблиць» програма показує російською незалежно від мови інтерфейсу — тут вони наведені так, як на екрані.
Поле товару каталогу й поле товару прайс-листа — це різні поля, навіть якщо назвати їх однаково. Дані з прайсу в каталог переносить пакетне оновлення, і для цього обидва поля мають існувати кожне у своїй таблиці.
Як завести поле
- Розгорніть у списку таблицю, у яку додається поле — наприклад, «Товары (базовый каталог)».
- Натисніть «Додати поле» — програма спитає тип поля.
- Впишіть назву: саме її ви побачите в картці, у сітці й у макросах формул.
- Налаштуйте поведінку — див. нижче — і збережіть.
Створення займає помітний час і показує «Чекайте, додається нове поле…»: програма не просто робить запис у списку, а справді додає колонку в таблицю бази, реєструє її в сітці, розкладає по всіх користувачах і заводить права доступу для груп. Тому нове поле одразу видно всім співробітникам і одразу можна відбирати за ним у фільтрі.
Усе це робиться одним запитом до сервера, без фонового завдання: вікно чекає відповіді під повідомленням «Чекайте, додається нове поле…». Кроки йдуть по черзі:
- рядок у списку полів;
- колонка в таблиці бази;
- колонка в сітці й налаштування сітки кожного співробітника;
- назва колонки для кожної мови;
- права груп.
Спільної транзакції в цих кроків немає. Скільки полів уже є в таблиці, програма не перевіряє.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Якщо база не додала колонку, поля не буде. Після кроку з колонкою програма перевіряє, що колонка справді з'явилася в таблиці бази. Якщо її немає, запис поля прибирається зі списку, нового рядка в сітці полів не з'являється, а вгорі праворуч виринає червоне повідомлення «Операція не виконана!». Спробуйте додати поле ще раз.
Поки в таблиці лежить неперейменоване «Нове поле», нове не додасться. Нове поле створюється з назвою «Нове поле», і перед створенням програма шукає в цій таблиці поле з такою самою назвою.
Якщо знаходить — нічого не створює, навіть коли ви обрали інший тип, і показує: «Поле з такою назвою в цій таблиці вже є — найчастіше це неперейменоване «Нове поле». Дайте йому свою назву й додайте нове.» Перейменуйте попереднє поле — і натисніть «Додати поле» ще раз.
Тип поля після створення не змінюється. У картці поля тип не редагується, а зміна назви типу нічого не перетворює. Якщо тип обраний невдало — заводьте нове поле потрібного типу й переносьте значення формулою, а старе видаляйте. Тому тип обирають уважно з першого разу.
Типи полів
| Тип | Для чого |
|---|---|
| Рядок тексту | короткий текст до 255 символів: код, артикул, примітка одним рядком |
| Текст | довгий текст без обмеження довжини |
| Число | ціле число |
| Число (десяткове) | число з дробовою частиною |
| Ціна | грошове поле з високою точністю — саме його беруть для другої закупівельної, старої ціни, ціни іншого постачальника |
| Прапор | так/ні: у сітці це галочка, у картках товару й контрагента — перемикач |
| Список | випадаючий список із заданим переліком значень: у картках товару й контрагента значення вибирають зі списку |
| Дата / Час | дата |
| Зображення, Файл | вкладення з обмеженням типів і розміру |
| E-Mail, Телефон, Посилання на сайт (URL) | текст із перевіркою формату |
| Пароль | значення, приховане зірочками |
| ID | посилання на запис іншої таблиці за номером |
| Індикатор виконання | смужка прогресу; не зберігає своє значення, а показує чуже |
| Кнопка | дія просто з рядка таблиці; теж не зберігає значення |
«Рядок тексту» чи «Текст»? Беріть «Рядок тексту», якщо значення коротке й за ним відбиратимуть або сортуватимуть — таке поле працює швидше й акуратніше виглядає в сітці. «Текст» лишайте для описів і приміток на кілька речень.
Два останні типи — «Індикатор виконання» й «Кнопка» — віртуальні: колонки в базі вони не створюють і власних даних не зберігають. За ними не можна ні фільтрувати, ні сортувати, ні вивантажувати їх у файл — вони існують тільки як елемент інтерфейсу в таблиці.
Як налаштувати поле «Кнопка» — у статті про кнопку в таблиці.
Налаштування поля
| Налаштування | Що робить |
|---|---|
| Активність | вимкнене поле зникає з інтерфейсу, дані лишаються |
| Блок відображення | групує поля в списку там, де блоки заведені — у категоріях і товарах прайс-листів. В інших таблицях нове поле блоку не отримує, і це нормально: на показ поля в картці товару, контрагента чи документа блок не впливає. |
| Порядок обробки | послідовність поля серед інших |
| Значення за замовчуванням | що отримає поле, поки його не заповнили. Картка категорії показує його в будь-якому порожньому полі, а новий товар і новий контрагент отримують його під час створення. Уже наявні товари й контрагенти, документи, пакетне оновлення, формули й API значення за замовчуванням не застосовують. Значення має підходити до типу поля: текст у числовому полі збережеться як 0 |
| Тільки для читання | значення видно, але змінити руками не можна — для полів, які заповнює формула. Пакетне оновлення з прайсів таке поле пропускає, див. нижче |
| Значення для списку, що випадає | перелік варіантів для типу «Список», кожен варіант з нового рядка |
| Багаторядкове, HTML редактор | як редагувати довгий текст: простим полем чи редактором з оформленням |
| Шаблон заповнення, Спливаюча підказка | підказки для того, хто заповнює картку |
| Поле займає всю ширину | розтягнути поле на весь рядок картки |
| Довжина поля, Довжина поля після коми | «Довжина поля» є в усіх типів, крім зображення, файлу, ID і прапора; «Довжина поля після коми» — тільки в типу «Число» |
| Примітка | для себе: навіщо заведене поле |
Перейменування поля переписує макрос не скрізь. Коли ви змінюєте назву, програма сама виправляє її у формулах полів каталогу й прайсів — там макрос виглядає як {Товар БК: Назва}. А от у шаблонах вивантаження макрос лишається зі старою назвою й перестає знаходити поле. Тому після перейменування перевірте шаблони, у яких це поле бере участь.
Що перезапише значення, вписане руками
Значення поля товару каталогу, яке ви вписали руками, програма окремо не береже. Його можуть переписати пакетне оновлення з прайсів, формула поля й оновлення товарів через API — і зупиняють їх різні ознаки:
| Хто пише в поле | Що робить | Що його зупиняє |
|---|---|---|
| Пакетне оновлення з прайсу | записує в поле значення з прайсу | «Не оновлювати» в самому товарі — товар пропускається цілком. «Оновлювати, якщо значення порожнє в базовому каталозі» — заповнене значення лишається. «Оновлювати, якщо значення не порожнє у прайсах» — порожнє значення чи нуль у прайсі поле не затирає |
| Формула поля | при кожному застосуванні переписує значення всім товарам, що підходять під її умову | «Не оновлювати» в товарі, а для поля типу «Ціна» — ще й «Фіксована ціна» в товарі. «Тільки для читання» в налаштуваннях поля формулу не зупиняє |
| Оновлення через API | записує поля, передані в запиті | «Тільки для читання» — таке поле не записується |
1
Рядок додаткового поля2
Порожня «Назва поля з прайс-листів»3
Активність4
Оновлювати, якщо значення порожнє в базовому каталозі- Рядок додаткового поля каталогу, наприклад «Цена_Allo».
- Для додаткового поля колонка «Назва поля з прайс-листів» порожня: значення з прайсів не підставляється.
- Колонка «Активність» у таких рядків вимкнена.
- Колонка з прапорцем «Оновлювати, якщо значення порожнє в базовому каталозі».
«Тільки для читання» діє на пакетне оновлення так:
- таке поле не додається в список полів у налаштуваннях оновлення прайсу;
- оновлення за налаштуваннями кожного прайсу й «Примусово оновлювати з цього джерела» його пропускають;
- основний прогін бере поля з налаштувань прайсу як є.
Якщо поле потрапило туди раніше, ніж ви поставили ознаку, приберіть його з налаштувань прайсу самі.
Якщо поле заповнюють і прайс, і формула, лишається результат формули. У прогоні пакетного оновлення програма спершу переносить поля з прайсів, потім — поля з «Примусово оновлювати з цього джерела», а формули застосовує останніми, якщо в налаштуваннях увімкнено «Застосовувати формули». «Значення за замовчуванням» у цій черзі участі не бере.
Щоб своє значення вціліло, поставте в товарі «Не оновлювати»: його тоді обходять і пакетне оновлення, і формули. Врахуйте, що ознака захищає товар цілком, а не одне поле: з прайсу він більше не оновлюватиметься.
Як видалити поле і чому програма може відмовити
Видалення прибирає не тільки колонку. Разом із полем зникають: його колонка в сітці й у налаштуваннях кожного співробітника, права груп на нього, рядки в шаблонах вивантаження, формули цього поля, зв'язки з полями парсера, а для полів прайс-листів — ще й правила заміни тексту, валют, ігнорування, націнок і пакетної обробки, які на нього посилалися.
Програма може відмовити у видаленні. Якщо поле згадується в умові, написаній руками — у шаблоні вивантаження, збереженому фільтрі таблиці, правилі розподілу за категоріями, націнці, тригері, акції, конфігураторі, розумному пошуку, шаблоні листа, дошці задач, парсері чи правах груп — видалення не виконається. Замість цього ви побачите перелік місць, де поле бере участь.
Це навмисно: умова йде в запит текстом, і після зникнення колонки перестає працювати вся операція цілком, а не лише це правило. Виправити вираз за вас програма не може — прибрати «І поле = …» означає розширити відбір, прибрати «АБО поле = …» — звузити. Тому: приберіть поле з перелічених умов і повторіть видалення.
- Дія або результат
- Розвилка: далі шлях залежить від відповіді
Повідомлення про відмову починається словами «Поле «…» бере участь у SQL-умовах, написаних вручну. Видалити його не можна», а під ним — групи місць, де поле знайдено: «Шаблони вивантаження», «Збережені фільтри таблиць», «Правила розподілу за категоріями», «Формули полів», «Націнки» тощо.
Тобто, де шукати, видно з самого повідомлення: відкрийте кожне назване місце, приберіть з умови поле чи замініть його іншим, збережіть і натисніть видалення ще раз.
Системні поля програми не видаляються й не перейменовуються — редагувати можна тільки те, що завели ви.
Сценарії
Бачити в каталозі ціну конкретного постачальника поруч зі своєю
Що зробити. Заведіть поле типу «Ціна» у таблиці «Товары из прайс-листов» і ще одне — у «Товары (базовый каталог)». Потім у налаштуваннях пакетного оновлення цього прайсу, у зв'язках полів, знайдіть поле каталогу, у колонці «Назва поля з прайс-листів» вкажіть поле прайсу й увімкніть «Активність».
Що вийде. Поле типу «Ціна» зберігає число з вісьмома знаками після коми. Після прогону пакетного оновлення значення з прайсу переходить у поле каталогу.
Чого не буде. Нове поле каталогу з'являється в зв'язках полів вимкненим і без поля прайсу, і поки ви їх не заповните, пакетне оновлення його не чіпає. «Фіксована ціна» в товарі від пакетного оновлення захищає рідні ціни програми, а ваше поле типу «Ціна», яке заповнюється з вашого поля прайсу, — ні. Щоб товар не оновлювався, ставлять «Не оновлювати».
Поле, яке рахує тільки формула
Що зробити. Заведіть поле в «Товары (базовый каталог)», у картці налаштувань поставте «Тільки для читання» і напишіть для нього формулу.
Що вийде. Оновлення товарів через API це поле не записує. У зв'язки полів пакетного оновлення таке поле не додається, а оновлення за налаштуваннями кожного прайсу й «Примусово оновлювати з цього джерела» його пропускають. Формула при цьому записує значення як завжди.
Чого не буде. «Тільки для читання» формулу не зупиняє: вона перепише поле кожному товару, що підходить під її умову. Обійде вона лише товари з позначкою «Не оновлювати», а якщо поле типу «Ціна» — ще й товари з «Фіксованою ціною».
Заповнити поле з прайсу один раз, а далі правити руками
Що зробити. Зіставте поле каталогу з полем прайсу в налаштуваннях пакетного оновлення, як у першому сценарії, і в тому ж рядку поставте «Оновлювати, якщо значення порожнє в базовому каталозі».
Що вийде. Товарам, у яких поле порожнє, значення прийде з прайсу. Там, де поле вже заповнене — з прайсу чи вами, — воно лишиться як є.
Чого не буде. Нуль програма вважає порожнім значенням: якщо у полі товару стоїть 0, наступне оновлення запише туди значення з прайсу.
Внутрішня позначка, за якою відбирають товари
Що зробити. Заведіть у «Товары (базовый каталог)» поле типу «Прапор», наприклад «Перевірено».
Що вийде. У сітці товарів з'являється колонка з галочкою, за якою можна фільтрувати й сортувати, і її можна вивантажити. Колонка додається в налаштування сітки кожного співробітника.
Чого не буде. «Значення за замовчуванням» для типу «Прапор» у картці поля немає. Усі товари, що вже є в каталозі, отримують поле без галочки, і ставити її доведеться вам або формулі.
Що робити, коли поле не видно або не заповнюється
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| Поле не видаляється, показано список місць | на нього посилається умова, написана руками | прибрати поле з цих умов і повторити видалення |
| Поля немає в картці | знято «Активність» або закриті права групи на поле | увімкнути поле; перевірити права груп |
| Поля немає в сітці | колонка вимкнена в налаштуваннях таблиці цього співробітника | увімкнути колонку в налаштуваннях сітки |
| Поле видно, але не заповнюється | стоїть «Тільки для читання» | зняти ознаку або заповнювати формулою чи імпортом |
| Після перейменування зламалося вивантаження | у шаблоні лишився макрос зі старою назвою | виправити макрос у шаблоні |
| У поле не вдається вписати дробове число | обраний тип «Число» — він цілий | завести поле типу «Число (десяткове)» або «Ціна» |
| За полем не працює фільтр | тип «Індикатор виконання» або «Кнопка» — вони віртуальні | для даних, за якими відбирають, брати звичайний тип |
| Дані з прайсу не потрапляють у поле каталогу | це два різні поля різних таблиць | налаштувати перенесення в пакетному оновленні |
| Колега не бачить поле | закриті права групи на це поле | перевірити права груп |
| Поле створюється довго | програма додає колонку у велику таблицю бази | дочекатися; на каталозі в сотні тисяч рядків це нормально |
Часті запитання
Яке поле завести для другої ціни?
Тип «Ціна» — грошове поле з високою точністю. Його ж беруть для старої ціни, ціни іншого постачальника чи ціни в іншій валюті; далі його можна використати в формулах, націнках і вивантаженнях.
Чи можна змінити тип уже створеного поля?
Ні. Заведіть нове поле потрібного типу, перенесіть значення формулою й видаліть старе.
Хочу видалити власне поле, а програма пише, що поле бере участь у SQL-умовах, написаних вручну. Що робити?
Поле згадується в умові, написаній руками, — і без колонки перестала б працювати вся операція. Під повідомленням перелічено місця: приберіть поле з умов, збережіть і повторіть видалення (докладно).
Як додати своє поле в товар, наприклад «Гарантія, міс.», і вивантажити його?
Додайте поле в «Товары (базовый каталог)»: «Рядок тексту» для гарантії текстом, «Число» — для місяців. На сайт чи маркетплейс поле піде, лише якщо додати його в шаблон вивантаження.
Чим додаткове поле відрізняється від характеристики?
Характеристики — властивості товару, за якими фільтрують покупці на вітрині, і живуть вони у власному довіднику. Додаткове поле — колонка вашої таблиці для внутрішньої роботи: коди, дати, службові ціни, позначки (характеристики).
Хочу поле «Стан товару» з випадаючим списком: Новий, Вживаний, Уцінка. Як зробити?
Заведіть у «Товары (базовый каталог)» поле типу «Список» і в «Значення для списку, що випадає» впишіть варіанти, кожен з нового рядка. Якщо стан має бачити покупець у фільтрах вітрини, потрібна характеристика, а не поле.
Чи можна зробити поле з автонумерацією, щоб починалося з 1000 і мало префікс DOG-?
У додаткових полях — ні: лічильника й префікса в них немає. Номер на кшталт DOG-1000 дає тип документа: шаблон DOG-{N} у колонці «Формат №» (нумерація документів).
Чи можна поставити галочку, щоб значення поля не повторювалося в різних товарів?
Ні, перевірки унікальності в полях немає: однакове значення можна вписати в скільки завгодно товарів. Однакові товари шукає пошук дублікатів.
Суміжні теми
- Якщо поле має заповнюватися саме — формули полів каталогу.
- Якщо поле треба заповнити з прайсу постачальника — пакетне оновлення каталогу.
- Якщо поле має поїхати на сайт — шаблони вивантаження.
- Якщо колега не бачить поле — права груп.

