Головна і підпорядкована таблиці в 1с
Напевно багато хто стикався з питанням про зв'язуванні двох-і більше таблиць на формах 1С за принципом головна-підлегла. Один з можливих варіантів вирішення я приведу в цій статті. Деякі рішення я вже зустрічав, але вони або обмежують можливості таблиць (неможливість сортування, зміни номера рядка і перестановки рядків місцями) або вимагали додаткового коду по обробці різних змін в пов'язаної інформації. Пропоную більш розумне і досить просте рішення.
Напевно багато хто стикався з питанням про зв'язуванні двох-і більше таблиць на формах 1С за принципом головна-підлегла. Один з можливих варіантів вирішення я приведу в цій статті. Деякі рішення я вже зустрічав, але вони або обмежують можливості таблиць (неможливість сортування, зміни номера рядка і перестановки рядків місцями) або вимагали додаткового коду по обробці різних змін в пов'язаної інформації. Пропоную більш розумне і досить просте рішення.
1. Необхідна унікальна прихована зв'язка в двох таблицях, що забезпечує просту в обробці синхронізацію полів головної і підлеглої таблиць.
У пошуках такої універсальної зв'язки натрапив на конструкцію виду:
Якраз його і будемо використовувати для зв'язування. В обидві табличні частини документа додаємо поле з типом УнікальнийІдентіфікатор. Після цього необхідно в модулі форми обробити кілька подій, а саме:
ПріНачалеРедактірованія - табличний поля головної таблиці і табличний поля підлеглої таблиці.
ПередУдаленіем - табличний поля головної таблиці для очищення пов'язаних рядків підлеглої.
ПріАктівізацііСтрокі - для відбору рядків підпорядкованої таблиці.
А тепер приклади оброблювачів, до речі, вони універсальні для будь-яких рішень.
І зовсім невелике доповнення - полю ВД встановлюємо Властивість: Чи індексувати = індексувати.
Поле табличного Поля можна (і потрібно, щоб уникнути) зробити недоступним для користувача.
Чекаю ваших відгуків і критики :).