Имя: Пароль:
1C
1С v8
Вопрос по программному созданию операции
0 nobody
 
25.10.13
01:32
Доброго времени суток!
Создаю операцию

Операция = Документы.ОперацияБух.СоздатьДокумент();
Операция.Дата = Строка.Дата;
Операция.Содержание = "";
Операция.Организация = Организация;
Операция.Ответственный = глЗначениеПеременной("глТекущийПользователь");

Движение = Операция.Движения.Хозрасчетный.Добавить();
Движение.Период = Строка.Дата;
Движение.Содержание = "Оплата наличными";
Движение.Организация = Организация;
//Движение.Регистратор = Операция;
Движение.СчетДт = ПланыСчетов.Хозрасчетный.КассаОрганизации;
Движение.СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтатьиДвиженияДенежныхСредств);
Движение.СчетКт = ПланыСчетов.Хозрасчетный.ВыручкаЕНВД;
Движение.СубконтоКт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы);
Движение.СубконтоКт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
Движение.Сумма = Строка.Сумма - Строка.СуммаКарта;
Операция.Записать();

Всё получается, проводка отражается в регистре и в отчетах, но если этот документ открыть в пользовательском режиме в заголовке появляется звездочка и при закрытии программа предлагает его сохранить, как я понимаю есть что-то, что я не заполняю, подскажите.
1 Zhuravlik
 
25.10.13
03:07
(1) звездочка - это флаг модифицированности. Если она появляется при открытии, значит какой-то реквизит в документе программно назначается. Надо смотреть в ОбновлениеОтображения, ПриОткрытии...
глЗначениеПеременной("глТекущийПользователь") - это проверь...
2 nobody
 
25.10.13
03:26
(1) ну да, я так и понимаю что она означает, вопрос только чего не хватает.

глЗначениеПеременной("глТекущийПользователь")  - вроде тут всё верно, возвращаемое значение - справочник "Пользователи", убираю эту строку - ничего не меняется.
3 rphosts
 
25.10.13
05:50
(2) перевожу: какие-то из реквизитов документа во время выполнения операции открытия формы (события ПриСоздании..., ПриОткрытии... и т.п.) происходит модификация реквизитов документа... назначать
4 rphosts
 
25.10.13
05:51
назначать реквизит Автор (или куда вы там пихаете текущего пользователя) при открытии - дурной тон, это нужно выполнять при сохранении
5 nobody
 
25.10.13
22:00
(4) а можно поподробней по поводу дурного тона, пруф или может список всех таких правил, в чем разница?
6 nobody
 
25.10.13
22:33
(0) проблему решил добавлением строки

Операция.СпособЗаполнения = "Вручную";
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс