# Форум 1С > Конфигурирование, программирование 1С - Предприятие > 1С - Предприятие 8.0, 8.1, 8.2, 8.3 >  Нужна обработка для УПП

## ivanin5

Нужна обработка на УПП 1.3.хх аналогичная ОборотноСальдовойВедомост  и по счету 60 с группировкой только по контрагента без разбивки по субсчетам, и в одной форме необходимы колонки Дт/Кт на каждый месяц года (СуммаНачальныйРазвернуты  ОстатокДт и Кт) 

P/S Плачу 500 р. за готовую работу

либо подсказать почему в коде запроса на выборку
ВЫБОР
	КОГДА ЕСТЬNULL(ВТ_60_1.Поле3, 0) - ЕСТЬNULL(ВТ_60_2.Поле4, 0) - ЕСТЬNULL(ВТ_60_1.Поле4, 0) + ЕСТЬNULL(ВТ_60_2.Поле3, 0) < 0
	ТОГДА -ЕСТЬNULL(ВТ_60_1.Поле3, 0) + ЕСТЬNULL(ВТ_60_2.Поле4, 0) + ЕСТЬNULL(ВТ_60_1.Поле4, 0)-ЕСТЬNULL(ВТ_60_2.Поле3, 0)
	ИНАЧЕ 0
КОНЕЦ

в столбце среди 100 правильных вычислений попадает пара с неправильным значением

----------


## zay

Модифицированный отчет "Оборотно-сальдовая ведомость по счету из конфигурации УПП 1.3

Изменения в стандартном отчете:

Все вхождения в модуле отчета
|	РегистрБухгалтерии."+ИмяРе  истраБухгалтерии+".Остатки  ИОбороты(&ДатаНач, &ДатаКон, , , Счет В ИЕРАРХИИ (&Счет),
заменены на
|	РегистрБухгалтерии."+ИмяРе  истраБухгалтерии+".Остатки  ИОбороты(&ДатаНач, &ДатаКон, Месяц, , Счет В ИЕРАРХИИ (&Счет),

В процедуре *ЗаполнитьНачальныеНастрой  ки()* модуля отчета, после инициализации переменных
	ТекстПоля = "";
	ТекстОтбор = "";
	ТекстИтоги = "";
	ТекстПорядок = "";
добавлен фрагмент
	ТекстПоля = ТекстПоля + ", " + " ОстаткиИОбороты.Период" + " КАК Период";
	ТекстИтоги = ТекстИтоги + ", Период";
	ТекстПорядок = ТекстПорядок + ", Период";

В процедуре *ОбработкаВыбораСчета()* модуля отчета, после вызова 
              БухгалтерскиеОтчеты.Сформ  роватьПервоначальныйОтбо  ПостроителяПоСубконто(Пос  троительОтчета, Счет);
вставить
	БухгалтерскиеОтчеты.Сформ  роватьПервоначальныйОтбо  ПостроителяПоСубконто(Пос  троительОтчета, Счет);

	ВставитьИзмерениеСтрокиПе  риодВПостроительОтчета();

сама процедура *ВставитьИзмерениеСтрокиПе  риодВПостроительОтчета()*
Процедура ВставитьИзмерениеСтрокиПе  риодВПостроительОтчета()

	ПОЗИЦИЯ_В_СПИСКЕ = 0;

	новСтрокаИзмерения = ПостроительОтчета.Измерен  яСтроки.Вставить("Период", "Период", ТипИзмеренияПостроителяОт  чета.Элементы,,,ПОЗИЦИЯ_В_СП  ИСКЕ);

КонецПроцедуры


Отчет использовать как обычную оборотно-сальдовую ведомость. Только в группировках появилась возможность добавлять группу *"Период"* (только помесячно). Можно группировать как в порядке (период, контрагент), так и (контрагент, период)

----------


## ivanin5

В отчете нужно сделать группировку по месяцам не в строках а по столбцам т.е. 
Субконто  - Январь(Дт / Кт) - Февраль (Дт / Кт)....    или Субконто -01.01.2012(Дт)-01.01.2012(Кт)-01.02.2012(Дт)-01.02.2012(Кт)....
Суммы начального  развернутого остатка по Дт и Кт достаточно (2 колонки вместо 6)

----------


## zay

1. Понятно что отчет надо делать "с нуля", а не модифицировать текущий функционал. Навскидку - отчет простой, часа на 4. Если бы у меня в наработках было что-то похоже - "подкрутил" и выложил бы. Но "писать" новый - нет, не интересно.

2. *Субконто - Январь(Дт / Кт) - Февраль (Дт / Кт)....* 
Тут какая-то формула, смысл которой мне с первого взгляда непонятен. Подозреваю что не мне одному. Исходя из вашего  первого поста можно понять что нужны обороты по контрагенту помесячно (по колонкам), из второго - что уже не обороты, а некие расчетные данные (остаток накопительным итогом с начала года?). Должна присутствовать четкая постановка задачи. Очень желательно - с примером.

----------


## ivanin5

http://ifolder.ru/30827504  выложил пример результата, который должен получится, 



> Субконто - Январь(Дт / Кт) - Февраль (Дт / Кт)....


 имел в виду возможную очередность по колонкам по периодам.

http://ifolder.ru/30827699  Пробовал писать сам со своими начальными знаниями, суммировал 60,01 и 60,02. По формуле поле должно заполняться либо кредит либо дебит, но иногда выскакивает одновременно и там и там, в остальном все совпадает (по цифрам) со стандартной обработкой. Можно доработать мою, там я создавал временные таблицы в запросе по каждому счету и на один месяц, так как данные началного остатка первого месяца совпадают с данными начала второго то делал не 12 а 6 периодов, потом формировал в итоговом запросе 60 ый счет из первых двух. в названии ВТ- временная таблица 60_01 -субсчет 60.01 и последних 2 символа период.

----------


## zay

Сделал. Ссылка на отчет
Проверяй. Отпишись по результатам.

----------


## ivanin5

Извиняюсь что долго не отписывался,показывал бухгалтеру проверить цифры. Вполне устраивает, только нужно дополнить итогом в конце колонок. Жду реквизитов для оплаты за труд.

----------


## zay

Дополнил итогами. Нашел и исправил ошибку (были возможны дубли контрагентов)
Новая ссылка на отчет

----------

