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

