////////////////////////////// движение Списания ДС и Поступления ДС по ФинансыНД ///////////////////////////////
Процедура ПолучитьДвиженияСписанияПоступления(ДокСписание,НаборЗаписей) Экспорт
//
// две строки получают значения двух папок номенклатуры,которые нам нужны
// чтобы избежать движений по другим папкам
// меняйте на свой код
ПапкаИнстументДО = РаботаСКонстантамиПовтИсп.ПолучитьЗначениеКонстанты("Группа_ИнструменДО");
ПапкаМЕБЕЛЬ = РаботаСКонстантамиПовтИсп.ПолучитьЗначениеКонстанты("Группа_Мебель");
//
Если НЕ ТипЗнч(ПапкаИнстументДО) = Тип("СправочникСсылка.Номенклатура") или Не ТипЗнч(ПапкаМЕБЕЛЬ) = Тип("СправочникСсылка.Номенклатура") Тогда
Возврат;
КонецЕсли;
//
ТипДока = 1;
Если ТипЗнч(ДокСписание) = Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств") Тогда
ТипДока = 2;
ИначеЕсли ТипЗнч(ДокСписание) = Тип("ДокументСсылка.СписаниеБезналичныхДенежныхСредств") Тогда
ТипДока = 1;
ИначеЕсли ТипЗнч(ДокСписание) = Тип("ДокументСсылка.ОперацияПоПлатежнойКарте") Тогда
ТипДока = 3;
ИначеЕсли ТипЗнч(ДокСписание) = Тип("ДокументСсылка.ПриходныйКассовыйОрдер") Тогда
ТипДока = 4;
ИначеЕсли ТипЗнч(ДокСписание) = Тип("ДокументСсылка.РасходныйКассовыйОрдер") Тогда
ТипДока = 5;
ИначеЕсли ТипЗнч(ДокСписание) = Тип("ДокументСсылка.ВзаимозачетЗадолженности") Тогда
ТипДока = 6;
КонецЕсли;
//
Если ТипДока = 3 Тогда
ТЗ = ПолучитьСуммыПоНоменклатурноЭквайринг(ДокСписание);
ИначеЕсли ТипДока = 4 или ТипДока = 5 Тогда
ТЗ = ПолучитьСуммыПоНоменклатурноКасса(ДокСписание);
ИначеЕсли ТипДока = 6 Тогда
ТЗ = ПолучитьСуммыПоНоменклатурноВзаимозачет(ДокСписание);
Иначе
ТЗ = ПолучитьСуммыПоНоменклатурно(ДокСписание);
КонецЕсли;
//
Индекс = ТЗ.Количество() - 1;
ПОКА Индекс >= 0 Цикл
Если Не ЗначениеЗаполнено(ТЗ[Индекс].Номенклатура) или (Не ТЗ[Индекс].Номенклатура.ПринадлежитЭлементу(ПапкаИнстументДО) и Не ТЗ[Индекс].Номенклатура.ПринадлежитЭлементу(ПапкаМЕБЕЛЬ)) Тогда
ТЗ.Удалить(Индекс);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
//
//ТЗЦенЗавода = ПолучитьЦеныЗавода(ТЗ);
//
//
Для Каждого Строка ИЗ ТЗ Цикл
//
НовЗап = НаборЗаписей.Добавить();
//
Если ЗначениеЗаполнено(Строка.ОсновнаяПолка) Тогда
НовЗап.Номенклатура = Строка.ОсновнаяПолка;
Иначе
НовЗап.Номенклатура = Строка.Номенклатура;
КонецЕсли;
//
НовЗап.Регистратор = ДокСписание;
//
Если ТипДока = 2 Тогда
Если ДокСписание.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратДенежныхСредствОтПоставщика Тогда
НовЗап.ВидДвижения = ВидДвиженияНакопления.Расход;
Иначе
НовЗап.ВидДвижения = ВидДвиженияНакопления.Приход;
КонецЕсли;
НовЗап.Период = ДокСписание.ДатаПроведенияБанком;
ИначеЕсли ТипДока = 1 Тогда
НовЗап.ВидДвижения = ВидДвиженияНакопления.Расход;
НовЗап.Период = ДокСписание.ДатаПроведенияБанком;
ИначеЕсли ТипДока = 3 или ТипДока = 4 или ТипДока = 5 или ТипДока = 6 Тогда
НовЗап.Период = Строка.ДатаПроведенияБанком;
Если Строка.ПриходПоНоменклатуреРуб > 0 Тогда
НовЗап.ВидДвижения = ВидДвиженияНакопления.Приход;
Иначе
НовЗап.ВидДвижения = ВидДвиженияНакопления.Расход;
КонецЕсли;
КонецЕсли;
//
НовЗап.Доходность = Строка.Доходность;
НовЗап.ПапкаНоменклатуры = Строка.Родитель;
Если ТипДока = 2 Тогда // поступление ДС
Если ДокСписание.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратДенежныхСредствОтПоставщика Тогда
НовЗап.Сумма = -Строка.ПриходПоНоменклатуреРуб;
Иначе
ДобавитьСуммуПриходВРегистр(НовЗап,Строка);
КонецЕсли;
НовЗап.СуммаОплаты = Строка.ПриходПоНоменклатуреРуб;
ИначеЕсли ТипДока = 1 Тогда // списание ДС
Если ДокСписание.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту Тогда
ДобавитьСуммуРасходВРегистр(НовЗап,Строка);
Иначе
НовЗап.Сумма = Строка.РасходПоНоменклатуреРуб;
КонецЕсли;
//
ИначеЕсли ТипДока = 3 и Строка.ПриходПоНоменклатуреРуб > 0 Тогда // эквайринг
ДобавитьСуммуПриходВРегистр(НовЗап,Строка);
НовЗап.СуммаОплаты = Строка.ПриходПоНоменклатуреРуб;
ИначеЕсли ТипДока = 3 и Строка.РасходПоНоменклатуреРуб > 0 Тогда
ДобавитьСуммуРасходВРегистр(НовЗап,Строка);
ИначеЕсли ТипДока = 4 Тогда // ПКО
ДобавитьСуммуПриходВРегистр(НовЗап,Строка);
НовЗап.СуммаОплаты = Строка.ПриходПоНоменклатуреРуб;
ИначеЕсли ТипДока = 5 Тогда //РКО
ДобавитьСуммуРасходВРегистр(НовЗап,Строка);
ИначеЕсли ТипДока = 6 Тогда //Взаимозачет
Если Строка.ПриходПоНоменклатуреРуб > 0 Тогда
НовЗап.СуммаОплаты = Строка.ПриходПоНоменклатуреРуб;
ДобавитьСуммуПриходВРегистр(НовЗап,Строка);
Иначе
//НовЗап.СуммаОплаты = Строка.РасходПоНоменклатуреРуб;
ДобавитьСуммуРасходВРегистр(НовЗап,Строка);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ДобавитьСуммуРасходВРегистр(НовЗап,Строка)
//
Если ЗначениеЗаполнено(Строка.ЦенаЗаводаНаПроцентОплаты) Тогда
Если Строка.ЦенаЗаводаНаПроцентОплаты < 0.9 * Строка.РасходПоНоменклатуреРуб Тогда
НовЗап.Сумма = Строка.ЦенаЗаводаНаПроцентОплаты;
Иначе
НовЗап.Сумма = Строка.РасходПоНоменклатуреРуб * НовЗап.Доходность / 100;
КонецЕсли;
иначе
НовЗап.Сумма = Строка.РасходПоНоменклатуреРуб * НовЗап.Доходность / 100;
КонецЕсли;
//
КонецПроцедуры
Процедура ДобавитьСуммуПриходВРегистр(НовЗап,Строка)
//
Если ЗначениеЗаполнено(Строка.ЦенаЗаводаНаПроцентОплаты) Тогда
Если Строка.ЦенаЗаводаНаПроцентОплаты < 0.9 * Строка.ПриходПоНоменклатуреРуб Тогда
НовЗап.Сумма = Строка.ЦенаЗаводаНаПроцентОплаты;
Иначе
НовЗап.Сумма = Строка.ПриходПоНоменклатуреРуб * НовЗап.Доходность / 100;
КонецЕсли;
иначе
НовЗап.Сумма = Строка.ПриходПоНоменклатуреРуб * НовЗап.Доходность / 100;
КонецЕсли;
//
КонецПроцедуры
Функция ПолучитьСуммыПоНоменклатурно(пДокумент) Экспорт
//
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ПОМЕСТИТЬ КурсыВсе
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&датаДокумента, ) КАК КурсыВалютСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДенежныеСредстваБезналичныеОбороты.Регистратор КАК Документ,
| СУММА(ДенежныеСредстваБезналичныеОбороты.СуммаПриход) КАК СуммаПриход,
| СУММА(ДенежныеСредстваБезналичныеОбороты.СуммаРасход) КАК СуммаРасход
|ПОМЕСТИТЬ ОборотыЗаПериод
|ИЗ
| РегистрНакопления.ДенежныеСредстваБезналичные.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ДенежныеСредстваБезналичныеОбороты
|ГДЕ
| (ДенежныеСредстваБезналичныеОбороты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств
| ИЛИ ДенежныеСредстваБезналичныеОбороты.Регистратор ССЫЛКА Документ.ПоступлениеБезналичныхДенежныхСредств)
| И ДенежныеСредстваБезналичныеОбороты.Регистратор = &пДокумент
|
|СГРУППИРОВАТЬ ПО
| ДенежныеСредстваБезналичныеОбороты.Регистратор
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма) КАК Сумма,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта КАК Валюта,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект КАК Заказ,
| ОборотыЗаПериод.Документ КАК Документ,
| ОборотыЗаПериод.СуммаПриход КАК СуммаПриход,
| ОборотыЗаПериод.СуммаРасход КАК СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента КАК СуммаПлатежки,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация КАК Операция,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента КАК СуммаЗаказа,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов КАК КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов КАК КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.Дата, ДЕНЬ) КАК ДатаЗаказа
|ПОМЕСТИТЬ СРасшифровкой
|ИЗ
| ОборотыЗаПериод КАК ОборотыЗаПериод
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа
| ПО ОборотыЗаПериод.Документ = ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ДатаПроведенияБанком,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.Дата, ДЕНЬ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СУММА(СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.СуммаВзаиморасчетов),
| СУММА(СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма),
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ДатаПроведенияБанком,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.Дата, ДЕНЬ)
|ИЗ
| ОборотыЗаПериод КАК ОборотыЗаПериод
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа
| ПО ОборотыЗаПериод.Документ = СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка
|
|СГРУППИРОВАТЬ ПО
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ДатаПроведенияБанком,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.Дата, ДЕНЬ)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СРасшифровкой.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| СРасшифровкой.Сумма КАК Сумма,
| СРасшифровкой.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СРасшифровкой.Валюта КАК Валюта,
| СРасшифровкой.Заказ КАК Заказ,
| СРасшифровкой.Документ КАК Документ,
| СРасшифровкой.СуммаПриход КАК СуммаПриход,
| СРасшифровкой.СуммаРасход КАК СуммаРасход,
| СРасшифровкой.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СРасшифровкой.Операция КАК Операция,
| СРасшифровкой.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| СРасшифровкой.СуммаПлатежки КАК СуммаПлатежки,
| ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
| СРасшифровкой.СуммаЗаказа КАК СуммаЗаказа,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаПриход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказКлиентаТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриходПоНоменклатуре,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаРасход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказКлиентаТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РасходПоНоменклатуре,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.СуммаВзаиморасчетов / СРасшифровкой.СуммаЗаказа
| ИНАЧЕ 0
| КОНЕЦ КАК ПроцентОплаты,
| ЗаказКлиентаТовары.Количество КАК Количество,
| СРасшифровкой.ДатаЗаказа КАК ДатаЗаказа
|ПОМЕСТИТЬ ВсеПосчитали
|ИЗ
| СРасшифровкой КАК СРасшифровкой
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
| ПО СРасшифровкой.Заказ = ЗаказКлиентаТовары.Ссылка
| И (ЗаказКлиентаТовары.Отменено = ЛОЖЬ)
|ГДЕ
| ЗаказКлиентаТовары.Отменено = ЛОЖЬ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СРасшифровкой.СуммаВзаиморасчетов,
| СРасшифровкой.Сумма,
| СРасшифровкой.ВалютаВзаиморасчетов,
| СРасшифровкой.Валюта,
| СРасшифровкой.Заказ,
| СРасшифровкой.Документ,
| СРасшифровкой.СуммаПриход,
| СРасшифровкой.СуммаРасход,
| СРасшифровкой.НаправлениеДеятельности,
| СРасшифровкой.Операция,
| СРасшифровкой.ДатаПроведенияБанком,
| СРасшифровкой.СуммаПлатежки,
| ЗаказПоставщикуТовары.Номенклатура,
| СРасшифровкой.СуммаЗаказа,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаПриход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказПоставщикуТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаРасход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказПоставщикуТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.СуммаВзаиморасчетов / СРасшифровкой.СуммаЗаказа
| ИНАЧЕ 0
| КОНЕЦ,
| ЗаказПоставщикуТовары.Количество,
| NULL
|ИЗ
| СРасшифровкой КАК СРасшифровкой
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
| ПО СРасшифровкой.Заказ = ЗаказПоставщикуТовары.Ссылка
| И (ЗаказПоставщикуТовары.Отменено = ЛОЖЬ)
|ГДЕ
| ЗаказПоставщикуТовары.Отменено = ЛОЖЬ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СРасшифровкой.СуммаВзаиморасчетов,
| СРасшифровкой.Сумма,
| СРасшифровкой.ВалютаВзаиморасчетов,
| СРасшифровкой.Валюта,
| СРасшифровкой.Заказ,
| СРасшифровкой.Документ,
| СРасшифровкой.СуммаПриход,
| СРасшифровкой.СуммаРасход,
| СРасшифровкой.НаправлениеДеятельности,
| СРасшифровкой.Операция,
| СРасшифровкой.ДатаПроведенияБанком,
| СРасшифровкой.СуммаПлатежки,
| ПриобретениеТоваровУслугТовары.Номенклатура,
| СРасшифровкой.СуммаЗаказа,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаПриход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ПриобретениеТоваровУслугТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаРасход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ПриобретениеТоваровУслугТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.СуммаВзаиморасчетов / СРасшифровкой.СуммаЗаказа
| ИНАЧЕ 0
| КОНЕЦ,
| ПриобретениеТоваровУслугТовары.Количество,
| NULL
|ИЗ
| СРасшифровкой КАК СРасшифровкой
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
| ПО СРасшифровкой.Заказ = ПриобретениеТоваровУслугТовары.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ЦеныНоменклатуры25.Период) КАК ДатаЦены
|ПОМЕСТИТЬ ДатаЦеныЗаказа
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
|ГДЕ
| НАЧАЛОПЕРИОДА(ЦеныНоменклатуры25.Период, ДЕНЬ) <= ВсеПосчитали.ДатаЗаказа
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ВЫБОР
| КОГДА КурсыВсе.Кратность ЕСТЬ NULL
| ИЛИ КурсыВсе.Кратность = 0
| ТОГДА ЦеныНоменклатуры25.Цена
| ИНАЧЕ ЦеныНоменклатуры25.Цена * КурсыВсе.Курс / КурсыВсе.Кратность
| КОНЕЦ) КАК Цена,
| ЦеныНоменклатуры25.Цена КАК ЦенаРегистр,
| ЦеныНоменклатуры25.Валюта КАК ВалютаЦены,
| ЦеныНоменклатуры25.Период КАК ПериодЦены,
| КурсыВсе.Курс КАК КурсЦены,
| КурсыВсе.Кратность КАК КратностьЦены
|ПОМЕСТИТЬ ЦенаЗавода
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ЦеныНоменклатуры25.Валюта = КурсыВсе.Валюта
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатаЦеныЗаказа КАК ДатаЦеныЗаказа
| ПО (ДатаЦеныЗаказа.ДатаЦены = ЦеныНоменклатуры25.Период)
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
| И ЦеныНоменклатуры25.Номенклатура = ДатаЦеныЗаказа.Номенклатура
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура,
| ЦеныНоменклатуры25.Цена,
| ЦеныНоменклатуры25.Период,
| ЦеныНоменклатуры25.Валюта,
| КурсыВсе.Курс,
| КурсыВсе.Кратность
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВсеПосчитали.Сумма КАК Сумма,
| ВсеПосчитали.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВсеПосчитали.Валюта КАК Валюта,
| ВсеПосчитали.Заказ КАК Заказ,
| ВсеПосчитали.Документ КАК Документ,
| ВсеПосчитали.СуммаПриход КАК СуммаПриход,
| ВсеПосчитали.СуммаРасход КАК СуммаРасход,
| ВсеПосчитали.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВсеПосчитали.Операция КАК Операция,
| ВсеПосчитали.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ВсеПосчитали.СуммаПлатежки КАК СуммаПлатежки,
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| ВсеПосчитали.СуммаЗаказа КАК СуммаЗаказа,
| ВсеПосчитали.ПриходПоНоменклатуре КАК ПриходПоНоменклатуре,
| ВсеПосчитали.РасходПоНоменклатуре КАК РасходПоНоменклатуре,
| ЕСТЬNULL(ВсеПосчитали.ПриходПоНоменклатуре, 0) * КурсыВсе.Курс / КурсыВсе.Кратность КАК ПриходПоНоменклатуреРуб,
| ЕСТЬNULL(ВсеПосчитали.РасходПоНоменклатуре, 0) * КурсыВсе.Курс / КурсыВсе.Кратность КАК РасходПоНоменклатуреРуб,
| ВсеПосчитали.Номенклатура.Родитель КАК Родитель,
| ВсеПосчитали.ПроцентОплаты КАК ПроцентОплаты,
| ВсеПосчитали.Количество КАК Количество
|ПОМЕСТИТЬ ДоосновнойПолки
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ВсеПосчитали.Валюта = КурсыВсе.Валюта
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДоосновнойПолки.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДоосновнойПолки.Сумма КАК Сумма,
| ДоосновнойПолки.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДоосновнойПолки.Валюта КАК Валюта,
| ДоосновнойПолки.Заказ КАК Заказ,
| ДоосновнойПолки.Документ КАК Документ,
| ДоосновнойПолки.СуммаПриход КАК СуммаПриход,
| ДоосновнойПолки.СуммаРасход КАК СуммаРасход,
| ДоосновнойПолки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДоосновнойПолки.Операция КАК Операция,
| ДоосновнойПолки.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ДоосновнойПолки.СуммаПлатежки КАК СуммаПлатежки,
| ДоосновнойПолки.Номенклатура КАК Номенклатура,
| ДоосновнойПолки.СуммаЗаказа КАК СуммаЗаказа,
| ДоосновнойПолки.ПриходПоНоменклатуре КАК ПриходПоНоменклатуре,
| ДоосновнойПолки.РасходПоНоменклатуре КАК РасходПоНоменклатуре,
| ДоосновнойПолки.ПриходПоНоменклатуреРуб КАК ПриходПоНоменклатуреРуб,
| ДоосновнойПолки.РасходПоНоменклатуреРуб КАК РасходПоНоменклатуреРуб,
| ДоосновнойПолки.Родитель КАК Родитель,
| ДоходностьПапокПоОтветственнымСрезПоследних.ОсновнаяПолка КАК ОсновнаяПолка,
| ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) КАК Доходность,
| ДоходностьПапокПоОтветственнымСрезПоследних.Ответственный КАК Ответственный,
| ЦенаЗавода.Цена * ДоосновнойПолки.ПроцентОплаты * ДоосновнойПолки.Количество КАК ЦенаЗаводаНаПроцентОплаты,
| ДоосновнойПолки.ПроцентОплаты КАК ПроцентОплаты,
| ЦенаЗавода.ЦенаРегистр КАК ЦенаРегистр,
| ДоосновнойПолки.Количество КАК Количество,
| ЦенаЗавода.ВалютаЦены КАК ВалютаЦены,
| ЦенаЗавода.ПериодЦены КАК ПериодЦены,
| ЦенаЗавода.КурсЦены КАК КурсЦены,
| ЦенаЗавода.КратностьЦены КАК КратностьЦены
|ИЗ
| ДоосновнойПолки КАК ДоосновнойПолки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДоходностьПапокПоОтветственным.СрезПоследних КАК ДоходностьПапокПоОтветственнымСрезПоследних
| ПО ДоосновнойПолки.Родитель = ДоходностьПапокПоОтветственнымСрезПоследних.ПапкаНоменклатуры
| И (ДоходностьПапокПоОтветственнымСрезПоследних.НеАктивна = ЛОЖЬ)
| ЛЕВОЕ СОЕДИНЕНИЕ ЦенаЗавода КАК ЦенаЗавода
| ПО ДоосновнойПолки.Номенклатура = ЦенаЗавода.Номенклатура";
Запрос.УстановитьПараметр("пДокумент",пДокумент);
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(пДокумент.ДатаПроведенияБанком));
Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(пДокумент.ДатаПроведенияБанком) + 1);
Запрос.УстановитьПараметр("ПустаяХарЦО",Справочники.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаясерияЦО",Справочники.СерииНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ЦенаЗавода",РаботаСКонстантамиПовтИсп.ПолучитьЗначениеКонстантыКАМИ("ВидЦен_ЦенаЗавода"));
ТЗ = Запрос.Выполнить().Выгрузить();
Возврат ТЗ;
КонецФункции
Функция ПолучитьСуммыПоНоменклатурноВзаимозачет(пДокумент) Экспорт
//
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ПОМЕСТИТЬ КурсыВсе
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних((&датаДокумента), ) КАК КурсыВалютСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВзаимозачетЗадолженностиДебиторскаяЗадолженность.СуммаРегл КАК СуммаПриход,
| ВзаимозачетЗадолженностиДебиторскаяЗадолженность.ОбъектРасчетов.Объект КАК Заказ,
| 0 КАК СуммаРасход,
| ВзаимозачетЗадолженностиДебиторскаяЗадолженность.Ссылка КАК Документ,
| ВзаимозачетЗадолженностиДебиторскаяЗадолженность.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
|ПОМЕСТИТЬ ДанныеДокумента
|ИЗ
| Документ.ВзаимозачетЗадолженности.ДебиторскаяЗадолженность КАК ВзаимозачетЗадолженностиДебиторскаяЗадолженность
|ГДЕ
| ВзаимозачетЗадолженностиДебиторскаяЗадолженность.Ссылка = &пДокумент
| И ТИПЗНАЧЕНИЯ(ВзаимозачетЗадолженностиДебиторскаяЗадолженность.ОбъектРасчетов.Объект) = ТИП(Документ.ЗаказКлиента)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 0,
| ВзаимозачетЗадолженностиКредиторскаяЗадолженность.ОбъектРасчетов.Объект,
| ВзаимозачетЗадолженностиКредиторскаяЗадолженность.СуммаРегл,
| ВзаимозачетЗадолженностиКредиторскаяЗадолженность.Ссылка,
| ВзаимозачетЗадолженностиКредиторскаяЗадолженность.СуммаВзаиморасчетов
|ИЗ
| Документ.ВзаимозачетЗадолженности.КредиторскаяЗадолженность КАК ВзаимозачетЗадолженностиКредиторскаяЗадолженность
|ГДЕ
| ВзаимозачетЗадолженностиКредиторскаяЗадолженность.Ссылка = &пДокумент
| И ТИПЗНАЧЕНИЯ(ВзаимозачетЗадолженностиКредиторскаяЗадолженность.ОбъектРасчетов.Объект) = ТИП(Документ.ЗаказКлиента)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ЗаказКлиентаТовары.Ссылка.СуммаДокумента = 0
| ТОГДА 0
| ИНАЧЕ ЗаказКлиентаТовары.Сумма / ЗаказКлиентаТовары.Ссылка.СуммаДокумента * ДанныеДокумента.СуммаРасход
| КОНЕЦ КАК РасходПоНоменклатуреРуб,
| ВЫБОР
| КОГДА ЗаказКлиентаТовары.Ссылка.СуммаДокумента = 0
| ТОГДА 0
| ИНАЧЕ ЗаказКлиентаТовары.Сумма / ЗаказКлиентаТовары.Ссылка.СуммаДокумента * ДанныеДокумента.СуммаПриход
| КОНЕЦ КАК ПриходПоНоменклатуреРуб,
| ДанныеДокумента.Заказ КАК Заказ,
| ДанныеДокумента.Заказ.Дата КАК ДатаЗаказа,
| ВЫБОР
| КОГДА ЗаказКлиентаТовары.Ссылка.СуммаДокумента = 0
| ТОГДА 0
| ИНАЧЕ ДанныеДокумента.СуммаВзаиморасчетов / ЗаказКлиентаТовары.Ссылка.СуммаДокумента
| КОНЕЦ КАК ПроцентОплаты,
| ЗаказКлиентаТовары.Количество КАК Количество,
| ЗаказКлиентаТовары.Номенклатура.Родитель КАК Родитель,
| ДанныеДокумента.Документ КАК Документ
|ПОМЕСТИТЬ ВсеПосчитали
|ИЗ
| ДанныеДокумента КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
| ПО ДанныеДокумента.Заказ = ЗаказКлиентаТовары.Ссылка
|ГДЕ
| НЕ ЗаказКлиентаТовары.Номенклатура ЕСТЬ NULL
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ЦеныНоменклатуры25.Период) КАК ДатаЦены
|ПОМЕСТИТЬ ДатаЦеныЗаказа
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
|ГДЕ
| НАЧАЛОПЕРИОДА(ЦеныНоменклатуры25.Период, ДЕНЬ) <= ВсеПосчитали.ДатаЗаказа
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ВЫБОР
| КОГДА КурсыВсе.Кратность ЕСТЬ NULL
| ИЛИ КурсыВсе.Кратность = 0
| ТОГДА ЦеныНоменклатуры25.Цена
| ИНАЧЕ ЦеныНоменклатуры25.Цена * КурсыВсе.Курс / КурсыВсе.Кратность
| КОНЕЦ) КАК Цена,
| ЦеныНоменклатуры25.Цена КАК ЦенаРегистр,
| ЦеныНоменклатуры25.Валюта КАК ВалютаЦены,
| ЦеныНоменклатуры25.Период КАК ПериодЦены,
| КурсыВсе.Курс КАК КурсЦены,
| КурсыВсе.Кратность КАК КратностьЦены
|ПОМЕСТИТЬ ЦенаЗавода
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ЦеныНоменклатуры25.Валюта = КурсыВсе.Валюта
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатаЦеныЗаказа КАК ДатаЦеныЗаказа
| ПО (ДатаЦеныЗаказа.ДатаЦены = ЦеныНоменклатуры25.Период)
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
| И ЦеныНоменклатуры25.Номенклатура = ДатаЦеныЗаказа.Номенклатура
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура,
| ЦеныНоменклатуры25.Цена,
| ЦеныНоменклатуры25.Валюта,
| ЦеныНоменклатуры25.Период,
| КурсыВсе.Курс,
| КурсыВсе.Кратность
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| ВсеПосчитали.РасходПоНоменклатуреРуб КАК РасходПоНоменклатуреРуб,
| ВсеПосчитали.ПриходПоНоменклатуреРуб КАК ПриходПоНоменклатуреРуб,
| ВсеПосчитали.Заказ КАК Заказ,
| ВсеПосчитали.ДатаЗаказа КАК ДатаЗаказа,
| ВсеПосчитали.ПроцентОплаты КАК ПроцентОплаты,
| ЦенаЗавода.Цена КАК Цена,
| ЦенаЗавода.ЦенаРегистр КАК ЦенаРегистр,
| ЦенаЗавода.ВалютаЦены КАК ВалютаЦены,
| ЦенаЗавода.ПериодЦены КАК ПериодЦены,
| ЦенаЗавода.КурсЦены КАК КурсЦены,
| ЦенаЗавода.КратностьЦены КАК КратностьЦены,
| ВЫБОР
| КОГДА ВсеПосчитали.ПриходПоНоменклатуреРуб > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество < 0.9 * ВсеПосчитали.ПриходПоНоменклатуреРуб
| ТОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество
| ИНАЧЕ ВсеПосчитали.ПриходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| ИНАЧЕ ВсеПосчитали.ПриходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество < 0.9 * ВсеПосчитали.РасходПоНоменклатуреРуб
| ТОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество
| ИНАЧЕ ВсеПосчитали.РасходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| ИНАЧЕ ВсеПосчитали.РасходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| КОНЕЦ КАК СуммаЗачет,
| ДоходностьПапокПоОтветственнымСрезПоследних.ПапкаНоменклатуры КАК ПапкаНоменклатуры,
| ДоходностьПапокПоОтветственнымСрезПоследних.ОсновнаяПолка КАК ОсновнаяПолка,
| ВсеПосчитали.Количество КАК Количество,
| ДоходностьПапокПоОтветственнымСрезПоследних.Ответственный КАК Ответственный,
| ВсеПосчитали.Документ КАК Документ,
| ВЫБОР
| КОГДА ВсеПосчитали.ПриходПоНоменклатуреРуб > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество < 0.9 * ВсеПосчитали.ПриходПоНоменклатуреРуб
| ТОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество
| ИНАЧЕ ВсеПосчитали.ПриходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| ИНАЧЕ ВсеПосчитали.ПриходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| КОНЕЦ КАК ЗачетПриход,
| ВЫБОР
| КОГДА ВсеПосчитали.РасходПоНоменклатуреРуб > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество > 0
| ТОГДА ВЫБОР
| КОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество < 0.9 * ВсеПосчитали.РасходПоНоменклатуреРуб
| ТОГДА ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество
| ИНАЧЕ ВсеПосчитали.РасходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| ИНАЧЕ ВсеПосчитали.РасходПоНоменклатуреРуб * ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) / 100
| КОНЕЦ
| КОНЕЦ КАК ЗачетРасход,
| ВсеПосчитали.Родитель КАК Родитель,
| ДоходностьПапокПоОтветственнымСрезПоследних.Доходность КАК Доходность,
| ЦенаЗавода.Цена * ВсеПосчитали.ПроцентОплаты * ВсеПосчитали.Количество КАК ЦенаЗаводаНаПроцентОплаты,
| ВсеПосчитали.Документ.Дата КАК ДатаПроведенияБанком
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ ЦенаЗавода КАК ЦенаЗавода
| ПО ВсеПосчитали.Номенклатура = ЦенаЗавода.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДоходностьПапокПоОтветственным.СрезПоследних КАК ДоходностьПапокПоОтветственнымСрезПоследних
| ПО ВсеПосчитали.Родитель = ДоходностьПапокПоОтветственнымСрезПоследних.ПапкаНоменклатуры
| И (ДоходностьПапокПоОтветственнымСрезПоследних.НеАктивна = ЛОЖЬ)";
Запрос.УстановитьПараметр("пДокумент",пДокумент);
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
//Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(пДокумент.ДатаПроведенияБанком));
//Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(пДокумент.ДатаПроведенияБанком) + 1);
Запрос.УстановитьПараметр("ПустаяХарЦО",Справочники.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаясерияЦО",Справочники.СерииНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ЦенаЗавода",РаботаСКонстантамиПовтИсп.ПолучитьЗначениеКонстантыКАМИ("ВидЦен_ЦенаЗавода"));
ТЗ = Запрос.Выполнить().Выгрузить();
Возврат ТЗ;
КонецФункции
Функция ПолучитьСуммыПоНоменклатурноЭквайринг(пДокумент) Экспорт
//
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ПОМЕСТИТЬ КурсыВсе
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&датаДокумента, ) КАК КурсыВалютСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДенежныеСредстваБезналичныеОбороты.Регистратор КАК Документ,
| СУММА(ДенежныеСредстваБезналичныеОбороты.СуммаПриход) КАК СуммаПриход,
| СУММА(ДенежныеСредстваБезналичныеОбороты.СуммаРасход) КАК СуммаРасход
|ПОМЕСТИТЬ ОборотыЗаПериод
|ИЗ
| РегистрНакопления.РасчетыПоЭквайрингу.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ДенежныеСредстваБезналичныеОбороты
|ГДЕ
| ДенежныеСредстваБезналичныеОбороты.Регистратор ССЫЛКА Документ.ОперацияПоПлатежнойКарте
| И ДенежныеСредстваБезналичныеОбороты.Регистратор = &пДокумент
|
|СГРУППИРОВАТЬ ПО
| ДенежныеСредстваБезналичныеОбороты.Регистратор
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма) КАК СуммаВзаиморасчетов,
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма) КАК Сумма,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта КАК Валюта,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа КАК Заказ,
| ОборотыЗаПериод.Документ КАК Документ,
| ОборотыЗаПериод.СуммаПриход КАК СуммаПриход,
| ОборотыЗаПериод.СуммаРасход КАК СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента КАК СуммаПлатежки,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация КАК Операция,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Дата КАК ДатаПроведенияБанком,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.СуммаДокумента КАК СуммаЗаказа,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов КАК КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов КАК КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.Дата, ДЕНЬ) КАК ДатаЗаказа
|ПОМЕСТИТЬ СРасшифровкой
|ИЗ
| ОборотыЗаПериод КАК ОборотыЗаПериод
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа
| ПО ОборотыЗаПериод.Документ = ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Дата,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.Дата, ДЕНЬ),
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СРасшифровкой.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| СРасшифровкой.Сумма КАК Сумма,
| СРасшифровкой.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СРасшифровкой.Валюта КАК Валюта,
| СРасшифровкой.Заказ КАК Заказ,
| СРасшифровкой.Документ КАК Документ,
| СРасшифровкой.СуммаПриход КАК СуммаПриход,
| СРасшифровкой.СуммаРасход КАК СуммаРасход,
| СРасшифровкой.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СРасшифровкой.Операция КАК Операция,
| СРасшифровкой.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| СРасшифровкой.СуммаПлатежки КАК СуммаПлатежки,
| ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
| СРасшифровкой.СуммаЗаказа КАК СуммаЗаказа,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаПриход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказКлиентаТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриходПоНоменклатуре,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаРасход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказКлиентаТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РасходПоНоменклатуре,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.СуммаВзаиморасчетов / СРасшифровкой.СуммаЗаказа
| ИНАЧЕ 0
| КОНЕЦ КАК ПроцентОплаты,
| ЗаказКлиентаТовары.Количество КАК Количество,
| СРасшифровкой.ДатаЗаказа КАК ДатаЗаказа
|ПОМЕСТИТЬ ВсеПосчитали
|ИЗ
| СРасшифровкой КАК СРасшифровкой
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
| ПО СРасшифровкой.Заказ = ЗаказКлиентаТовары.Ссылка
| И (ЗаказКлиентаТовары.Отменено = ЛОЖЬ)
|ГДЕ
| ЗаказКлиентаТовары.Отменено = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ЦеныНоменклатуры25.Период) КАК ДатаЦены
|ПОМЕСТИТЬ ДатаЦеныЗаказа
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
|ГДЕ
| НАЧАЛОПЕРИОДА(ЦеныНоменклатуры25.Период, ДЕНЬ) <= ВсеПосчитали.ДатаЗаказа
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ВЫБОР
| КОГДА КурсыВсе.Кратность ЕСТЬ NULL
| ИЛИ КурсыВсе.Кратность = 0
| ТОГДА ЦеныНоменклатуры25.Цена
| ИНАЧЕ ЦеныНоменклатуры25.Цена * КурсыВсе.Курс / КурсыВсе.Кратность
| КОНЕЦ) КАК Цена,
| ЦеныНоменклатуры25.Цена КАК ЦенаРегистр,
| ЦеныНоменклатуры25.Валюта КАК ВалютаЦены,
| ЦеныНоменклатуры25.Период КАК ПериодЦены,
| КурсыВсе.Курс КАК КурсЦены,
| КурсыВсе.Кратность КАК КратностьЦены
|ПОМЕСТИТЬ ЦенаЗавода
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ЦеныНоменклатуры25.Валюта = КурсыВсе.Валюта
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатаЦеныЗаказа КАК ДатаЦеныЗаказа
| ПО (ДатаЦеныЗаказа.ДатаЦены = ЦеныНоменклатуры25.Период)
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
| И ЦеныНоменклатуры25.Номенклатура = ДатаЦеныЗаказа.Номенклатура
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура,
| ЦеныНоменклатуры25.Цена,
| ЦеныНоменклатуры25.Период,
| ЦеныНоменклатуры25.Валюта,
| КурсыВсе.Курс,
| КурсыВсе.Кратность
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВсеПосчитали.Сумма КАК Сумма,
| ВсеПосчитали.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВсеПосчитали.Валюта КАК Валюта,
| ВсеПосчитали.Заказ КАК Заказ,
| ВсеПосчитали.Документ КАК Документ,
| ВсеПосчитали.СуммаПриход КАК СуммаПриход,
| ВсеПосчитали.СуммаРасход КАК СуммаРасход,
| ВсеПосчитали.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВсеПосчитали.Операция КАК Операция,
| ВсеПосчитали.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ВсеПосчитали.СуммаПлатежки КАК СуммаПлатежки,
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| ВсеПосчитали.СуммаЗаказа КАК СуммаЗаказа,
| ВсеПосчитали.ПриходПоНоменклатуре КАК ПриходПоНоменклатуре,
| ВсеПосчитали.РасходПоНоменклатуре КАК РасходПоНоменклатуре,
| ЕСТЬNULL(ВсеПосчитали.ПриходПоНоменклатуре, 0) * КурсыВсе.Курс / КурсыВсе.Кратность КАК ПриходПоНоменклатуреРуб,
| ЕСТЬNULL(ВсеПосчитали.РасходПоНоменклатуре, 0) * КурсыВсе.Курс / КурсыВсе.Кратность КАК РасходПоНоменклатуреРуб,
| ВсеПосчитали.Номенклатура.Родитель КАК Родитель,
| ВсеПосчитали.ПроцентОплаты КАК ПроцентОплаты,
| ВсеПосчитали.Количество КАК Количество
|ПОМЕСТИТЬ ДоосновнойПолки
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ВсеПосчитали.Валюта = КурсыВсе.Валюта
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДоосновнойПолки.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДоосновнойПолки.Сумма КАК Сумма,
| ДоосновнойПолки.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДоосновнойПолки.Валюта КАК Валюта,
| ДоосновнойПолки.Заказ КАК Заказ,
| ДоосновнойПолки.Документ КАК Документ,
| ДоосновнойПолки.СуммаПриход КАК СуммаПриход,
| ДоосновнойПолки.СуммаРасход КАК СуммаРасход,
| ДоосновнойПолки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДоосновнойПолки.Операция КАК Операция,
| ДоосновнойПолки.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ДоосновнойПолки.СуммаПлатежки КАК СуммаПлатежки,
| ДоосновнойПолки.Номенклатура КАК Номенклатура,
| ДоосновнойПолки.СуммаЗаказа КАК СуммаЗаказа,
| ДоосновнойПолки.ПриходПоНоменклатуре КАК ПриходПоНоменклатуре,
| ДоосновнойПолки.РасходПоНоменклатуре КАК РасходПоНоменклатуре,
| ДоосновнойПолки.ПриходПоНоменклатуреРуб КАК ПриходПоНоменклатуреРуб,
| ДоосновнойПолки.РасходПоНоменклатуреРуб КАК РасходПоНоменклатуреРуб,
| ДоосновнойПолки.Родитель КАК Родитель,
| ДоходностьПапокПоОтветственнымСрезПоследних.ОсновнаяПолка КАК ОсновнаяПолка,
| ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) КАК Доходность,
| ДоходностьПапокПоОтветственнымСрезПоследних.Ответственный КАК Ответственный,
| ЦенаЗавода.Цена * ДоосновнойПолки.ПроцентОплаты * ДоосновнойПолки.Количество КАК ЦенаЗаводаНаПроцентОплаты,
| ДоосновнойПолки.ПроцентОплаты КАК ПроцентОплаты,
| ЦенаЗавода.ЦенаРегистр КАК ЦенаРегистр,
| ДоосновнойПолки.Количество КАК Количество,
| ЦенаЗавода.ВалютаЦены КАК ВалютаЦены,
| ЦенаЗавода.ПериодЦены КАК ПериодЦены,
| ЦенаЗавода.КурсЦены КАК КурсЦены,
| ЦенаЗавода.КратностьЦены КАК КратностьЦены
|ИЗ
| ДоосновнойПолки КАК ДоосновнойПолки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДоходностьПапокПоОтветственным.СрезПоследних КАК ДоходностьПапокПоОтветственнымСрезПоследних
| ПО ДоосновнойПолки.Родитель = ДоходностьПапокПоОтветственнымСрезПоследних.ПапкаНоменклатуры
| И (ДоходностьПапокПоОтветственнымСрезПоследних.НеАктивна = ЛОЖЬ)
| ЛЕВОЕ СОЕДИНЕНИЕ ЦенаЗавода КАК ЦенаЗавода
| ПО ДоосновнойПолки.Номенклатура = ЦенаЗавода.Номенклатура";
Запрос.УстановитьПараметр("пДокумент",пДокумент);
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(пДокумент.Дата));
Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(пДокумент.Дата) + 1);
Запрос.УстановитьПараметр("ПустаяХарЦО",Справочники.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаясерияЦО",Справочники.СерииНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ЦенаЗавода",РаботаСКонстантамиПовтИсп.ПолучитьЗначениеКонстантыКАМИ("ВидЦен_ЦенаЗавода"));
ТЗ = Запрос.Выполнить().Выгрузить();
Возврат ТЗ;
КонецФункции
Функция ПолучитьСуммыПоНоменклатурноКасса(пДокумент) Экспорт
//
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КурсыВалютСрезПоследних.Валюта КАК Валюта,
| КурсыВалютСрезПоследних.Курс КАК Курс,
| КурсыВалютСрезПоследних.Кратность КАК Кратность
|ПОМЕСТИТЬ КурсыВсе
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&датаДокумента, ) КАК КурсыВалютСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ДенежныеСредстваБезналичныеОбороты.Регистратор КАК Документ,
| СУММА(ДенежныеСредстваБезналичныеОбороты.СуммаПриход) КАК СуммаПриход,
| СУММА(ДенежныеСредстваБезналичныеОбороты.СуммаРасход) КАК СуммаРасход
|ПОМЕСТИТЬ ОборотыЗаПериод
|ИЗ
| РегистрНакопления.ДенежныеСредстваНаличные.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ДенежныеСредстваБезналичныеОбороты
|ГДЕ
| (ДенежныеСредстваБезналичныеОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
| ИЛИ ДенежныеСредстваБезналичныеОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер)
| И ДенежныеСредстваБезналичныеОбороты.Регистратор = &пДокумент
|
|СГРУППИРОВАТЬ ПО
| ДенежныеСредстваБезналичныеОбороты.Регистратор
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма) КАК СуммаВзаиморасчетов,
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма) КАК Сумма,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта КАК Валюта,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа КАК Заказ,
| ОборотыЗаПериод.Документ КАК Документ,
| ОборотыЗаПериод.СуммаПриход КАК СуммаПриход,
| ОборотыЗаПериод.СуммаРасход КАК СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента КАК СуммаПлатежки,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация КАК Операция,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Дата КАК ДатаПроведенияБанком,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.СуммаДокумента КАК СуммаЗаказа,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов КАК КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов КАК КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.Дата, ДЕНЬ) КАК ДатаЗаказа
|ПОМЕСТИТЬ СРасшифровкой
|ИЗ
| ОборотыЗаПериод КАК ОборотыЗаПериод
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа
| ПО ОборотыЗаПериод.Документ = ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Дата,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.Дата, ДЕНЬ),
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОснованиеПлатежа.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма),
| СУММА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма),
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Дата,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.Дата, ДЕНЬ)
|ИЗ
| ОборотыЗаПериод КАК ОборотыЗаПериод
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа
| ПО ОборотыЗаПериод.Документ = ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ВалютаВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта,
| ОборотыЗаПериод.Документ,
| ОборотыЗаПериод.СуммаПриход,
| ОборотыЗаПериод.СуммаРасход,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.СуммаДокумента,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.НаправлениеДеятельности,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.ХозяйственнаяОперация,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Дата,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.СуммаДокумента,
| НАЧАЛОПЕРИОДА(ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект.Дата, ДЕНЬ),
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.ОбъектРасчетов.Объект,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЧислительВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.КурсЗнаменательВзаиморасчетов,
| ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Валюта
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СРасшифровкой.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| СРасшифровкой.Сумма КАК Сумма,
| СРасшифровкой.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| СРасшифровкой.Валюта КАК Валюта,
| СРасшифровкой.Заказ КАК Заказ,
| СРасшифровкой.Документ КАК Документ,
| СРасшифровкой.СуммаПриход КАК СуммаПриход,
| СРасшифровкой.СуммаРасход КАК СуммаРасход,
| СРасшифровкой.НаправлениеДеятельности КАК НаправлениеДеятельности,
| СРасшифровкой.Операция КАК Операция,
| СРасшифровкой.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| СРасшифровкой.СуммаПлатежки КАК СуммаПлатежки,
| ЗаказКлиентаТовары.Номенклатура КАК Номенклатура,
| СРасшифровкой.СуммаЗаказа КАК СуммаЗаказа,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаПриход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказКлиентаТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ПриходПоНоменклатуре,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаРасход > 0
| ТОГДА ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.Сумма * (ЗаказКлиентаТовары.Сумма / СРасшифровкой.СуммаЗаказа)
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК РасходПоНоменклатуре,
| ВЫБОР
| КОГДА СРасшифровкой.СуммаЗаказа > 0
| ТОГДА СРасшифровкой.СуммаВзаиморасчетов / СРасшифровкой.СуммаЗаказа
| ИНАЧЕ 0
| КОНЕЦ КАК ПроцентОплаты,
| ЗаказКлиентаТовары.Количество КАК Количество,
| СРасшифровкой.ДатаЗаказа КАК ДатаЗаказа
|ПОМЕСТИТЬ ВсеПосчитали
|ИЗ
| СРасшифровкой КАК СРасшифровкой
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
| ПО СРасшифровкой.Заказ = ЗаказКлиентаТовары.Ссылка
| И (ЗаказКлиентаТовары.Отменено = ЛОЖЬ)
|ГДЕ
| ЗаказКлиентаТовары.Отменено = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ЦеныНоменклатуры25.Период) КАК ДатаЦены
|ПОМЕСТИТЬ ДатаЦеныЗаказа
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
|ГДЕ
| НАЧАЛОПЕРИОДА(ЦеныНоменклатуры25.Период, ДЕНЬ) <= ВсеПосчитали.ДатаЗаказа
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ВЫБОР
| КОГДА КурсыВсе.Кратность ЕСТЬ NULL
| ИЛИ КурсыВсе.Кратность = 0
| ТОГДА ЦеныНоменклатуры25.Цена
| ИНАЧЕ ЦеныНоменклатуры25.Цена * КурсыВсе.Курс / КурсыВсе.Кратность
| КОНЕЦ) КАК Цена,
| ЦеныНоменклатуры25.Цена КАК ЦенаРегистр,
| ЦеныНоменклатуры25.Валюта КАК ВалютаЦены,
| ЦеныНоменклатуры25.Период КАК ПериодЦены,
| КурсыВсе.Курс КАК КурсЦены,
| КурсыВсе.Кратность КАК КратностьЦены
|ПОМЕСТИТЬ ЦенаЗавода
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ЦеныНоменклатуры25.Валюта = КурсыВсе.Валюта
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатаЦеныЗаказа КАК ДатаЦеныЗаказа
| ПО (ДатаЦеныЗаказа.ДатаЦены = ЦеныНоменклатуры25.Период)
| И (ЦеныНоменклатуры25.ХарактеристикаЦО = &ПустаяХарЦо)
| И (ЦеныНоменклатуры25.СерияЦО = &ПустаясерияЦО)
| И (ЦеныНоменклатуры25.ВидЦены = &ЦенаЗавода)
| И ЦеныНоменклатуры25.Номенклатура = ДатаЦеныЗаказа.Номенклатура
| ПО ВсеПосчитали.Номенклатура = ЦеныНоменклатуры25.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ВсеПосчитали.Номенклатура,
| ЦеныНоменклатуры25.Цена,
| ЦеныНоменклатуры25.Период,
| ЦеныНоменклатуры25.Валюта,
| КурсыВсе.Курс,
| КурсыВсе.Кратность
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВсеПосчитали.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВсеПосчитали.Сумма КАК Сумма,
| ВсеПосчитали.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВсеПосчитали.Валюта КАК Валюта,
| ВсеПосчитали.Заказ КАК Заказ,
| ВсеПосчитали.Документ КАК Документ,
| ВсеПосчитали.СуммаПриход КАК СуммаПриход,
| ВсеПосчитали.СуммаРасход КАК СуммаРасход,
| ВсеПосчитали.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВсеПосчитали.Операция КАК Операция,
| ВсеПосчитали.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ВсеПосчитали.СуммаПлатежки КАК СуммаПлатежки,
| ВсеПосчитали.Номенклатура КАК Номенклатура,
| ВсеПосчитали.СуммаЗаказа КАК СуммаЗаказа,
| ВсеПосчитали.ПриходПоНоменклатуре КАК ПриходПоНоменклатуре,
| ВсеПосчитали.РасходПоНоменклатуре КАК РасходПоНоменклатуре,
| ЕСТЬNULL(ВсеПосчитали.ПриходПоНоменклатуре, 0) * КурсыВсе.Курс / КурсыВсе.Кратность КАК ПриходПоНоменклатуреРуб,
| ЕСТЬNULL(ВсеПосчитали.РасходПоНоменклатуре, 0) * КурсыВсе.Курс / КурсыВсе.Кратность КАК РасходПоНоменклатуреРуб,
| ВсеПосчитали.Номенклатура.Родитель КАК Родитель,
| ВсеПосчитали.ПроцентОплаты КАК ПроцентОплаты,
| ВсеПосчитали.Количество КАК Количество
|ПОМЕСТИТЬ ДоосновнойПолки
|ИЗ
| ВсеПосчитали КАК ВсеПосчитали
| ЛЕВОЕ СОЕДИНЕНИЕ КурсыВсе КАК КурсыВсе
| ПО ВсеПосчитали.Валюта = КурсыВсе.Валюта
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДоосновнойПолки.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ДоосновнойПолки.Сумма КАК Сумма,
| ДоосновнойПолки.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДоосновнойПолки.Валюта КАК Валюта,
| ДоосновнойПолки.Заказ КАК Заказ,
| ДоосновнойПолки.Документ КАК Документ,
| ДоосновнойПолки.СуммаПриход КАК СуммаПриход,
| ДоосновнойПолки.СуммаРасход КАК СуммаРасход,
| ДоосновнойПолки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДоосновнойПолки.Операция КАК Операция,
| ДоосновнойПолки.ДатаПроведенияБанком КАК ДатаПроведенияБанком,
| ДоосновнойПолки.СуммаПлатежки КАК СуммаПлатежки,
| ДоосновнойПолки.Номенклатура КАК Номенклатура,
| ДоосновнойПолки.СуммаЗаказа КАК СуммаЗаказа,
| ДоосновнойПолки.ПриходПоНоменклатуре КАК ПриходПоНоменклатуре,
| ДоосновнойПолки.РасходПоНоменклатуре КАК РасходПоНоменклатуре,
| ДоосновнойПолки.ПриходПоНоменклатуреРуб КАК ПриходПоНоменклатуреРуб,
| ДоосновнойПолки.РасходПоНоменклатуреРуб КАК РасходПоНоменклатуреРуб,
| ДоосновнойПолки.Родитель КАК Родитель,
| ДоходностьПапокПоОтветственнымСрезПоследних.ОсновнаяПолка КАК ОсновнаяПолка,
| ЕСТЬNULL(ДоходностьПапокПоОтветственнымСрезПоследних.Доходность, 50) КАК Доходность,
| ДоходностьПапокПоОтветственнымСрезПоследних.Ответственный КАК Ответственный,
| ЦенаЗавода.Цена * ДоосновнойПолки.ПроцентОплаты * ДоосновнойПолки.Количество КАК ЦенаЗаводаНаПроцентОплаты,
| ДоосновнойПолки.ПроцентОплаты КАК ПроцентОплаты,
| ЦенаЗавода.ЦенаРегистр КАК ЦенаРегистр,
| ДоосновнойПолки.Количество КАК Количество,
| ЦенаЗавода.ВалютаЦены КАК ВалютаЦены,
| ЦенаЗавода.ПериодЦены КАК ПериодЦены,
| ЦенаЗавода.КурсЦены КАК КурсЦены,
| ЦенаЗавода.КратностьЦены КАК КратностьЦены
|ИЗ
| ДоосновнойПолки КАК ДоосновнойПолки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДоходностьПапокПоОтветственным.СрезПоследних КАК ДоходностьПапокПоОтветственнымСрезПоследних
| ПО ДоосновнойПолки.Родитель = ДоходностьПапокПоОтветственнымСрезПоследних.ПапкаНоменклатуры
| И (ДоходностьПапокПоОтветственнымСрезПоследних.НеАктивна = ЛОЖЬ)
| ЛЕВОЕ СОЕДИНЕНИЕ ЦенаЗавода КАК ЦенаЗавода
| ПО ДоосновнойПолки.Номенклатура = ЦенаЗавода.Номенклатура";
Запрос.УстановитьПараметр("пДокумент",пДокумент);
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(пДокумент.Дата));
Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(пДокумент.Дата) + 1);
Запрос.УстановитьПараметр("ПустаяХарЦО",Справочники.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ПустаясерияЦО",Справочники.СерииНоменклатурыДляЦенообразования.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаДокумента",пДокумент.Дата);
Запрос.УстановитьПараметр("ЦенаЗавода",РаботаСКонстантамиПовтИсп.ПолучитьЗначениеКонстантыКАМИ("ВидЦен_ЦенаЗавода"));
ТЗ = Запрос.Выполнить().Выгрузить();
Возврат ТЗ;
КонецФункции