P
Programmer_Hard
Сделал стандартную свертку базы на 31.12.09
В результате в новой базе забалансовые счета оказались с нулевыми остатками на начало года, те свертка wrap не перенесла их остатки. Один забалансовый счет "под" имеет 4 субконто и в новой базе бухгалтерам очень нужны остатки на этом счете, развернутые по всем субконто.
Отсюда появилась задача, перед сверткой старой базы выполнить обработку, которая бы сформировала на 01.01.10 операцию ввода остатков для забалансового счета "под". После чего свернуть все стандартным wrap на 31.12.09 и получить свернутую базу с остатками на забалансовом счете "под".
Вот сообственно хотел бы узнать, есть ли такая обработка у кого нибудь?
Если нет, то очень жаль . Придется писать самому
Алгоритм в принципе прост. Нужно выполнить бух запрос для получения остатков на дату свертки, и потом создать операцию с проводками "под":00 и 00:"под" с субконтами.
Как правильно задать бух запрос?
Вот примерно так написал на блокноте:
ПС:Сорри за много букв) просто 2 дня ищу по теме в интернете про свертку забалансовых счетов и ничего не могу найти(
В результате в новой базе забалансовые счета оказались с нулевыми остатками на начало года, те свертка wrap не перенесла их остатки. Один забалансовый счет "под" имеет 4 субконто и в новой базе бухгалтерам очень нужны остатки на этом счете, развернутые по всем субконто.
Отсюда появилась задача, перед сверткой старой базы выполнить обработку, которая бы сформировала на 01.01.10 операцию ввода остатков для забалансового счета "под". После чего свернуть все стандартным wrap на 31.12.09 и получить свернутую базу с остатками на забалансовом счете "под".
Вот сообственно хотел бы узнать, есть ли такая обработка у кого нибудь?
Если нет, то очень жаль . Придется писать самому
Алгоритм в принципе прост. Нужно выполнить бух запрос для получения остатков на дату свертки, и потом создать операцию с проводками "под":00 и 00:"под" с субконтами.
Как правильно задать бух запрос?
Вот примерно так написал на блокноте:
Код:
Опер = СоздатьОбъект("Операция");
Опер.Новая();
Опер.ДатаОперации = "01.01.10";
Опер.Содержание = "ВВод остатков ПОД";
би=СоздатьОбъект("БухгалтерскиеИтоги");
би.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
би.ИспользоватьСубконто(ВидыСубконто.Номенклатура);
би.ИспользоватьСубконто(ВидыСубконто.Месяца);
би.ИспользоватьСубконто(ВидыСубконто.Цены);
би.ВыполнитьЗапрос(,"31.12.09","ПОД",,,1,,"СК");
би.ВыбратьСубконто(1);
Пока би.ПолучитьСубконто(1)=1 Цикл
би.ВыбратьСубконто(2);
Пока би.ПолучитьСубконто(2)=1 Цикл
би.ВыбратьСубконто(3);
Пока би.ПолучитьСубконто(3)=1 Цикл
би.ВыбратьСубконто(4);
Пока би.ПолучитьСубконто(4)=1 Цикл
//Здесь мне нужно записать в операцию ввода остатков:
Опер.НоваяПроводка();
Если (би.СКД("С")<>0) тогда
Опер.Д*цензура*.Счет = СчетПокоду("ПОД");
Опер.Д*цензура*.Контрагенты =би.Субконто(1);
Опер.Д*цензура*.Номенклатура=би.Субконто(2);
Опер.Д*цензура*.Месяца =би.Субконто(3);
Опер.Д*цензура*.Цены=би.Субконто(4);
Опер.Сумма = би.СКД("С");
Опер.Количество=би.СКД("К");
Иначе
Опер.Кредит.Счет = СчетПокоду("ПОД");
Опер.Кредит.Контрагенты =би.Субконто(1);
Опер.Кредит.Номенклатура=би.Субконто(2);
Опер.Кредит.Месяца =би.Субконто(3);
Опер.Кредит.Цены=би.Субконто(4);
Опер.Сумма = би.СКК("С");
Опер.Количество=би.СКК("К");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Опер.Документ.УстановитьНовыйНомер();
Опер.Записать();