3
kievgorez
24.02.13
✎
19:26
|
Функция ПолучитьТаблицуПеремещенийБух(ТаблицаТоваров, ДатаНач, ДатаКон, Префикс, СтруктураДопПараметров)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВложенныйЗапрос.Сумма КАК Стоимость,
| ВложенныйЗапрос.СуммаНУ КАК СтоимостьНУ,
| ВложенныйЗапрос.Количество,
| ВложенныйЗапрос.СчетКт КАК Счет,
| ВложенныйЗапрос.СчетДт КАК Счет" + Префикс + ",
| ВложенныйЗапрос.НалоговоеНазначение КАК НалоговоеНазначение,
| ВложенныйЗапрос.СубконтоКт1 КАК Субконто1,
| ВложенныйЗапрос.СубконтоКт2 КАК Субконто2,
| ВложенныйЗапрос.СубконтоКт3 КАК Субконто3,
| ВложенныйЗапрос.СубконтоКт4 КАК Субконто4,
| ВложенныйЗапрос.СубконтоДт1 КАК Субконто1" + Префикс + ",
| ВложенныйЗапрос.СубконтоДт2 КАК Субконто2" + Префикс + ",
| ВложенныйЗапрос.СубконтоДт3 КАК Субконто3" + Префикс + ",
| ВложенныйЗапрос.СубконтоДт4 КАК Субконто4" + Префикс + "
|ИЗ
| (ВЫБРАТЬ
| ХозрасчетныйОбороты.СчетКт КАК СчетКт,
| ВЫБОР КОГДА ХозрасчетныйОбороты.СубконтоКт1 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт1 КОГДА ХозрасчетныйОбороты.СубконтоКт2 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт2 КОГДА ХозрасчетныйОбороты.СубконтоКт3 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт3 КОГДА ХозрасчетныйОбороты.СубконтоКт4 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт4 ИНАЧЕ Неопределено КОНЕЦ КАК НоменклатураКт,
| ВЫБОР КОГДА ХозрасчетныйОбороты.СубконтоДт1 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт1 КОГДА ХозрасчетныйОбороты.СубконтоДт2 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт2 КОГДА ХозрасчетныйОбороты.СубконтоДт3 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт3 КОГДА ХозрасчетныйОбороты.СубконтоДт4 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт4 ИНАЧЕ NULL КОНЕЦ КАК НоменклатураДт,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто1 ТОГДА ХозрасчетныйОбороты.СубконтоКт1 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоКт1,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто2 ТОГДА ХозрасчетныйОбороты.СубконтоКт2 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоКт2,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто3 ТОГДА ХозрасчетныйОбороты.СубконтоКт3 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоКт3,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто4 ТОГДА ХозрасчетныйОбороты.СубконтоКт4 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоКт4,
| ХозрасчетныйОбороты.СчетДт КАК СчетДт,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто1 ТОГДА ХозрасчетныйОбороты.СубконтоДт1 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоДт1,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто2 ТОГДА ХозрасчетныйОбороты.СубконтоДт2 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоДт2,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто3 ТОГДА ХозрасчетныйОбороты.СубконтоДт3 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоДт3,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто4 ТОГДА ХозрасчетныйОбороты.СубконтоДт4 ИНАЧЕ Неопределено КОНЕЦ КАК СубконтоДт4,
| СУММА(ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОбороты.СуммаОборот КОНЕЦ) КАК Сумма,
| СУММА(ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаНУОборотДт ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОбороты.СуммаНУОборотДт КОНЕЦ) КАК СуммаНУ,
| ХозрасчетныйОбороты.НалоговоеНазначениеДт КАК НалоговоеНазначение,
| СУММА(ВЫБОР КОГДА (ХозрасчетныйОбороты.КоличествоОборотКт) ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ХозрасчетныйОбороты.КоличествоОборотКт КОНЕЦ) КАК Количество
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, , СчетДт В (&СписокСчетов), , СчетКт В (&СписокСчетов), , Организация = &Организация) КАК ХозрасчетныйОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Хозрасчетный.Ссылка КАК Счет,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 1 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто1,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 2 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто2,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 3 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто3,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 4 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто4
| ИЗ
| ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
| ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
|
| ГДЕ
| Хозрасчетный.Ссылка В (&СписокСчетов)
|
| СГРУППИРОВАТЬ ПО
| Хозрасчетный.Ссылка) КАК СуммовойУчетКт
| ПО ХозрасчетныйОбороты.СчетКт = СуммовойУчетКт.Счет
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Хозрасчетный.Ссылка КАК Счет,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 1 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто1,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 2 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто2,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 3 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто3,
| МАКСИМУМ(ВЫБОР КОГДА ХозрасчетныйВидыСубконто.НомерСтроки = 4 ТОГДА ХозрасчетныйВидыСубконто.Суммовой ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК Субконто4
| ИЗ
| ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
| ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
|
| ГДЕ
| Хозрасчетный.Ссылка В (&СписокСчетов)
|
| СГРУППИРОВАТЬ ПО
| Хозрасчетный.Ссылка) КАК СуммовойУчетДт
| ПО ХозрасчетныйОбороты.СчетДт = СуммовойУчетДт.Счет
|
| СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.СчетКт,
| ХозрасчетныйОбороты.СчетДт,
| ХозрасчетныйОбороты.НалоговоеНазначениеДт,
| ВЫБОР КОГДА ХозрасчетныйОбороты.СубконтоКт1 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт1 КОГДА ХозрасчетныйОбороты.СубконтоКт2 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт2 КОГДА ХозрасчетныйОбороты.СубконтоКт3 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт3 КОГДА ХозрасчетныйОбороты.СубконтоКт4 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоКт4 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА ХозрасчетныйОбороты.СубконтоДт1 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт1 КОГДА ХозрасчетныйОбороты.СубконтоДт2 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт2 КОГДА ХозрасчетныйОбороты.СубконтоДт3 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт3 КОГДА ХозрасчетныйОбороты.СубконтоДт4 ССЫЛКА Справочник.Номенклатура ТОГДА ХозрасчетныйОбороты.СубконтоДт4 ИНАЧЕ NULL КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто1 ТОГДА ХозрасчетныйОбороты.СубконтоКт1 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто2 ТОГДА ХозрасчетныйОбороты.СубконтоКт2 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто3 ТОГДА ХозрасчетныйОбороты.СубконтоКт3 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетКт.Субконто4 ТОГДА ХозрасчетныйОбороты.СубконтоКт4 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто1 ТОГДА ХозрасчетныйОбороты.СубконтоДт1 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто2 ТОГДА ХозрасчетныйОбороты.СубконтоДт2 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто3 ТОГДА ХозрасчетныйОбороты.СубконтоДт3 ИНАЧЕ Неопределено КОНЕЦ,
| ВЫБОР КОГДА СуммовойУчетДт.Субконто4 ТОГДА ХозрасчетныйОбороты.СубконтоДт4 ИНАЧЕ Неопределено КОНЕЦ) КАК ВложенныйЗапрос
|
|ГДЕ
| ВЫБОР КОГДА ВложенныйЗапрос.СубконтоКт1 ССЫЛКА Документ.ОтчетПроизводстваЗаСмену ТОГДА ВложенныйЗапрос.СубконтоКт1.Дата КОГДА ВложенныйЗапрос.СубконтоКт2 ССЫЛКА Документ.ОтчетПроизводстваЗаСмену ТОГДА ВложенныйЗапрос.СубконтоКт2.Дата КОГДА ВложенныйЗапрос.СубконтоКт3 ССЫЛКА Документ.ОтчетПроизводстваЗаСмену ТОГДА ВложенныйЗапрос.СубконтоКт3.Дата КОГДА ВложенныйЗапрос.СубконтоКт4 ССЫЛКА Документ.ОтчетПроизводстваЗаСмену ТОГДА ВложенныйЗапрос.СубконтоКт4.Дата ИНАЧЕ (&ДатаНач) КОНЕЦ >= &ДатаНач И
| (ВложенныйЗапрос.НоменклатураКт = ВложенныйЗапрос.НоменклатураДт) И ";
Если ТаблицаТоваров <> Неопределено Тогда
Запрос.Текст = Запрос.Текст + "
| (ВложенныйЗапрос.НоменклатураКт В (&СписокТоваров)) И";
КонецЕсли;
Запрос.Текст = Запрос.Текст + "
| (ВложенныйЗапрос.СчетДт <> ВложенныйЗапрос.СчетКт ИЛИ ВложенныйЗапрос.СубконтоКт1 <> ВложенныйЗапрос.СубконтоДт1 ИЛИ ВложенныйЗапрос.СубконтоКт2 <> ВложенныйЗапрос.СубконтоДт2 ИЛИ ВложенныйЗапрос.СубконтоКт3 <> ВложенныйЗапрос.СубконтоДт3 ИЛИ ВложенныйЗапрос.СубконтоКт4 <> ВложенныйЗапрос.СубконтоДт4)";
Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
Запрос.УстановитьПараметр("Организация", СтруктураДопПараметров.Организация);
Запрос.УстановитьПараметр("СписокСчетов", СтруктураДопПараметров.СписокСчетов);
Запрос.УстановитьПараметр("СписокТоваров", ТаблицаТоваров);
Таб = Запрос.Выполнить().Выгрузить();
Возврат Таб;
КонецФункции // ПолучитьТаблицуПеремещенийБух()
|
|