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

Тема в разделе "1C и всё что с ней связано", создана пользователем -, 16 апр 2010.

  1. Гость

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

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

    Hryv Гость

    В модуле формы

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

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

    КонецПроцедуры //ПриЗаписи
    Если ПриЗаписи() там уже есть, то просто в нее добавить фрагмент кода
     
  3. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Зачем это делать при записи документа, можете пояснить?
    Что будет при повторной записи документа?
    Не проще ли повесить процедуру на колонку с состоянием? Не только проще, но и грамотней.
     
  4. Hryv

    Hryv Гость

    ;)

    Если надо чтобы даты не менялись, то можно подправить

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

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

    КонецПроцедуры //ПриЗаписи
     
  5. Гость

    Всем спасибо!!! В итоге воспользовался вашим советом и повесил процедуру на колонку...
     
  6. Hryv

    Hryv Гость

    Кстати, по колонке тоже можно несколько раз пощелкать и дату испортить, если в процедуре не предусмотреть обработку этой ситуации
     
  7. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Hryv, ну, я не приводил текста процедуры - думаю сам догадается. А вообще, я бы поставил не проверку, но
    ВыполнятьФормулуТолькоПриИзменении(...)
     
Загрузка...

Поделиться этой страницей