Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 11:13

Обработка реестр выписок, Бухгалтерия предприятия, редакция 2.0

Автор forumlarin, 07 июл 2011, 09:31

0 Пользователей и 1 гость просматривают эту тему.

forumlarin

Как в обработке сделать чтоб обрабатывалось без переключателя, выводило все сразу





Изменинение я понимаю , что нужно поменять в этом блоке, а как не могу понять



если ЭлементыФормы.Поступление.Значение            = 1 тогда
ДокВыборка = Документы.ПоступлениеНаРасчетныйСчет.Выбрать(НачНДата, КонНДата);
ОбластьМакета.Параметры.ВидДок   =  "Банковские выписки:  Приход в кассу"  ;
иначе
ДокВыборка = Документы.СписаниеСРасчетногоСчета.Выбрать(НачНДата, КонНДата);
ОбластьМакета.Параметры.ВидДок   =  "Банковские выписки: Расход из кассы"  ;
конецесли;







Весь код обработки:



Процедура КнопкаВыполнитьНажатие(Кнопка)

НачНДата   = НачалоДня(НачДата);
КонНДата   = КонецДня(КонДата);


ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Отчет";
Макет       = ПолучитьМакет("Отчет");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьСтроки = Макет.ПолучитьОбласть("Строка");

ОбластьМакета.Параметры.НачНДата = НачНДата ;
ОбластьМакета.Параметры.КонНДата = КонНДата ;
ОбластьМакета.Параметры.Организация = Организация.НаименованиеСокращенное ;

если ЭлементыФормы.Поступление.Значение            = 1 тогда
ДокВыборка = Документы.ПоступлениеНаРасчетныйСчет.Выбрать(НачНДата, КонНДата);
ОбластьМакета.Параметры.ВидДок   =  "Банковские выписки:  Приход в кассу"  ;
иначе
ДокВыборка = Документы.СписаниеСРасчетногоСчета.Выбрать(НачНДата, КонНДата);
ОбластьМакета.Параметры.ВидДок   =  "Банковские выписки: Расход из кассы"  ;
конецесли;


ТабДокумент.Вывести(ОбластьМакета);

Пока ДокВыборка.Следующий() Цикл
Если ДокВыборка.Организация = Организация Тогда
Док = ДокВыборка.ПолучитьОбъект();
//Приход  в кассу ну и расход
ОбластьСтроки.Параметры.Контрагент = Док.Контрагент            ;

Если ПустаяСтрока(строка(Док.СчетУчетаРасчетовСКонтрагентом)) тогда
строка =  Док.РасшифровкаПлатежа[0];

КонецЕсли;


ОбластьСтроки.Параметры.Дата = Док.Дата      ;
ОбластьСтроки.Параметры.Номер=Док.Номер      ;
ОбластьСтроки.Параметры.НазначениеПлатежа = Док.НазначениеПлатежа;
ОбластьСтроки.Параметры.СуммаДокумента=Док.СуммаДокумента;
ТабДокумент.Вывести(ОбластьСтроки);
КонецЕсли;
КонецЦикла;

ТабДокумент.Показать("Отчет");
КонецПроцедуры

has

Самописная обработка чтоли? Просто выводишь сначала все поступления, потом все списания. Вобще запросом лучше.

forumlarin

Запрос написал а как его праувильно подставить

ВЫБРАТЬ
   ПоступлениеНаРасчетныйСчет.Номер,
   ПоступлениеНаРасчетныйСчет.Дата,
   ПоступлениеНаРасчетныйСчет.Контрагент,
   ПоступлениеНаРасчетныйСчет.СуммаДокумента,
   ПоступлениеНаРасчетныйСчет.НазначениеПлатежа,
   ПоступлениеНаРасчетныйСчет.Ссылка
ИЗ
   Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет

has

куда подставить? надо делать выборку результата запроса и ее обходить

forumlarin

Вот таким образом

Процедура КнопкаВыполнитьНажатие(Кнопка)
   //НачНДата   = НачалоДня(НачДата);
   //КонНДата   = КонецДня(КонДата);
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Отчет";
   Макет       = ПолучитьМакет("Отчет");
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ОбластьСтроки = Макет.ПолучитьОбласть("Строка");
   
   ОбластьМакета.Параметры.НачНДата = НачДата ;
   ОбластьМакета.Параметры.КонНДата = КонДата ;
   ОбластьМакета.Параметры.Организация = Организация.НаименованиеСокращенное ;
   ТабДокумент.Вывести(ОбластьМакета);
   
   ДокВыборка = Документы.СписаниеСРасчетногоСчета.Выбрать(НачДата, КонДата);
   ОбластьМакета.Параметры.ВидДок   =  "Банковские выписки: Расход из кассы"  ;
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
        |    ПоступлениеНаРасчетныйСчет.Ссылка,
        |    ПоступлениеНаРасчетныйСчет.Организация
        |ИЗ
        |    Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
        |ГДЕ
        |    ПоступлениеНаРасчетныйСчет.Проведен
        |    И ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачДата И &КонДата
        |    И ПоступлениеНаРасчетныйСчет.Организация = &Организация
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    СписаниеСРасчетногоСчета.Ссылка,
        |    СписаниеСРасчетногоСчета.Организация
        |ИЗ
        |    Документ.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета
        |ГДЕ
        |    СписаниеСРасчетногоСчета.Проведен
        |    И СписаниеСРасчетногоСчета.Дата МЕЖДУ &НачДата И &КонДата
        |    И СписаниеСРасчетногоСчета.Организация = &Организация";
   //Выбираете нужные поля(Контрагент, организация, сумма и т.п.
   Запрос.УстановитьПараметр("КонДата", КонецДня(КонДата));
   Запрос.УстановитьПараметр("НачДата", НачДата);//Дата всегда на 00:00:00
   Запрос.УстановитьПараметр("Организация", Организация);
   
   Результат = Запрос.Выполнить();
   ДокВыборка = Результат.Выбрать();
   
   Пока ДокВыборка.Следующий() Цикл
       //Если ДокВыборка.Организация = Организация Тогда //В запросе условие на Организацию.
           Док = ДокВыборка.Ссылка.ПолучитьОбъект();//Вместо _этого_, обратится к выборке, в которой есть суммы и прочее.
           //Приход  в кассу ну и расход
           ОбластьСтроки.Параметры.Контрагент = Док.Контрагент ;
           
           Если Док.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.ПустаяСсылка() тогда //Красивей;)
               строка =  Док.РасшифровкаПлатежа[0];
               //Вот вместо этого, надо сделать выборку из Расшифровки, итоги по ссылке, и вложеный цикл.
               //???.
           КонецЕсли;
           ОбластьСтроки.Параметры.Дата = Док.Дата ;
           ОбластьСтроки.Параметры.Номер=Док.Номер ;
           ОбластьСтроки.Параметры.НазначениеПлатежа = Док.НазначениеПлатежа;
           ОбластьСтроки.Параметры.СуммаДокумента=Док.СуммаДокумента;
           ТабДокумент.Вывести(ОбластьСтроки);
       //КонецЕсли;
   КонецЦикла;
   
   ТабДокумент.Показать("Отчет");
КонецПроцедуры



has


forumlarin

Сейчас уже не в чем , была просьба в помощи формирование запроса и так далее, сейчас ворос можно считать закрытым

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск