Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Прошу помощи по зАпросу , описание запроса 2 страниц V   1 2 >          
sergeytor Подменю пользователя
сообщение 13.06.12, 8:18
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый День! Третий день бьюсь с запросом,нужно сделать отчет "Начисления По подразделениям"

по типу "Подразделение" Оклад Отпускные Компенсация Ндфл
--------- --------- --------- -------- -------

Делаю через Макет, т.к через Конструктор получаются лишние поля в таблицах, а отчет необходимо потом выгрузить,вообщем суть не в этом , в модуле форму пишу запрос, вроде ошибок нет , но и результата тоже нет,в чем причина, подскажите пожалуйста...



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

  

  Результат = Запрос.Выполнить().Выбрать();
  Макет = Отчеты.Отчет1.ПолучитьМакет("Макет");
  ТабДок = Новый ТабличныйДокумент;
  Область = Макет.ПолучитьОбласть("Заголовок");
  ТабДок.Вывести(Область);
  ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
  ТабДок.Вывести(ОбластьШапка);
   // Область=Макет.ПолучитьОбласть("Под");
    
  Пока Результат.Следующий()=1  Цикл
       ОбластьД=Макет.ПолучитьОбласть("Детали");
      
      
      
  ОбластьД.Параметры.Подразделение=Результат.Подразделение;
         ОбластьД.Параметры.Отпуск=Результат.Отпуск;
      ОбластьД.Параметры.Компенсация=Результат.Компенсация;
           ОбластьД.Параметры.ндфл = Результат.Налог;
      ОбластьД.Параметры.РезультатОкл=Результат.РезультатОк;
              ТабДок.Вывести(ОбластьД);
        
      
  КонецЦикла;
                
    ТабДок.Показать();
    
КонецПроцедуры



logist Подменю пользователя
сообщение 13.06.12, 8:29
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Не мешало бы указать конфигурацию. На первый взгляд - куча одинаковых группировок - используйте вложенные запросы ну и соответственно условия накладывайте во вложенном запросе. А так не запрос - а месиво букв.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

sergeytor Подменю пользователя
сообщение 13.06.12, 8:39
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Зарплата и Управление Персоналом, редакция 2.5 (2.5.50.1) (http://v8.1c.ru/hrm/)
Copyright (С) ООО "1C", 2007-2011. Все права защищены
(http://www.1c.ru)

Vofka Подменю пользователя
сообщение 13.06.12, 8:49
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13959
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Конечно не будет работать. Это кто так пишет:

|И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.Наименование = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаКален
дарныеДни)
|    И ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета.Наименование = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням)
|    И Отпуск.ВидРасчета.Наименование = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарны
еДни)


?

Пишите так:

|И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета= ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаКален
дарныеДни)
|    И ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета= ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням)
|    И Отпуск.ВидРасчета= ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарны
еДни)


Сообщение отредактировал Vofka - 13.06.12, 8:49

sergeytor Подменю пользователя
сообщение 13.06.12, 9:22
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

попробую ..

Не работает, пустые поля...

При замене текста запроса на

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


Результат по Окладу выводиться, а при составлении запроса по нескольким регистрам нет, дело наверно в обьединении ... не могу понять..

zay Подменю пользователя
сообщение 13.06.12, 9:37
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 164
Из: Киев
Спасибо сказали: 133 раз
Рейтинг: 139.4

В запросе используются ЛЕВЫЕ СОЕДИНЕНИЯ с регистрами расчета, а потом накладывается условие ГДЕ которое отсечет результат, если хотябы в одином из используемых регистров расчета нет записи за период отчета. Что вобщем-то вы и наблюдаете.

Попробуйте использовать в условии функцию ЕСТЬNULL

|И ЕСТЬNULL(ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета, ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаКален
дарныеДни))= ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаКален
дарныеДни)
|    И ЕСТЬNULL(ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета, ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням))
= ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням)
|    И ЕСТЬNULL(Отпуск.ВидРасчета, ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарны
еДни))= ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарны
еДни)

и

|    ЕСТЬNULL(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, &НачПериода) МЕЖДУ &НачПериода И &КонПериода
|    И ЕСТЬNULL(НДФЛРасчетыСБюджетом.Период, &НачПериода) МЕЖДУ &НачПериода И &КонПериода
|    И ЕСТЬNULL(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, &НачПериода) МЕЖДУ &НачПериода И &КонПериода
|    И ЕСТЬNULL(Отпуск.ПериодРегистрации, &НачПериода) МЕЖДУ &НачПериода И &КонПериода




и в данном случае вместо вот таких вещей
 ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияОтпускаКален
дарныеДни)

лучше все-таки использовать параметр. Так запрос получается намного читабельней.

В целом согласен с LOGIST - ошибочная схема построения запроса, отсюда и ошибки. Я бы вместо ЛЕВОГО СОЕДИНЕНИЯ делал 5 вложенных подзапросов через ОБЪЕДИНИТЬ.

logist Подменю пользователя
сообщение 13.06.12, 9:40
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(sergeytor @ 13.06.12, 10:22) *
дело наверно в обьединении ... не могу понять..

Я Вам написал выше - используйте вложенные запросы, и условия регистров накладывайте на таблицу а не через ГДЕ


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 13.06.12, 9:48
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13959
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Цитата(logist @ 13.06.12, 10:40) *
условия регистров накладывайте на таблицу а не через ГДЕ

Только через ГДЕ можно.

sergeytor Подменю пользователя
сообщение 13.06.12, 9:49
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Работает вот так. но пока по ндфл нет данных

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

logist Подменю пользователя
сообщение 13.06.12, 10:03
Сообщение #10

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

             |СГРУППИРОВАТЬ ПО
              |    ВложенныйЗапрос.Подразделение,
              |    ВложенныйЗапрос1.Подразделение,
              |    ВложенныйЗапрос2.Подразделение,
              |    ВложенныйЗапрос3.Подразделение";

Что это? О_О

Сообщение отредактировал logist - 13.06.12, 10:03


Signature
Личные бесплатные консультации не даю, для этого есть форум!

zay Подменю пользователя
сообщение 13.06.12, 10:08
Сообщение #11

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 164
Из: Киев
Спасибо сказали: 133 раз
Рейтинг: 139.4

|СГРУППИРОВАТЬ ПО
|    ВложенныйЗапрос.Подразделение,
|    ВложенныйЗапрос1.Подразделение,
|    ВложенныйЗапрос2.Подразделение,
|    ВложенныйЗапрос3.Подразделение";

А теперь предсавте, что вот вы сейчас сдали этот отчет, он работает, все замечательно. А через пару месяцев вас попросят модифицировать этот отчет, и модификация затронет запрос. Сколько времени вы портратите разбираясь в собственном произведении? Может быть имеет смысл сразу писать "по человечески"?

sergeytor Подменю пользователя
сообщение 13.06.12, 10:24
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Полностью с вами согласен, исправим..

Вопрос по методу КонецПериода, как правильно в запросе его написать, чтобы КонПериода был конецдня..

logist Подменю пользователя
сообщение 13.06.12, 10:36
Сообщение #13

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Как вариант:
           Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));



Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: sergeytor,

sergeytor Подменю пользователя
сообщение 13.06.12, 10:52
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Сказал спасибо...

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


ОбластьД.Параметры.Итого = Число(ОбластьД.Параметры.Отпуск)+Число(ОбластьД.Параметры.РезультатОкл)
+Число(ОбластьД.Параметры.ндфл)+Число(ОбластьД.Параметры.Компенсация);



Ошибка!!! не может быть выполнено

zay Подменю пользователя
сообщение 13.06.12, 11:04
Сообщение #15

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 164
Из: Киев
Спасибо сказали: 133 раз
Рейтинг: 139.4

У вас в запросе не предусмотрена защита от значений NULL

ОбластьД.Параметры.Итого = ?(ОбластьД.Параметры.Отпуск = NULL, 0, ОбластьД.Параметры.Отпуск)+?(ОбластьД.Параметры.РезультатОкл = NULL, 0, ОбластьД.Параметры.РезультатОкл)
+?(ОбластьД.Параметры.ндфл = NULL, 0, ОбластьД.Параметры.ндфл)+?(ОбластьД.Параметры.Компенсация = NULL, 0, ОбластьД.Параметры.Компенсация);


Как быстро вы поняли что здесь написано?
Гораздо проще (и нагляднее) использовать в запросе функцию ЕСТЬNULL

Спасибо сказали: sergeytor,

sergeytor Подменю пользователя
сообщение 13.06.12, 11:09
Сообщение #16

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Спасибо, понятно .. только голова бы до такого не додумалась))) я только учусь..

sergeytor Подменю пользователя
сообщение 14.06.12, 13:09
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

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


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

logist Подменю пользователя
сообщение 14.06.12, 13:25
Сообщение #18

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(sergeytor @ 14.06.12, 14:09) *
проанализируйте пожалуйста запрос...

Очередной мрак.

У меня нет вашей конфы, но запрос должен выглядеть где-то как-то так:
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
              |    ВложенныйЗапрос.Подразделение КАК Подразделение,
              |    СУММА(Ндфл.Налог) КАК Налог,
              |    СУММА(ОкладПоДням.Результат) КАК Результат
              |ИЗ
              |    (ВЫБРАТЬ
              |        ПодразделенияОрганизаций.Наименование КАК Подразделение
              |    ИЗ
              |        Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций) КАК ВложенныйЗапрос
              |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
              |            СУММА(НДФЛРасчетыСБюджетом.Налог) КАК Налог
              |        ИЗ
              |            РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
              |        ГДЕ
              |            НДФЛРасчетыСБюджетом.Период МЕЖДУ &НачПериода И &КонПериода) КАК Ндфл
              |        ПО Ндфл.Подразделение = ВложенныйЗапрос.Подразделение
              |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
              |            СУММА(ОсновныеНачисленияРаботниковОрганизаций.Результат) КАК Результат
              |        ИЗ
              |            РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
              |        ГДЕ
              |            ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачПериода И &КонПериода
              |            И ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням)) КАК ОкладПоДням
              |        ПО ОкладПоДням.Подразделение = ВложенныйЗапрос.Подразделение
              |
              |СГРУППИРОВАТЬ ПО
              |    ВложенныйЗапрос.Подразделение";


Signature
Личные бесплатные консультации не даю, для этого есть форум!

sergeytor Подменю пользователя
сообщение 14.06.12, 13:42
Сообщение #19

Общительный
**
Группа: Пользователи
Сообщений: 40
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата
{(17, 17)}: Поле не найдено "Ндфл.Подразделение"
ПО Ндфл.<<?>>Подразделение = ВложенныйЗапрос.Подразделение


Сообщение отредактировал logist - 14.06.12, 14:06
Причина редактирования: Не надо выделять ошибку как код!

logist Подменю пользователя
сообщение 14.06.12, 14:07
Сообщение #20

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 21.06.24, 10:33
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!