Доброго времени суток! обращаюсь за помощью к знающим специалистам. Переписываю обработку импорта операций. На редакции 1.2 все работало а вот с управляемыми формами не все так гладко. ближе к теме: требуется создать "Операцию, введеную вручную" (документ ОперацияБух). в редакции 1.2 код выглядел так:
НовДок=Документы.ОперацияБух.СоздатьДокумент();
НовДок.Дата=ТекСтрока.ДатаОперации;
НовДок.Номер=пНомерДокумента;
НовДок.Организация=Организация;
НовДок.Ответственный=глЗначениеПеременной("глТекущийПользователь");
НовСтрока=НовДок.Движения.Хозрасчетный.Добавить();
НовСтрока.Активность=Истина;
//заполняю строки
Если НовДок.Движения.Хозрасчетный.Количество()>0 Тогда
НовДок.СуммаОперации=НовДок.Движения.Хозрасчетный.Итог("Сумма");
НовДок.Содержание = "Ручная операция по начислению процентов и пени";
НовДок.Записать(РежимЗаписиДокумента.Запись);
Сообщить("Создан документ " + НовДок);
ТекСтрока.Документ=НовДок.Ссылка;
КонецЕсли;
ОпБух=Документы.ОперацияБух.СоздатьДокумент();
ОпБух.Дата=КонецДня(КонПериода);
ОпБух.Организация=Организация;
ОпБух.СпособЗаполнения="Вручную";
СтрокаДвижения=ОпБух.Движения.Хозрасчетный.Добавить();
//заполняю свою строку
ОпБух.Записать(РежимЗаписиДокумента.Запись);
НовДок=Документы.ОперацияБух.СоздатьДокумент();
НовДок.Дата=ТекСтрока.ДатаОперации;
НовДок.Номер=пНомерДокумента;
НовДок.Организация=Объект.Организация;
НовДок.Ответственный=ПараметрыСеанса.ТекущийПользователь;
НовДок.Записать();
ДокОперацияСсылка = НовДок.Ссылка;
// 1.1 Ручная операция по начислению процентов ДТ373-КТ732
// движения по хозрасчетному
РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
РегХозрасчетный.Отбор.Регистратор.Значение = ДокОперацияСсылка;
НовСтрока=РегХозрасчетный.Добавить();
НовСтрока.Регистратор = ДокОперацияСсылка;
//далее заполняю из структуры данные в НовСтрока
РегХозрасчетный.Записать();
ни НовДок.Записать()
не помогают. sanytch @ Вчера, 12:06
,
Есть подозрение, что существует еще одна таб.часть с перечислением регистров. Для чего кнопка Выбор регистров на форме? Код вначале вполне работоспособный. Только комментарий в коде должен быть выше на 2 строки
ДокОперация = Документы.ОперацияБух.СоздатьДокумент();
ДокОперация.Дата = ДатаДокумента;
ДокОперация.Организация = Организация;
ДокОперация.Ответственный = ПараметрыСеанса.ТекущийПользователь;
ДокОперация.Содержание = "Содержание";
ДокОперация.Комментарий = "Комментарий";
ДокОперация.Записать();
ДокОперацияСсылка = ДокОперация.Ссылка;
// Добавляем в хозрастчет.
РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
РегХозрасчетный.Отбор.Регистратор.Значение = ДокОперацияСсылка;
// Если нужен другой регистр
РегНакопления = РегистрыНакопления.ДРУГОЙ_РЕГИСТР.СоздатьНаборЗаписей();
РегНакопления.Отбор.Регистратор.Значение = ДокОперацияСсылка;
Для Каждого Строка из Объект.ТАБЛИЧНАЯ_ЧАСТЬ_К_ ПРИМЕРУ Цикл
РегЗапись = РегХозрасчетный.Добавить();
РегЗапись.Период = ДатаДокумента;
РегЗапись.Регистратор = ДокОперацияСсылка;
РегЗапись.Организация = Организация;
РегЗапись.Содержание = Строка.Назначение;
РегЗапись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("СЧЕТ");
РегЗапись.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("СЧЕТ");
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "СУБКОНТОДТ", Строка.ДАННЫЕ);
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетКт, РегЗапись.СубконтоКт, "СУБКОНТОКТ", Строка.ДАННЫЕ);
РегЗапись.Сумма = Строка.ДАННЫЕ;
РегНакоп = РегНакопления.Добавить();
РегНакоп.Период = ДатаДокумента;
РегНакоп.Регистратор = ДокОперацияСсылка;
РегНакоп.Организация = Организация;
/* ЗАПОЛНЯЕЙТЕ ПО ТИПУ Регистра */
КонецЦикла;
// Не забывайте ЗАПИСАТЬ ВСЁ ЭТО ДЕЛО //
РегНакопления.Записать();
РегХозрасчетный.Записать();
ОпБух.СпособЗаполнения="Вручную";
НовДок.СуммаОперации=НовДок.Движения.Хозрасчетный.Итог("Сумма");
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua