Главная задача: задать значение в одно поле (Номенклатура, тип-связь с табл. Номенклатура) из другого поля (Тарифы, тип-связь с табл. Тарифы). Подробности ниже...
В данной задаче задействованы следующие таблицы и поля:
-
Контрагенты
-
Наименование
-
-
Номенклатура
-
Наименование
-
-
Договора
-
КОНТРАГЕНТ (связь - Наименование.Контрагенты) -
НОМЕР
-
-
Тарифы договора
-
ДОГОВОР (связь - Номер.Договора) -
НОМЕНКЛАТУРА (связь - Наименование.Номенклатура) -
ТАРИФ
-
-
Поставки
-
ПОСТАВЩИК (связь - Наименование.Контрагенты) -
НАИМЕНОВАНИЕ ТОВАРА (связь - Наименование.Номенклатура) -
ЦЕНА
-
-
Позиции заказа
-
ПОКУПАТЕЛЬ (связь - Наименование.Контрагенты) -
ДОГОВОР (связь - Номер.Договора с фильтром по Покупателю) -
ТАРИФЫ (связь - Тариф.Тарифы с фильтром по Договору) -
НОМЕНКЛАТУРА (связь - Наименование.Номенклатура с фильтром по Тарифу) -
ПОСТАВЩИК (связь - Наименование.Контрагенты с фильтром по Номенклатуре)
-
Вот с полем Номенклатура у нас проблема. Его отбор должен происходить не из всего списка Номенклатуры, а только той что присутствует в Тарифах по выбранному Договору.
Первое решение, которое приходит на ум — это фильтр поля. Но фильтра по полю Тариф в поле Номенклатура не возникает. Может, что-то неправильно делаем? Но, по логике, похоже, оно там и не сможет возникнуть...
Второе решение — это заполнение поля при помощи вычисления PHP. Однако, выполнение вычисления на изменение поля требует сохранения, но нам нужно ещё заполнять остальные поля таблицы Позиции заказа и простое сохранение неудобно для пользователя. Если бы можно было повесить на изменение поля “ТАРИФЫ.Позиции заказа” вычисление на изменение поля “НОМЕНКЛАТУРА.Позиции заказа”, а затем сохранение записи и открытие её снова в режиме редактирования - это было бы в какой-то степени решением вопроса.
Подскажите, может есть ещё какое-то третье решение?
Заранее всем, кто откликнется, спасибо!













