Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 05:50
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: вывод результата отчета  (Прочитано 3220 раз)

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

Оффлайн Люсёк

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2010-10-11
  • Сайт: 
Подскажите, пожалуйста, как заданный период, например с 01.01.2010 по 30.09.2010 разложить по месецам Январь, Февраль и так далее?


Оффлайн Люсёк

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2010-10-11
  • Сайт: 
Нужно вывести отчет примерно в таком виде, как во вложениях.

Вот сам запрос:

 Запрос=Новый Запрос;
Запрос.Текст=
              ВЫБРАТЬ
              ОсновныеДополнительныеНачисления.Период КАК Период,
   ОсновныеДополнительныеНачисления.ВидРасчета КАК ВидРасчета,
   ОсновныеДополнительныеНачисления.Результат КАК Результат,
   ОсновныеДополнительныеНачисления.ОтработаноДней
ИЗ
   (ВЫБРАТЬ РАЗЛИЧНЫЕ
      НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ) КАК Период,
      ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета КАК ВидРасчета,
      СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат) КАК Результат,
      ОсновныеНачисленияРаботниковОрганизаций.ОтработаноДней КАК ОтработаноДней
   ИЗ
      РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
   ГДЕ
      ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
      И ОсновныеНачисленияРаботниковОрганизаций.Организация = &Организация
      И ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
   
   СГРУППИРОВАТЬ ПО
      ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета,
      НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
      ОсновныеНачисленияРаботниковОрганизаций.ОтработаноДней
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ РАЗЛИЧНЫЕ
      НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
      ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
      СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат),
      0
   ИЗ
      РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
   ГДЕ
      ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
      И ДополнительныеНачисленияРаботниковОрганизаций.Организация = &Организация
      И ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
   
   СГРУППИРОВАТЬ ПО
      ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
      НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ)) КАК ОсновныеДополнительныеНачисления

СГРУППИРОВАТЬ ПО
   ОсновныеДополнительныеНачисления.ВидРасчета,
   ОсновныеДополнительныеНачисления.Результат,
   ОсновныеДополнительныеНачисления.Период,
   ОсновныеДополнительныеНачисления.ОтработаноДней
ИТОГИ ПО
   Период ПЕРИОДАМИ(МЕСЯЦ, &НачалоПериода, &КонецПериода)   


              Запрос.УстановитьПараметр("НачалоПериода",ЭлементыФормы.ДатаНачала.Значение);
   Запрос.УстановитьПараметр("КонецПериода",ЭлементыФормы.ДатаОкончания.Значение);
   Запрос.УстановитьПараметр("Организация",ЭлементыФормы.Организация.Значение);
   Запрос.УстановитьПараметр("Физлицо",СтрокаТЧ.Сотрудник.Физлицо);   
   
   ВыборкаПоПериоду = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Период");
   Пока ВыборкаПоПериоду.Следующий() Цикл
       ДетальныеЗаписи = ВыборкаПоПериоду.Выбрать();
       ДетальныеЗаписи.Количество();
       Пока ДетальныеЗаписи.Следующий() Цикл
          
                       
   На этом моменте я застопорилась. Я выбрала все начисления за месяц, как теперь вывести название месяца (к примеру, январь)? и как вывести  Начисления столько раз сколько их в этом месяце. причем если отчет формируется за несколько месяцев и в одном месяце начисление есть а в другом нет, то выводилась пустая колонка?
     

Оффлайн Люсёк

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2010-10-11
  • Сайт: 
Здравствуйте. Я все мучаюсь с выводом отчета(( Пожалуйста, подскажите как сделать, чтобы Начисления выводились без повторей (т.е. если в предыдущем месяце такое начисление есть, то в следущем его снова не выводить)? и  как сделать,чтобы каждому виду начисления в строках выводилось соответствующее ему значение. Счас у меня выводится как попало((


ТабДокумент = Новый ТабличныйДокумент;
   
   Макет = ПолучитьМакет("Макет");    
   
   ОбластьШапкаДокумента              =  Макет.ПолучитьОбласть("ШапкаДокумента");   
   ОбластьЛьготы                      =  Макет.ПолучитьОбласть("Льготы");
   ОбластьПустая                      =  Макет.ПолучитьОбласть("Пустая");
   ОбластьСтрокаЗаголовок             =  Макет.ПолучитьОбласть("СтрокаЗаголовок");
   ОбластьСтрока                      =  Макет.ПолучитьОбласть("Строка");
   ОбластьПодвал                      =  Макет.ПолучитьОбласть("Подвал");
   ОбластьОбластьШапка                =  Макет.ПолучитьОбласть("ОбластьШапка");
   ОбластьНачисления                  =  Макет.ПолучитьОбласть("Начисления");
   ОбластьИтогоНачисления             =  Макет.ПолучитьОбласть("ИтогоНачисления");
   ОбластьУдержания                   =  Макет.ПолучитьОбласть("Удержания");
   ОбластьИтогоУдержания              =  Макет.Получитьобласть("ИтогоУдержания");
   ОбластьСальдоКонечное              =  Макет.Получитьобласть("СальдоКонечное");
   
     Для каждого СтрокаТЧ Из Сотрудники Цикл   
СтрокаЗаголовок1=Макет.ПолучитьОбласть("СтрокаЗаголовок|ОбластьШапка");
   ТабДокумент.Присоединить(СтрокаЗаголовок1);
   
   ОбластьНачисления=Макет.ПолучитьОбласть("СтрокаЗаголовок|Начисления");
      
       Запрос=Новый Запрос;
       Запрос.Текст="ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
                    |   ОсновныеДополнительныеНачисления.Период КАК Период,
                    |   ОсновныеДополнительныеНачисления.ВидРасчета КАК ВидРасчета,
                    |   ОсновныеДополнительныеНачисления.Результат КАК Результат,
                    |   ОсновныеДополнительныеНачисления.ОтработаноДней
                    |ИЗ
                    |   (ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |      НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ) КАК Период,
                    |      ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета КАК ВидРасчета,
                    |      СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат) КАК Результат,
                    |      ОсновныеНачисленияРаботниковОрганизаций.ОтработаноДней КАК ОтработаноДней
                    |   ИЗ
                    |      РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
                    |   ГДЕ
                    |      ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
                    |      И ОсновныеНачисленияРаботниковОрганизаций.Организация = &Организация
                    |      И ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
                    |   
                    |   СГРУППИРОВАТЬ ПО
                    |      ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета,
                    |      НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
                    |      ОсновныеНачисленияРаботниковОрганизаций.ОтработаноДней
                    |   
                    |   ОБЪЕДИНИТЬ ВСЕ
                    |   
                    |   ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |      НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
                    |      ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
                    |      СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат),
                    |      0
                    |   ИЗ
                    |      РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
                    |   ГДЕ
                    |      ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
                    |      И ДополнительныеНачисленияРаботниковОрганизаций.Организация = &Организация
                    |      И ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
                    |   
                    |   СГРУППИРОВАТЬ ПО
                    |      ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
                    |      НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ)) КАК ОсновныеДополнительныеНачисления
                    |
                    |СГРУППИРОВАТЬ ПО
                    |   ОсновныеДополнительныеНачисления.ВидРасчета,
                    |   ОсновныеДополнительныеНачисления.Результат,
                    |   ОсновныеДополнительныеНачисления.Период,
                    |   ОсновныеДополнительныеНачисления.ОтработаноДней
                    |ИТОГИ ПО
                    |   Период ПЕРИОДАМИ(МЕСЯЦ, &НачалоПериода, &КонецПериода)";
            
   Запрос.УстановитьПараметр("НачалоПериода",ЭлементыФормы.ДатаНачала.Значение);
   Запрос.УстановитьПараметр("КонецПериода",ЭлементыФормы.ДатаОкончания.Значение);
   Запрос.УстановитьПараметр("Организация",ЭлементыФормы.Организация.Значение);
   Запрос.УстановитьПараметр("Физлицо",СтрокаТЧ.Сотрудник.Физлицо);   
   
   ВыборкаПоПериоду = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Период");
   Пока ВыборкаПоПериоду.Следующий() Цикл
       ДетальныеЗаписи = ВыборкаПоПериоду.Выбрать();      
       Пока ДетальныеЗаписи.Следующий() Цикл
         
           ОбластьНачисления.Параметры.ВидРасчета=ДетальныеЗаписи.ВидРасчета;
           ТабДокумент.Присоединить(ОбластьНачисления);                        
         
        КонецЦикла;      
     КонецЦикла;
Запрос=Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
                |   ОсновныеДополнительныеНачисления.Период КАК Период,
                |   ОсновныеДополнительныеНачисления.ВидРасчета КАК ВидРасчета,
                |   ОсновныеДополнительныеНачисления.Результат КАК Результат,
                |   ОсновныеДополнительныеНачисления.ОтработаноДней,
                |   ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
                |ИЗ
                |   (ВЫБРАТЬ РАЗЛИЧНЫЕ
                |      НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ) КАК Период,
                |      ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета КАК ВидРасчета,
                |      СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат) КАК Результат,
                |      ОсновныеНачисленияРаботниковОрганизаций.ОтработаноДней КАК ОтработаноДней,
                |      ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо КАК ФизЛицо
                |   ИЗ
                |      РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
                |   ГДЕ
                |      ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
                |      И ОсновныеНачисленияРаботниковОрганизаций.Организация = &Организация
                |      И ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
                |   
                |   СГРУППИРОВАТЬ ПО
                |      ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета,
                |      НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
                |      ОсновныеНачисленияРаботниковОрганизаций.ОтработаноДней,
                |      ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо
                |   
                |   ОБЪЕДИНИТЬ ВСЕ
                |   
                |   ВЫБРАТЬ РАЗЛИЧНЫЕ
                |      НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
                |      ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
                |      СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат),
                |      0,
                |      ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо
                |   ИЗ
                |      РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
                |   ГДЕ
                |      ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
                |      И ДополнительныеНачисленияРаботниковОрганизаций.Организация = &Организация
                |      И ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = &ФизЛицо
                |   
                |   СГРУППИРОВАТЬ ПО
                |      ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета,
                |      НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ),
                |      ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо) КАК ОсновныеДополнительныеНачисления
                |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , ) КАК ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты
                |      ПО ОсновныеДополнительныеНачисления.ФизЛицо = ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Физлицо
                |         И ОсновныеДополнительныеНачисления.Период = ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Период
                |ГДЕ
                |   ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Организация = &Организация
                |   И ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Физлицо = &Физлицо
                |   И ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) И КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ)
                |
                |СГРУППИРОВАТЬ ПО
                |   ОсновныеДополнительныеНачисления.ВидРасчета,
                |   ОсновныеДополнительныеНачисления.Результат,
                |   ОсновныеДополнительныеНачисления.Период,
                |   ОсновныеДополнительныеНачисления.ОтработаноДней,
                |   ВзаиморасчетыСРаботникамиОрганизацийОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
                |ИТОГИ ПО
                |   Период ПЕРИОДАМИ(МЕСЯЦ, &НачалоПериода, &КонецПериода)";
            
            
   Запрос.УстановитьПараметр("НачалоПериода",ЭлементыФормы.ДатаНачала.Значение);
   Запрос.УстановитьПараметр("КонецПериода",ЭлементыФормы.ДатаОкончания.Значение);
   Запрос.УстановитьПараметр("Организация",ЭлементыФормы.Организация.Значение);
   Запрос.УстановитьПараметр("Физлицо",СтрокаТЧ.Сотрудник.Физлицо);   
   
   ВыборкаПоПериоду = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Период");
   Пока ВыборкаПоПериоду.Следующий() Цикл
       ДетальныеЗаписи = ВыборкаПоПериоду.Выбрать();
       Номер=0;
      Пока ДетальныеЗаписи.Следующий() Цикл            
         
           Если ДетальныеЗаписи.ОтработаноДней <>0 И ДетальныеЗаписи.ОтработаноДней<>1 Тогда
                СтрокаЗаголовок1=Макет.ПолучитьОбласть("Строка|ОбластьШапка");
                СтрокаЗаголовок1.Параметры.Номер=Номер+1;
                МесяцСтрока=ПредставлениеПериода(НачалоМесяца(ДетальныеЗаписи.Период), КонецМесяца(ДетальныеЗаписи.Период), "ФП = Истина");
                СтрокаЗаголовок1.Параметры.Месяц=МесяцСтрока;          
                 СтрокаЗаголовок1.Параметры.ОтработаноДней=ДетальныеЗаписи.ОтработаноДней;            
                СтрокаЗаголовок1.Параметры.ДолгНаНачало=ДетальныеЗаписи.СуммаВзаиморасчетовНачальныйОстаток;
                ТабДокумент.Вывести(СтрокаЗаголовок1);             
            КонецЕсли;
         
            ОбластьНачисления=Макет.ПолучитьОбласть("Строка|Начисления");        
            ОбластьНачисления.Параметры.Результат=ДетальныеЗаписи.Результат;
            ТабДокумент.Присоединить(ОбластьНачисления);
          

          
         КонецЦикла;          
   КонецЦикла;
         
               
   
   
        
    
    
    
 КонецЦикла;
           
    ТабДокумент.Показать(Макет);
   
КонецПроцедуры


Теги:
 

Печатная форма "ЧекККМ" для "Отчета о розничных продажах"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 7057
Последний ответ 01 Июн 2011, 20:39
от Шурыгин Иван Сергеевич
Формирование отчёта "Задолженость по контрагентам" 1С:Предприятие 8.2 "Торговля для частных предпринимателей базовая", редакция 1.0

Автор casper009Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 2998
Последний ответ 27 Май 2015, 10:02
от casper009
Ошибка при выгрузке отчета "Прибыль"

Автор VasilРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4097
Последний ответ 28 Апр 2011, 14:34
от MaryaAlbertovna
Создание отчета "Отсутствие заказов"

Автор dronspartak9@gmail.comРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3876
Последний ответ 16 Апр 2014, 15:09
от dronspartak9@gmail.com
Программирование отчета "Движения на складах"

Автор ЛунатикРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1960
Последний ответ 05 Апр 2016, 10:15
от vitasw

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
175 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
AIFrame
39 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 286
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal