|
08.12.2023, 14:07 | #1 |
Участник
|
Один почтовый адрес с историей
В dax2012 работа с почтовыми адресами может быть организована по двум "шаблонам" (паттернам)
Есть ли штатные инструменты, чтобы организовать ведение истории изменения адреса для первого варианта? PS: Физически таблица LogisticsPostalAddress такое позволяет. Но есть ли готовые формы/классы? Или придется что-то самому делать?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
08.12.2023, 17:12 | #2 |
Участник
|
Я нудный и поэтому сказал вы, что не два, а три паттерна.
Тот, что в теме второй, работает по двум паттернам:
Вот в этом: Цитата:
Документ напрямую ссылается на один адрес. Пример - это справочник "Перевозчик" (SalesCarrier)
Там же конкретный RecId таблицы LogisticsLocation, который ссылается на конкретный LogisticsPostalAddress. То есть на запись с конкретным периодом действия. Тут стандарт явно ничего не предложит. Явно напрашивается либо связь с ГАК, либо свой НечтоLogisticsLocation. |
|
08.12.2023, 23:39 | #3 |
Участник
|
Цитата:
Сообщение от Raven Melancholic
Я нудный и поэтому сказал вы, что не два, а три паттерна
DirPartLocation - это тот же НечтоLogisticsLocation Хотя, да. Формально - это отдельный набор классов и View. Можно считать отдельным паттерном Цитата:
Сообщение от Raven Melancholic
Так же можно привести в качестве примера
\Classes \ LogisticsLocationEntity \ locationTableList Цитата:
Сообщение от Raven Melancholic
Там же конкретный RecId таблицы LogisticsLocation, который ссылается на конкретный LogisticsPostalAddress. То есть на запись с конкретным периодом действия.
Формально. На практике, при редактировании адреса по первому паттерну делается настройка X++: // \Forms\LogisticsPostalAddress\Data Sources\LogisticsLocation\Methods\executeQuery if (postalAddressForm.isMultiple()) { (...) } else { (...) logisticsPostalAddress_ds.query().validTimeStateDateTimeRange(DateTimeUtil::minValue(), DateTimeUtil::utcNow()); logisticsPostalAddress_ds.validTimeStateUpdate(ValidTimeStateUpdate::Correction); } Собственно, легко проверяется. После изменения существующего адреса новой записи с новым периодом действия в таблице LogisticsPostalAddress не возникает. Именно по этой причине и нет просмотра истории, поскольку нет этой самой истории. Нечего просматривать Цитата:
Сообщение от Raven Melancholic
Тут стандарт явно ничего не предложит.
Явно напрашивается либо связь с ГАК, либо свой НечтоLogisticsLocation. Теоретически, тут достаточно было бы добавить новый параметр в класс LogisticsLocationFormHandler и сделать настройки по аналогии с параметром isMultiple. Но там же "наворотили" кучу всего. Это же тестировать все замучаешься
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
Теги |
адрес, история |
|
|