Имя: Пароль:
1C
 
Что добавить в рабочий код8.1,чтобы при создании операции в8.3таблица заполнилас
0 Девушка-Вамп
 
27.01.15
06:34
делаю так:

//создаём документ, заполняем реквищиты шапки и записываем его
НовДок = Документы.ОперацияБух.СоздатьДокумент();
НовДок.Дата        = Строка.DAT;
НовДок.Номер    = Строка.CODE;
НовДок.Организация                = ОпределитьОрганизацию(НовДок,Строка.Organiz);
НовДок.Комментарий    = ТекстКомментария;
НовДок.Содержание    = Строка.Soder;
Попытка
   НовДок.Записать();
Исключение
   Сообщить(ОписаниеОшибки());
КонецПопытки;    

//заполняем хозрасчётные движения
Для Каждого СтрокаТЧ Из СтрокиТЧ Цикл
   НовоеДвижение = НовДок.Движения.Хозрасчетный.Добавить();
   НовоеДвижение.Период     = НовДок.Дата;
   НовоеДвижение.Организация  = НовДок.Организация;
   НовоеДвижение.Регистратор  = НовДок.Ссылка;
   НовоеДвижение.СчетДт    = ПланыСчетов.Хозрасчетный.НайтиПоКоду(СокрЛП(СтрокаТЧ.SchetDT));
   НовоеДвижение.СчетКт    = ПланыСчетов.Хозрасчетный.НайтиПоКоду(СокрЛП(СтрокаТЧ.SchetKT));
   БухгалтерскийУчет.УстановитьСубконто(НовоеДвижение.СчетДт , НовоеДвижение.СубконтоДт, 1, ЗначениеСубконтоД1);
   БухгалтерскийУчет.УстановитьСубконто(НовоеДвижение.СчетДт , НовоеДвижение.СубконтоДт, 2, ЗначениеСубконтоД2);
   БухгалтерскийУчет.УстановитьСубконто(НовоеДвижение.СчетДт , НовоеДвижение.СубконтоДт, 3, ЗначениеСубконтоД3);
   БухгалтерскийУчет.УстановитьСубконто(НовоеДвижение.СчетКт , НовоеДвижение.СубконтоКт, 1, ЗначениеСубконтоК1);
   БухгалтерскийУчет.УстановитьСубконто(НовоеДвижение.СчетКт , НовоеДвижение.СубконтоКт, 2, ЗначениеСубконтоД2);
   БухгалтерскийУчет.УстановитьСубконто(НовоеДвижение.СчетКт , НовоеДвижение.СубконтоКт, 3, ЗначениеСубконтоД3);
   НовоеДвижение.Сумма     = СтрокаТЧ.SUMMA;
   НовоеДвижение.КоличествоДт = СтрокаТЧ.KolichDT;
   НовоеДвижение.КоличествоКт = СтрокаТЧ.KolichKT;
   НовоеДвижение.Активность   = Истина;
КонецЦикла;

//считаем сумму по документу
НовДок.СуммаОперации = 0;
Для каждого Проводка Из НовДок.Движения.Хозрасчетный Цикл
   НовДок.СуммаОперации = НовДок.СуммаОперации + Проводка.Сумма;
КонецЦикла;

//и снвоа записываем документ
Попытка
   НовДок.Записать();
Исключение
   Сообщить(ОписаниеОшибки());

в итоге получаем документ с заполненной шапкой и !!!посчитанной суммой документа!!! но при этом таблица документа пустая, и проводок по нему никаких нет.
Что я упусти? на 8.1 такой код прекрасно срабатывал, а здесь не хочет.
нашла что нужно активность проводки прописывать - сделала, всё-равно не помогло
смущает ещё тот факт - что сумма по всему документу заполнилась (я же её из проводок беру)
1 Cube
 
27.01.15
06:38
(0) 8.1, 8.3... Ты что, дворник? В платформе нет документов. Вообще никаких. Они есть в конфе, название которой ты не сообщаешь...

И фотки нет...
2 Девушка-Вамп
 
27.01.15
06:45
(1) конфигурация Бухгалтерия Предприятия 3.0.37.36, только какая разница - какая конфигурация? документ "Операции, введенные вручную" во всех одинаковый.
3 Cube
 
27.01.15
06:47
(2) В конфе по учету недодоя коров такого документа не встречал...
А в БП ты скорее всего ТЧ документа не заполнила. Там названия регистров надо описать.
4 Девушка-Вамп
 
27.01.15
06:48
(3) я имела в виду или он есть, или его нет, а если есть - то везде одинаковый :) жаль смайла краснеющего нет )
5 hawksib
 
27.01.15
06:50
(2) а че в докумете "Операция" есть набор движений "СтрокиТЧ"? а фото надо топлес
6 Рэйв
 
27.01.15
06:52
(0)Попробуй
НовДок.Движения.Записать()
7 hawksib
 
27.01.15
07:00
(5) че такое строики ТЧ вообще?
8 АНДР
 
27.01.15
07:02
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Записать (Write)
Синтаксис:

Записать(<РежимЗаписи>, <РежимПроведения>)
Параметры:

<РежимЗаписи> (необязательный)

Тип: РежимЗаписиДокумента.
Позволяет выбрать один из возможных режимов записи.
Значение по умолчанию: Запись.




РежимЗаписиДокумента (DocumentWriteMode)
РежимЗаписиДокумента (DocumentWriteMode)
Значения

Запись (Write)
ОтменаПроведения (UndoPosting)
Проведение (Posting)

Описание:

Определяет набор режимов записи документа.
9 Девушка-Вамп
 
27.01.15
07:07
(5), (7) строкиТЧ - это таблица значений, из которой данные берутся, для формирования проводок по д-ту операция

(6) спасибо! сейчас попробую

(8) это я знаю, как к моему случаю применить? документ операция отличается же от обычных документов - его проводить не нужно (ну по крайней мере в 8.1, если при попытке провести операцию, использовать это: НовДок.Записать(РежимЗаписиДокумента.Проведение),
то выдаётся ошибка
10 Cube
 
27.01.15
07:15
(9) А я повторяю вопрос (3) в документе ОперацияБух 4 ТЧ (я посмотрел). Ты хоть одну заполнила?
11 Галахад
 
гуру
27.01.15
07:19
А если так:

   НовДок.Движения.Хозрасчетный.Отбор.Регистратор.Установить(НовДок.Ссылка);
   НовДок.Движения.Хозрасчетный.Записать();
12 Sergz66
 
27.01.15
07:41
Ну чего накинулись? в БП3 у регистров появилось новое доп.свойство Записывать, его нужно в Истину установить:
Набор.Записывать = Истина;
13 Девушка-Вамп
 
27.01.15
09:04
(10) там их не 4-ре. а три, (одна помечена, как удалить) и они по смыслу к созданию хозрасчётных движений не подходят.

(8) если в 8.3 у документа операции режим записи поставить проведение - тоже ошибка выдаётся.

(11) при попытке установить отбор ошибка выходит, что к процедуре как к функции обращаются.

(12) спасибо Вам огромное!!! всё получилось!!!!
14 Sergz66
 
27.01.15
18:59
(13) Всегда пожалуйста! Сам кучу времени убил, переписывая правила обмена УПП-БП, после обновления последней на БП3.0
Программист всегда исправляет последнюю ошибку.