Табличная часть документа

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

Конф-ция: 1С Бухгалтерия 7.7
Имеется табличная часть в документе... Имеется реквизит Состояние, которые привязан к одноименному перечислению.. Может принимать 2 положения: Выкуплен, НеВыкуплен (по умолч)
Также имеется реквизит ДАтаВыкупа (по умол. пустое), надо сделать следующее:

После редактирования всех полей табличной части, пользовательно проставляет Состояние где надо в Выкуплен... При записи документа, необходимо пройтись по записям и в строках где появилось Выкуплен установить ДАтаВыкупа = ТекущаяДата();
 
В модуле формы

Код:
//*----*----*----*----*----*----*----*----*----*----*----*----*----*----*
Процедура ПриЗаписи()

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если Состояние = Перечисление.Состояние.Выкуплен Тогда
ДАтаВыкупа = ТекущаяДата(); 
КонецЕсли;
КонецЦикла;

КонецПроцедуры //ПриЗаписи

Если ПриЗаписи() там уже есть, то просто в нее добавить фрагмент кода
 
Зачем это делать при записи документа, можете пояснить?
Что будет при повторной записи документа?
Не проще ли повесить процедуру на колонку с состоянием? Не только проще, но и грамотней.
 
Не проще ли повесить процедуру на колонку с состоянием? Не только проще, но и грамотней.
;)

Что будет при повторной записи документа?
Если надо чтобы даты не менялись, то можно подправить

Код:
//*----*----*----*----*----*----*----*----*----*----*----*----*----*----*
Процедура ПриЗаписи()

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если (Состояние = Перечисление.Состояние.Выкуплен) и (ПустоеЗначение(ДАтаВыкупа)=1) Тогда
ДАтаВыкупа = ТекущаяДата(); 
КонецЕсли;
КонецЦикла;

КонецПроцедуры //ПриЗаписи
 
Всем спасибо!!! В итоге воспользовался вашим советом и повесил процедуру на колонку...
 
Кстати, по колонке тоже можно несколько раз пощелкать и дату испортить, если в процедуре не предусмотреть обработку этой ситуации
 
Hryv, ну, я не приводил текста процедуры - думаю сам догадается. А вообще, я бы поставил не проверку, но
ВыполнятьФормулуТолькоПриИзменении(...)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!