01.02.2008, 16:16 | #1 |
Участник
|
Вопрос на подумать
Уважаемые коллеги,
столкнулся с такой проблемой, не знаю как правильно ее решить: Есть 3 таблицы A, B, C, которые связаны между собой один ко многим A->B и A->C. Данные из таблиц B и C логически связаны между собой. Создаем форму, на ней выбираем объект из таблицы A. В двух grid-ax на этой форме отображаем информацию из связанных таблиц B и C. Задача: Изменяя данные таблиц B или C, настроить функционал так, чтобы нельзя было сохранить объект A, если данные в таблицах B и C не коррелируют между собой. Спасибо. |
|
01.02.2008, 16:23 | #2 |
Участник
|
Правила корреляции есть? значит, их можно записать, для начала на русском языке. Если можно по-русски записать, значит можно и на Х++ записать. Вот и запишите в коде, например в табличном методе A.validateWrite().
|
|
01.02.2008, 17:16 | #3 |
Участник
|
Я обычно решал такие проблемы при помощи статуса. Если A документ, то он изначально в состоянии Черновик и его нельзя сделать акстивным пока не соблюдены условия уникальности. Черновики или ошибочные документы режут зенки красным цветом в гриде
Второй вариант - редкатировать во временныз таблицах и созранять все разом после проверки |
|