Имя: Пароль:
1C
1С v8
Кажется я что-то не так делаю
0 izekia
 
27.10.11
18:42
В общем есть у меня реквизит на форме документа, он не является реквизитом шапки документа, при записи мне нужно, чтобы документ определенным образом модифицировался

В общем если ставить эту обработку в перед записью или при записи, то получаем не нужный эффект модифицированности, даже если модификация не отрабатывает.

Как лучше сделать? добавить его уже в шапку документа? Менять сразу при изменении конечно правильно, но не хотелось бы. Или я что-то неправильно делаю?
1 Mort
 
27.10.11
18:44
Присваивай косвенные значения реквизитов документа безопасно.
2 izekia
 
27.10.11
18:51
в смысле?
3 Mort
 
27.10.11
18:53
Ну по значению поля на форме у тебя перед записью присваиваются некоторые значения реквизитам документа? Присваивай только тогда когда они изменились

Если Контрагент <> НужныйКонтрагент Тогда
 Контрагент = НужныйКонтрагент;
4 izekia
 
27.10.11
18:56
да это понятно, проблема в том, что если я делаю перед записью это, даже если установка не отрабатывает, то есть значение не менялось, то все равно выскакивает табличка, что данные изменены и не хотите ли записать? и это пля по нажатию кнопки записать, красота)
5 izekia
 
27.10.11
18:57
если в при записи, то тоже неплохо, после нажатия на кнопку записать у документа появляется звездочка модифицированности
опять же просто выполняется проверка и ничего больше не меняется
6 Mort
 
27.10.11
18:59
(4) Это у тебя уже в при записи что-то наворочено, или в подписках например. В перед записью такое поведение трудно вызвать.
7 izekia
 
27.10.11
19:10
(6) Вот кот:
ОбщийРеквизит пустой, но в общем я уже решил уйти от этих танцев

Процедура ПередЗаписью(Отказ)
   Если НЕ ОбщийРеквизит.Пустая() Тогда
       Для каждого строка из ТЧ Цикл
           строка.Реквизит = ОбщийРеквизит;
       КонецЦикла;
   КонецЕсли;
КонецПроцедуры
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.