Показать сообщение отдельно
Старый 26.10.2010, 18:04   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Как правильно связать таблицы в форме? Как показать параметры партии?
Есть исходная большая задача, связанная с отображением реквизитов партии в формах (заказ, журналы и т.п.).

Чтобы не загромождать излишними деталями, выделил суть и сформулировал вопрос на примере стандартной Аксапты 2009.

Итак есть строки заказов, строки журналов и прочие складские строки/проводки.
Эти строки связаны с таблицей InventDim, в которой хранится складская аналитика.

У разной номенклатуры может быть разный набор складских аналитик.
В частности, для некоторых номенклатур могут быть указаны партии

Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 321
Размер:	25.0 Кб
ID:	6299

Задача:
отобразить и дать возможность исправления параметров партии в форме заказов, в форме журнала, в форме проводок (если партия она указана, конечно).

Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 303
Размер:	53.5 Кб
ID:	6295 Нажмите на изображение для увеличения
Название: 3.PNG
Просмотров: 601
Размер:	46.6 Кб
ID:	6296

Ограничения:
= пользователи могут указывать партию как в гриде, так и на отдельной закладке аналитика
= пользователи могут использовать настройку форм (могут переносить поля на другие закладки, могут вытягивать разрешенные поля на форму)
= пользователи могут использовать фильтры/сортировки
= пользователи могут делать автоотчеты
в общем, стандартный функционал нужно по возможности сохранить

Что есть сейчас:
Сейчас нигде параметры партии не выведены в форму со складской аналитикой
Сейчас можно перейти к основной таблице партий и там посмотреть доп.реквизиты
Нажмите на изображение для увеличения
Название: 5.PNG
Просмотров: 325
Размер:	75.9 Кб
ID:	6298

Хочется чтобы дополнительные реквизиты партии можно было бы выводить на любую закладку в форме со складской аналитикой.
Например, так
Нажмите на изображение для увеличения
Название: 4.png
Просмотров: 380
Размер:	21.0 Кб
ID:	6297

Проблема:
Проблема в том, что формы нигде не работают с InventDim напрямую.
создание, запись, обновление идет из методов, которые вызываются при работе со строками.

Следовательно связывать на форме таблицу InventBatch к InventDim особого смысла не имеет - InventBatch просто не получит событий и не будет обновляться на форме.

Что сделано:
Добавили InventBatch в датасорсы. Сделали его пассивным. В методе pageActivated у вкладки находим и позиционируем InventBatch.
Но при этом конечно пропадает возможность поиска/сортировки.
И при этом нельзя переносить параметры партии на другие вкладки.
мне этот способ чертовски не нравится.

Вопрос:
Может быть есть способ правильной привязки InventBatch, чтобы можно было работать с реквизитами партии непосредственно в заказах/журналах/etc?
__________________
полезное на axForum, github, vk, coub.