|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() И стоило городить всё это ради такой ерунды? Ну да ладно, как говорится, опыт - сын ошибок трудных....................
....................................... Обратите внимание. Метод InvetJournalTable.update() будет вызываться как при штатном сохранении записи CTRL+S, так и при аварийном выходе при нажатии ESC. Более того, если по каким-нибудь причинам у пользователя появится возможность изменить дату журнала с како-либо другой формы, этот код также отработает. Т.е. синхранизация данных обеспечивается на уровне тригеров таблиц и не зависит от пользовательского интерфейса |
|
![]() |
#2 |
Ищущий знания...
|
Цитата:
Сообщение от pwp
![]() Ну я так и знал. Поехали тогда немного в детали. Это нужно не для всех журналов, а только Проводки,Приб\Убытки\Перенос+еще 2.(т.е.хорошо бы в этом методе иметь установленный параметр с формы, чтобы не нести этот код в метод таблицы.) При update в Trans нужно отработать еще ряд методов по другим таблицам(посмотрите update Transdate при изменении даты в Grid) Кроме того, update на Trans в нашей реализации идет с параметром(но он не selectforupdate). + прямой update этой даты в Table не находит своего своего отражения на форме (возможно нужно где-то (?) вставить research() на DS формы)+ нужен еще и диалог по изменению даты(где его затеять, тогда?), вдруг это кто то сел на клавиатуру).Но по любому, спасибо за совет, попробую и его тоже, если получится.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: pwp (1). |
![]() |
#3 |
Участник
|
Да у меня сейчас вроде так и сделано, только вместо класса я сделал метод в классе JournalFormTable. Но стоит требование конса делать это не по кнопке, а по редактированию даты(я этого не поддерживаю) отсюда проблема с ESC (см.выше)
|
|
![]() |
#4 |
Участник
|
Возможно действительно не стоит так серьёзно заморачиваться с синхронизацией дат в шапке и строках. А просто учесть возможность появления разсогласованных данных. И Добавить соответствующую проверку перед разноской, что мол даты в строках и шапке не совпадают. Поправить? Да. Нет.
|
|
![]() |
#5 |
Участник
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Сообщение от S.Kuskov
![]() Возможно действительно не стоит так серьёзно заморачиваться с синхронизацией дат в шапке и строках. А просто учесть возможность появления разсогласованных данных. И Добавить соответствующую проверку перед разноской, что мол даты в строках и шапке не совпадают. Поправить? Да. Нет.
|
|
![]() |
#6 |
Участник
|
Цитата:
Неа.Идя в том чтобы по максимому изолироваться от интерфейса пользователя. В данном случае таблицы содержат всю необходимую для работы информацию. Так зачем же логику переносить в методы источника данных какой-то конкретной формы. X++: InventJournalData = JournalTableData::construct(this);
InventJournalTransData = new JournalTransData(InventJournalTrans, InventJournalData); |
|
![]() |
#7 |
Участник
|
![]() Цитата:
Отрабатывайте. Перекрывайте аналогичным образом InventJournalTrans.update() и отрабатывайте. Да, возможно с update_recordset я погоричичлся. Можно добавить как минимум X++: while select InventJournalTrans where InventJournalTrans.JournalId == this.JournalId inventJournalTrans.inventMovement().journalSetTransDate(); Цитата:
Цитата:
Не понял вас. Нужен диалог который сможет влиять на что? изменение даты в InventJournalTable? Ну так это совершенно другая задача. Она никак не связана с последствиями смены этой даты. Вызывайте его например в методе validateWrite источника данных InentJournalTable. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|