Имя: Пароль:
1C
1С v8
Запись документа "ОперацияБух"
,
0 NeAdmin
 
08.06.12
10:31
Добрый день! Нужна помощь в записи данного документа.

       НовДок = Документы.ОперацияБух.СоздатьДокумент();
       НовДок.Дата = ДатаДок;
       НовДок.Ответственный = глЗначениеПеременной("глТекущийПользователь");
       НовДок.Организация = глЗначениеПеременной("ОсновнаяОрганизация");
       НовДок.Комментарий = "Номер реестра: "+СтрЗаменить(ТЗ[НомерСтроки][1],Символы.НПП,"");
       НовДок.СуммаОперации = Число(ТЗ[НомерСтроки][4]);

и т.д. заполнение документа с различными проверками целостности получаемой информации. В итоге документ создается, верно заполненный. Далее для записи использую такую конструкцию:
       
           НовДок.Модифицированность();
           НовДок.Записать();
           Для каждого проводки из НовДок.Движения цикл
               проводки.Прочитать();
               Проводки.Записать();    
           КонецЦикла;

Изначально было просто:
           НовДок.Записать();
все остальное добавлял эксперементально.
Проблема в следующем: документ заполняется верно и записывается. Проводки создаются с реквизитом Активность=Истина, в журнале документов созданный документ есть со всеми проводками, а в обаротке проводок от документа НЕТ, они там появляются только если открыть созданный документ и нажать кнопку Записать непосредственно на форме документа, каких либо ошибок не выдает. В чем может быть причина такого странного поведения? Хэлп!)
Спасибо.
1 Maxus43
 
08.06.12
10:35
это зачем?            НовДок.Модифицированность();
2 Eugene_life
 
08.06.12
10:35
(0) А провести документ религия не позволяет? НовДок.Записать(РЕжимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативное);
3 Maxus43
 
08.06.12
10:36
>>и т.д. заполнение документа с различными проверками целостности получаемой информации
rкак именно?\
надо просто создать набор записей и ему установить регистратор - твой док Операция.
4 Maxus43
 
08.06.12
10:36
(2) ето ОперацияБух
5 Eugene_life
 
08.06.12
10:36
(1) А это магическое заклинание :)
6 ХочуСказать
 
08.06.12
10:37
(0) организацию и период  в движениях заполни
7 Eugene_life
 
08.06.12
10:38
(4) Ага.. был неправ по невнимательности. Значит, не все заполняет.
8 Kreont
 
08.06.12
10:39
Пример:
Документ = Документы.ОперацияБух.СоздатьДокумент();
Документ.Дата = ДатаДокументаОперації;
Документ.Организация = ВыбраннаяОрганизация;
Документ.Ответственный = глЗначениеПеременной("глТекущийПользователь");
Документ.Содержание = "Програмна операція";
Документ.Записать();

НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Документ.Ссылка);

// Это в цикл

Движение = НаборЗаписей.Добавить();
Движение.Регистратор = Документ.Ссылка;
Движение.Период = ДатаДокументаОперації;
Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("26");
БухгалтерскийУчет.УстановитьСубконто(Движение.СчетДт, Движение.СубконтоДт, 1, Выборка.Субконто1);
БухгалтерскийУчет.УстановитьСубконто(Движение.СчетДт, Движение.СубконтоДт, 2, Выборка.Субконто2);
БухгалтерскийУчет.УстановитьСубконто(Движение.СчетДт, Движение.СубконтоДт, 3, Выборка.Субконто3);
Движение.НалоговоеНазначениеДт = Выборка.НалоговоеНазначение;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("00");
Движение.Организация = ВыбраннаяОрганизация;
Движение.Сумма = 0;
Движение.СуммаНУДт = ОбрахованаСумаПО;
Движение.Содержание = "Коригування сум в ПО";
//Если цикл, тогда тут конец цикла :)
НаборЗаписей.Записать();
9 NeAdmin
 
08.06.12
13:05
Хм. Написал сообщение и в офисе свет отрубили)
(1) Это уже от безысходности добавил, видел в коде записи проверку на модифицированность, смысла не нашел в той строчке и потому на всякий случай решил принудительно задать.
(8) Благодарю. Сейчас посмотрю что у меня упущено))
10 Naumov
 
08.06.12
13:08
(9) Организацию в записи регистра не ставишь. не ходи к гадалке
11 NeAdmin
 
08.06.12
13:09
(3) Вот скорей всего регистратор то я и не присвоил. Предположил что документ сам при записи задаст это значение.
12 NeAdmin
 
08.06.12
13:11
(10) Верно)
13 NeAdmin
 
08.06.12
13:17
Все заработало. Всем большое спасибо!
В отпуск мне походу надо)