Павло чисту 1

На основі простого прикладу показана реалізація механізму введення на підставі.

Введення на підставі використовується у випадках, коли при створенні нового об'єкта можуть бути використані дані вже існуючого об'єкта. Введення на підставі може бути реалізований для довідників, документів, планів видів характеристик, планів рахунків, планів видів розрахунку і бізнес-процесів. У загальному випадку об'єкт може бути створений на підставі будь-якого об'єкта з перерахованих вище, наприклад, документ може бути створений на підставі довідника.

Розглянемо роботу механізму введення на підставі на наступному прикладі: Організація надає послуги пасажирського таксі. Замовлення покупців реєструються в документі «Замовлення». Замовлення може бути формується диспетчером. Документ «Замовлення» містить наступну інформацію:

Створення об'єктів конфігурації

Павло чисту 1

Павло чисту 1

Реалізація

У властивостях документа «Замовлення» перейдемо на закладку «Введення на підставі»:

Павло чисту 1

Натиснемо кнопку «Редагувати елемент списку» і виберемо зі списку довідник «Клієнти»:

Павло чисту 1

Далі запустимо конструктор введення на підставі натисканням на кнопку "Конструктор введення на підставі":

Павло чисту 1

У вікні, потрібно зіставити поля довідника з реквізитами документа замовлення. Це можна зробити, натиснувши кнопку «Заповнити вираження» і тоді система спробує сама визначити, які поля потрібно створити:

Павло чисту 1

Павло чисту 1

При натисканні «ОК» система генерує наступний код в модулі документа «Замовлення» в процедурі ОбработкаЗаполненія:

Запустимо додаток в режимі налагодження і перевіримо, як працює введення на підставі. Додамо пару записів в довідник клієнтів:

Відкриємо одну з них. У вікні буде доступна кнопка «Створити на підставі», після натискання якої відкриється список з опцією вибору «Замовлення»:

Павло чисту 1

При виборі «Замовлення» система створює порожній документ і заповнює поля в процедурі ОбработкаЗаполненія:

Павло чисту 1

Збережемо документ і переконаємося, що документ був успішно створений, відкривши його з спіcка документів замовлення:

Тепер припустимо, що у клієнтів можуть бути опції, які завжди присутні в замовленні даного клієнта. Наприклад, «палить водій». Тоді їх можна задавати в довіднику клієнтів і копіювати в документ замовлення. Розширимо довідник «Клієнти» табличній частиною «Опції»:

Павло чисту 1

Тепер необхідно модифікувати процедуру ОбработкаЗаполненія документа. Це можна було б зробити через конструктор, але тоді процедура обробки перезапишеться, тому додамо код копіювання табличній частині вручну:

Запустимо конфігурацію в режимі налагодження і подивимося, що вийшло. Додамо опції клієнту:

Павло чисту 1

Збережемо дані і створимо замовлення на підставі запису довідника:

Павло чисту 1

Таким чином, дані табличній частині були успішно скопійовані в замовлення. Для цього простого прикладу реалізацію введення на підставі можна вважати закінченою.

Схожі статті