Back to top

Заполнение документа ОперацияБух проводками.

Опубликовано e-1c@mail.ru - вт, 10/10/2017 - 09:41

Иногда ставится задача сформировать проводки в чистом виде (без специального документа), например когда возникает потребность убрать "зависшие" остатки.
Фрагмент когда заполнения документа по данным запроса, для решения такой задачи:

 Запрос = Новый Запрос("ВЫБРАТЬ первые 10000 
	|ХозрасчетныйОстатки.*
	|ИЗ 
	|	РегистрБухгалтерии.Хозрасчетный.Остатки(ДАТАВРЕМЯ(2016,06,30,23,59,59), 
	|	Счет.Код = ""19.09"" , , )
	|   КАК ХозрасчетныйОстатки 
	|");
 
 Выборка = Запрос.Выполнить().Выбрать();
 
 
 _Опер =  Документы.ОперацияБух.НайтиПоНомеру("777777777", Дата("77771010")).ПолучитьОбъект();
 Сообщить("_Опер   "+_Опер.Комментарий);
_Сч19 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("19.09"); 
_Сч91 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("91.02"); 
_Проч = Справочники.ПрочиеДоходыИРасходы.НайтиПоКоду("33333333");
 
_РегХР = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
_РегХР.Отбор.Регистратор.Значение = _Опер.Ссылка;
 
 
 Ч = 0;
 Пока Выборка.Следующий() цикл
 Ч = Ч + 1;
   Попытка
 
    _РегЗапись = _РегХР.Добавить();
    _РегЗапись.Период = _Опер.Дата;
    _РегЗапись.Регистратор = _Опер.Ссылка;
    _РегЗапись.Организация = _Опер.Организация;
    _РегЗапись.Содержание  = "правка 19 .....  ";
    _РегЗапись.СчетДт = _Сч91;
    _РегЗапись.СчетКт = _Сч19;
    _РегЗапись.Сумма = Выборка.СуммаОстаток;
    БухгалтерскийУчет.УстановитьСубконто(_РегЗапись.СчетДт, _РегЗапись.СубконтоДт, "ПрочиеДоходыИРасходы", _Проч);
    БухгалтерскийУчет.УстановитьСубконто(_РегЗапись.СчетДт, _РегЗапись.СубконтоДт, "РеализуемыеАктивы", Выборка.Субконто1);
    БухгалтерскийУчет.УстановитьСубконто(_РегЗапись.СчетКт, _РегЗапись.СубконтоКт, "Контрагенты", Выборка.Субконто1);
    БухгалтерскийУчет.УстановитьСубконто(_РегЗапись.СчетКт, _РегЗапись.СубконтоКт, "СФПолученные", Выборка.Субконто2);
 
    Сообщить("  "+Ч+"   "+Выборка.Субконто1);
   Исключение
    Сообщить("ошибка "+ОписаниеОшибки());
   КонецПопытки;
 КонецЦикла;
 
 _РегХР.Записать();