• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Перенос остатков забалансового счета

  • Автор темы Programmer_Hard
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

Programmer_Hard

Сделал стандартную свертку базы на 31.12.09
В результате в новой базе забалансовые счета оказались с нулевыми остатками на начало года, те свертка 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);
Опер.Сумма = би.СКК("С"); 
Опер.Количество=би.СКК("К");
КонецЕсли;
КонецЦикла; 
КонецЦикла; 
КонецЦикла; 
КонецЦикла; 
Опер.Документ.УстановитьНовыйНомер(); 
Опер.Записать();
ПС:Сорри за много букв) просто 2 дня ищу по теме в интернете про свертку забалансовых счетов и ничего не могу найти(
 
V

vitfil

Навскидку... Не пробовали смотреть в отладчике, а не в интернете искать?
 
P

Programmer_Hard

Навскидку... Не пробовали смотреть в отладчике, а не в интернете искать?
Что смотреть в отладчике? Искал я именно кто как решал задачу свертки забалансовых счетов, тк стандартный врап просто очищает счет и не вводит никаких остатков.

Приведенный код выше к сожалению не подходит, дает неправильные остатки.
 
V

vbs

стандартный врап просто очищает счет и не вводит никаких остатков.
Это не совсем так.
Но важно выяснить, добавлен этот счет был через конфигуратор или нет ?
Есть, правда, и безумная гипотеза - субконто дефектного счета имеют галочку "только обороты "
Стандартную WRAP переделать вряд ли удастся.Свое-то всегда надежнее
См. личное письмо
 
P

Programmer_Hard

vbs, спасибо большое за обработку!

Беру свои слова обратно, врап действительно сворачивает забалансовые счета нормально, счет дествительно "дефектный" -осв по счету показвает одно, о осв общее показывает совсем другие остатки, те например конечное сальдо на 2004 год не равно начальному сальдо на 2005г, а вроде как равно оборотам за предыдущие года, хотя может что путаю...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!