|
Обработка 62 счета | ☑ | ||
---|---|---|---|---|
0
Яна93
17.07.13
✎
10:48
|
Пытаюсь сделать обработку по 62 счету..
Но таблица выходит пустая..значения заполняются только в колонке Сумма у оплате..и те не верные.. В общем в отчете следующие кошонки: Принципал, Сальдо начало периода, ОборотДт, ОборотКт, Сальдо конец периода, Сумма к оплате и Оплата пропорционально. Код выглядит следующим образом: Процедура Обороты62(ТабДок, КонецПериода, НачалоПериода, Организация, Счет62) Экспорт Общаясумма =0; Макет =ПолучитьМакет("Обороты62"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт) КАК НОКт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК ОборотДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт) КАК КОКт, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК НОДт |ПОМЕСТИТЬ РБХоз |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет = &Счет62, , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты | |СГРУППИРОВАТЬ ПО | ХозрасчетныйОстаткиИОбороты.Субконто1, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Ю_ТранзакцииОбороты.Принципал, | СУММА(Ю_ТранзакцииОбороты.СуммаНаТООборот) КАК СуммаНаТООборот |ПОМЕСТИТЬ Оборот62Кт |ИЗ | РегистрНакопления.Ю_Транзакции.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Ю_ТранзакцииОбороты |ГДЕ | Ю_ТранзакцииОбороты.Контрагент <> Ю_ТранзакцииОбороты.Принципал | |СГРУППИРОВАТЬ ПО | Ю_ТранзакцииОбороты.Принципал |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Ю_ТранзакцииОбороты.Принципал, | СУММА(Ю_ТранзакцииОбороты.СуммаНаТООборот) КАК СуммаНаТООборот1 |ПОМЕСТИТЬ оборотмой |ИЗ | РегистрНакопления.Ю_Транзакции.Обороты(&НачалоПериода, &Так, , ) КАК Ю_ТранзакцииОбороты |ГДЕ | Ю_ТранзакцииОбороты.Контрагент <> Ю_ТранзакцииОбороты.Принципал | |СГРУППИРОВАТЬ ПО | Ю_ТранзакцииОбороты.Принципал |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РБХоз.Контрагент, | РБХоз.НОКт, | РБХоз.ОборотДт, | РБХоз.КОКт, | Оборот62Кт.СуммаНаТООборот, | РБХоз.НОДт |ПОМЕСТИТЬ РБТранз |ИЗ | РБХоз КАК РБХоз | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Оборот62Кт КАК Оборот62Кт | ПО РБХоз.Контрагент = Оборот62Кт.Принципал |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Ю_ВзаиморасчетыСПринципаламиОстатки.Принципал, | СУММА(Ю_ВзаиморасчетыСПринципаламиОстатки.СуммаВзаиморасчетовОстаток) КАК СуммаКОплате |ПОМЕСТИТЬ Сумма5Дней |ИЗ | РегистрНакопления.Ю_ВзаиморасчетыСПринципалами.Остатки(&День5, ) КАК Ю_ВзаиморасчетыСПринципаламиОстатки | |СГРУППИРОВАТЬ ПО | Ю_ВзаиморасчетыСПринципаламиОстатки.Принципал |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(РБТранз.Контрагент, оборотмой.Принципал) КАК Контрагент, | ЕСТЬNULL(РБТранз.НОКт, 0) КАК НОКт, | ЕСТЬNULL(РБТранз.ОборотДт, 0) КАК ОборотДт, | ЕСТЬNULL(РБТранз.КОКт, 0) КАК КОКт, | ЕСТЬNULL(РБТранз.СуммаНаТООборот, 0) КАК СуммаНаТООборот, | ЕСТЬNULL(оборотмой.СуммаНаТООборот1, 0) КАК СуммаНаТООборот1, | ЕСТЬNULL(РБТранз.НОДт, 0) КАК НОДт |ИЗ | оборотмой КАК оборотмой | ЛЕВОЕ СОЕДИНЕНИЕ РБТранз КАК РБТранз | ПО (РБТранз.Контрагент = оборотмой.Принципал) | |УПОРЯДОЧИТЬ ПО | оборотмой.Принципал.Наименование"; Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | ДнейЗадержки.Принципал КАК Принц, | ДнейЗадержки.КолДней КАК Кол |ИЗ | РегистрСведений.ДнейЗадержки КАК ДнейЗадержки"; ТаблЗн=Запрос1.Выполнить().Выгрузить(); Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода)); Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода)); Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Счет62", Счет62); Запрос.УстановитьПараметр("День5", НачалоДня(КонецПериода)-4*60*60*24 ); Запрос.УстановитьПараметр("так", КонецДня(КонецПериода) ); сумма=запрос.Выполнить().Выбрать(); Пока сумма.Следующий() цикл общаясумма=общаясумма+сумма.НОКт-сумма.ОборотДт+ сумма.СуммаНаТООборот1; конеццикла; ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); Результат =Запрос.Выполнить(); ВыборкаДетали = Результат.Выбрать(); Пока ВыборкаДетали.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); Если ВыборкаДетали.НОКт = 0 Тогда ОбластьДетальныхЗаписей.Параметры.НОКт =-ВыборкаДетали.НОДт КонецЕсли; СуммаНаОплату=ВыборкаДетали.НОКт-ВыборкаДетали.ОборотДт+ ВыборкаДетали.СуммаНаТООборот1; ОбластьДетальныхЗаписей.Параметры.СуммаКОплате =ВыборкаДетали.НОКт-ВыборкаДетали.ОборотДт+ ВыборкаДетали.СуммаНаТООборот1; ОбластьДетальныхЗаписей.Параметры.руками=ВыборкаДетали.НОКт+ВыборкаДетали.СуммаНаТООборот-ВыборкаДетали.ОборотДт; Найденная=ТаблЗн.Найти( ВыборкаДетали.Контрагент, "Принц"); Если найденная <> неопределено тогда Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | Ю_ТранзакцииОбороты.Принципал, | СУММА(Ю_ТранзакцииОбороты.СуммаНаТООборот) КАК СуммаНаТООборот1 |ИЗ | РегистрНакопления.Ю_Транзакции.Обороты(&НачалоПериода, &Так, , ) КАК Ю_ТранзакцииОбороты |ГДЕ | Ю_ТранзакцииОбороты.Контрагент <> Ю_ТранзакцииОбороты.Принципал | И Ю_ТранзакцииОбороты.Принципал = &Принципал | |СГРУППИРОВАТЬ ПО | Ю_ТранзакцииОбороты.Принципал"; Запрос2.УстановитьПараметр("так", НачалоДня(КонецПериода)-найденная.Кол*60*60*24 ); Запрос2.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода) ); Запрос2.УстановитьПараметр("Принципал",ВыборкаДетали.Контрагент ); выборка2= Запрос2.Выполнить().Выбрать(); пока выборка2.Следующий() цикл новое= ВыборкаДетали.НОКт-ВыборкаДетали.ОборотДт+выборка2.СуммаНаТООборот1 ; СуммаНаОплату=новое; //число(ВыборкаДетали.НОКт-ВыборкаДетали.ОборотДт+ новое); ОбластьДетальныхЗаписей.Параметры.СуммаКОплате= СуммаНаОплату; общаясумма= общаясумма- СуммаНаОплату+ новое; конеццикла; конецесли; //******************************************************************************** //сообщить(общаясумма); процент =СуммаНаОплату*100/ общаясумма; а=НашСчет*процент/100; б=формат(а,"ЧЦ=10;ЧДЦ=2"); ОбластьДетальныхЗаписей.Параметры.пропорц=б; Если а<0 тогда ОбластьДетальныхЗаписей.Параметры.пропорц = " - "; конецесли; если СуммаНаОплату<0 тогда ОбластьДетальныхЗаписей.Параметры.СуммаКОплате = " - " конецесли; ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); сообщить(общаясумма); КонецПроцедуры |
|||
1
golden-pack
17.07.13
✎
10:51
|
две ошибки сразу:
1. Запрос в цикле 2. Без использования СКД |
|||
2
Vovan1975
17.07.13
✎
10:58
|
смотреть портянку без фотки - впадлу
|
|||
3
Яна93
17.07.13
✎
11:24
|
Фотку как загрузить?) могу на внешний файлообменник..
|
|||
4
Яна93
17.07.13
✎
11:31
|
Бухгалтерия предприятия, редакция 1.6 (1.6.30.7)
http://www.fayloobmennik.net/3020737 пароль к файлу 123 |
|||
5
Яна93
17.07.13
✎
11:52
|
(1) В каком цикле? я слепая наверно..)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |