Головна і підпорядкована таблиці в 1с

Напевно багато хто стикався з питанням про зв'язуванні двох-і більше таблиць на формах 1С за принципом головна-підлегла. Один з можливих варіантів вирішення я приведу в цій статті. Деякі рішення я вже зустрічав, але вони або обмежують можливості таблиць (неможливість сортування, зміни номера рядка і перестановки рядків місцями) або вимагали додаткового коду по обробці різних змін в пов'язаної інформації. Пропоную більш розумне і досить просте рішення.

Напевно багато хто стикався з питанням про зв'язуванні двох-і більше таблиць на формах 1С за принципом головна-підлегла. Один з можливих варіантів вирішення я приведу в цій статті. Деякі рішення я вже зустрічав, але вони або обмежують можливості таблиць (неможливість сортування, зміни номера рядка і перестановки рядків місцями) або вимагали додаткового коду по обробці різних змін в пов'язаної інформації. Пропоную більш розумне і досить просте рішення.

1. Необхідна унікальна прихована зв'язка в двох таблицях, що забезпечує просту в обробці синхронізацію полів головної і підлеглої таблиць.

У пошуках такої універсальної зв'язки натрапив на конструкцію виду:

Якраз його і будемо використовувати для зв'язування. В обидві табличні частини документа додаємо поле з типом УнікальнийІдентіфікатор. Після цього необхідно в модулі форми обробити кілька подій, а саме:

ПріНачалеРедактірованія - табличний поля головної таблиці і табличний поля підлеглої таблиці.

ПередУдаленіем - табличний поля головної таблиці для очищення пов'язаних рядків підлеглої.

ПріАктівізацііСтрокі - для відбору рядків підпорядкованої таблиці.

А тепер приклади оброблювачів, до речі, вони універсальні для будь-яких рішень.

І зовсім невелике доповнення - полю ВД встановлюємо Властивість: Чи індексувати = індексувати.

Поле табличного Поля можна (і потрібно, щоб уникнути) зробити недоступним для користувача.

Чекаю ваших відгуків і критики :).

Схожі статті