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

Помогите доделать запрос

Автор макс, 13 сен 2010, 04:39

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

макс

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

макс

Мне нужно сделать отбор по подразделениям организаций, есть РегистрСведений.РаботникиОрганизаций там все сотрудники распределены по подразделениям, вот и не знаю как связать его с запросом, есть условие
Если Не ПодразделенияОрганизаций.Пустая() Тогда
       ТекстЗапроса = ТекстЗапроса + "
   ?;
КонецЕсли;
это условие когда выбрано подразделение

макс


Теги:

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

Рейтинг@Mail.ru

Поиск