#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Закупки");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетДенежныхСредств");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ЦеныИСкидки");
ОтчетОРозничныхВозвратахЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ОтчетОРозничныхВозвратах") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыПоЭквайрингу(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваВКассахККМ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаБонусныеБаллы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ОтчетОРозничныхВозвратахЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ОформитьОтгрузкуВРозницу(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ОтчетОРозничныхВозвратахЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
КомандаСоздатьНаОсновании = Неопределено;
Если ПравоДоступа("Добавление", Метаданные.Документы.ОтчетОРозничныхВозвратах) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ОтчетОРозничныхВозвратах.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ОтчетОРозничныхВозвратах);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьРозничныеПродажи";
КонецЕсли;
Возврат КомандаСоздатьНаОсновании;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
Отчеты.ОстаткиТоваровОрганизаций.ДобавитьКомандуОтчета(КомандыОтчетов);
ОтчетОРозничныхВозвратахЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Склад,Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ОтчетОРозничныхВозвратах";
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Истина);
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПараметрыСерийСклада.ИспользоватьСерииНоменклатуры;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПриемкаПоВозвратуОтКлиента);
ПараметрыУказанияСерий.СерииПриПланированииОтгрузкиУказываютсяВТЧСерии = Истина;
Если СкладыСервер.ИспользоватьСкладскиеПомещения(Объект.Склад) Тогда
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Помещение");
КонецЕсли;
ПараметрыУказанияСерий.ПоляСвязи.Добавить("ПоЧекуКоррекции");
ПараметрыУказанияСерий.ПоляСвязи.Добавить("СпособОпределенияСебестоимости");
ПараметрыУказанияСерий.ПоляСвязи.Добавить("ДокументРеализации");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.ПланированиеОтбора = Истина;
ПараметрыУказанияСерий.ФактОтбора = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ПараметрыУказанияСерий.ОперацияДокумента = Перечисления.ХозяйственныеОперации.ВозвратДеньВДень;
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ЕстьПомещения = (ПараметрыУказанияСерий.ПоляСвязи.Найти("Помещение") <> Неопределено);
Если ЕстьПомещения Тогда
Возврат ТекстЗапросаЗаполненияСтатусовУказанияСерийСПомещениями();
Иначе
Возврат ТекстЗапросаЗаполненияСтатусовУказанияСерийБезПомещений();
КонецЕсли;
КонецФункции
#КонецОбласти
#Область ПроводкиРеглУчета
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ОтчетОРозничныхВозвратахЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ОтчетОРозничныхВозвратахЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(КассаККМ)
| И ЗначениеРазрешено(Подразделение)
| И ЗначениеРазрешено(Склад)";
КонецПроцедуры
#КонецОбласти
Функция ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.Склад = Объект.Склад;
ПараметрыЗаполнения.Подразделение = Объект.Подразделение;
ПараметрыЗаполнения.РозничнаяПродажа = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура("Товары");
Возврат ТаблицыДокумента;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
СинонимТаблицыДокумента = "";
ПолноеИмяДокумента = "Документ.ОтчетОРозничныхВозвратах";
ПереопределениеРасчетаПараметров = Новый Структура;
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("Партнер", "ЗНАЧЕНИЕ(Справочник.Партнеры.РозничныйПокупатель)");
ПереопределениеРасчетаПараметров.Вставить("Контрагент", "ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)");
ПереопределениеРасчетаПараметров.Вставить("Договор", "ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)");
ПереопределениеРасчетаПараметров.Вставить("НаправлениеДеятельности", "ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)");
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ВЗапросеЕстьИсточник = Ложь;
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.КассаККМ.ТипКассы КАК ТипКассы,
| ЗНАЧЕНИЕ(Справочник.Партнеры.РозничныйПокупатель) КАК Партнер,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК Договор,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Валюта КАК Валюта,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОтРозничногоПокупателя) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВРозницу) КАК ХозяйственнаяОперацияРеализацияВРозницу,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента) КАК СтатьяДвиженияДенежныхСредств,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ВозвратОплатыКлиенту) КАК СтатьяДвиженияДенежныхСредствВозвратОплатыКлиенту,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.Ответственный КАК Менеджер,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ДанныеДокумента.КассоваяСмена КАК КассоваяСмена,
| ДанныеДокумента.КассоваяСмена.Статус КАК СтатусКассовойСмены,
| ДанныеДокумента.КассоваяСмена.СтатусРегламентныхОпераций КАК СтатусРегламентныхОпераций,
| ДанныеДокумента.ОрганизацияЕГАИС КАК ОрганизацияЕГАИС,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратОтРозничногоПокупателя) КАК НастройкаХозяйственнойОперации,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.РеализацияВРозницу) КАК НастройкаХозяйственнойОперацииРеализацияВРозницу,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.Организация, Реквизиты.Период);
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.Текст = "ВЫБРАТЬ
| СУММА(ТаблицаДляРасчетаСуммыОплатыНаличными.Сумма) КАК СуммаОплатыНаличными,
| СУММА(ТаблицаДляРасчетаСуммыОплатыНаличными.СуммаНДС) КАК СуммаНДС
|ИЗ
| (ВЫБРАТЬ
| &СуммаДокумента КАК Сумма,
| 0 КАК СуммаНДС
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| -ТабличнаяЧасть.Сумма,
| 0
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТабличнаяЧасть
| ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 0,
| ТабличнаяЧасть.СуммаНДС
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТабличнаяЧасть
| ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка) КАК ТаблицаДляРасчетаСуммыОплатыНаличными";
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
Запрос.УстановитьПараметр("СуммаОплатыНаличными", ТаблицаРезультата[0].СуммаОплатыНаличными);
Запрос.УстановитьПараметр("СуммаНДС", ТаблицаРезультата[0].СуммаНДС);
Если Реквизиты.ТипКассы = Перечисления.ТипыКассККМ.ФискальныйРегистратор
И ЗначениеЗаполнено(Реквизиты.КассоваяСмена) Тогда
ПолноеПроведение = (Реквизиты.СтатусКассовойСмены = Перечисления.СтатусыКассовойСмены.Закрыта
И Реквизиты.СтатусРегламентныхОпераций = Перечисления.СтатусыРегламентныхОперацийКассовойСмены.СозданОтчетЧекиЗаархивированы);
Иначе
ПолноеПроведение = Истина;
КонецЕсли;
Запрос.УстановитьПараметр("НачалоМесяцаПериода", НачалоМесяца(Реквизиты.Период));
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.УстановитьПараметр("ПолноеПроведение", ПолноеПроведение);
Запрос.УстановитьПараметр("ЦенаВключаетНДС", ?(Реквизиты.ЦенаВключаетНДС, 0, 1));
Запрос.УстановитьПараметр("ЦенаНеВключаетНДС", ?(Реквизиты.ЦенаВключаетНДС, -1, 0));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета", ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("ИспользоватьПродажуАгентскихУслуг", ПолучитьФункциональнуюОпцию("ИспользоватьПродажуАгентскихУслуг"));
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяУниверсальнаяДата());
Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
Запрос.УстановитьПараметр("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ТипЗнч(ДокументСсылка)));
ИнформацияПоДоговору = Неопределено;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("НомерНаПечать", Реквизиты.Номер);
Запрос.УстановитьПараметр("ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5", Константы.ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5.Получить());
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРасчетыПоЭквайрингу(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыПоЭквайрингу";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСтатьиДДС", ТекстыЗапроса) Тогда
ТекстЗапросаВтСтатьиДДС(ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаПлатежей.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.СписаниеПоПлатежнойКарте) КАК ТипДенежныхСредств,
| &Организация КАК Организация,
| &Валюта КАК Валюта,
| ТаблицаПлатежей.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| ВЫБОР
| КОГДА НЕ ТаблицаПлатежей.ДоговорПодключения = ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка)
| ТОГДА ТаблицаПлатежей.ДоговорПодключения
| ИНАЧЕ ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец
| КОНЕЦ КАК Договор,
| ТаблицаПлатежей.КодАвторизации КАК КодАвторизации,
| ТаблицаПлатежей.НомерПлатежнойКарты КАК НомерПлатежнойКарты,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиентуНаПлатежнуюКарту) КАК ХозяйственнаяОперация,
| &Период КАК ДатаПлатежа,
| ТаблицаПлатежей.Сумма КАК Сумма,
| СтатьиДДС.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТаблицаПлатежей
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСтатьиДДС КАК СтатьиДДС
| ПО ТаблицаПлатежей.НомерСтроки = СтатьиДДС.НомерСтроки
| И СтатьиДДС.Возврат
|
|ГДЕ
| &ПолноеПроведение
| И ТаблицаПлатежей.Ссылка = &Ссылка
| И ВЫБОР
| КОГДА ТаблицаПлатежей.ДоговорПодключения <> ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка)
| ТОГДА ТаблицаПлатежей.ДоговорПодключения.ДетальнаяСверкаТранзакций
| ИНАЧЕ ЕСТЬNULL(ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец.ДетальнаяСверкаТранзакций, ИСТИНА)
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Склад КАК Склад,
| &Организация КАК ОрганизацияОтгрузки,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ КАК Организация,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца
| ИНАЧЕ
| ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаВидыЗапасов.ДокументРеализации
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ДокументРеализации,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ
| &НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС,
| ТаблицаВидыЗапасов.АналитикаРеализации КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК Первичное
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| НЕ ТаблицаВидыЗапасов.ПоЧекуКоррекции
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Склад КАК Склад,
| &Организация КАК ОрганизацияОтгрузки,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ КАК Организация,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасовВладельца
| ИНАЧЕ
| ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ДокументРеализации,
| &ХозяйственнаяОперацияРеализацияВРозницу КАК ХозяйственнаяОперация,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ
| &НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| ЛОЖЬ КАК Первичное
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.ПоЧекуКоррекции
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизацийКПередаче";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Склад КАК Склад,
| ТаблицаВидыЗапасов.ВидЗапасовВладельца.Организация КАК ОрганизацияВладелец,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасовПродавца,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| -ТаблицаВидыЗапасов.Количество КАК Количество
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.РеализацияЗапасовДругойОрганизации
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюОтчетовКомитенту";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.АналитикаНоменклатурыКомитента КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.ДокументРеализации КАК ДокументРеализации,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта ТОГДА
| -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ
| -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
|
| (-ТаблицаВидыЗапасов.Количество) КАК КоличествоКОформлению,
| (-ТаблицаВидыЗапасов.КоличествоПоРНПТ) КАК КоличествоКОформлениюПоРНПТ,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта ТОГДА
| -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ
| -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтКурсыВалют КАК КурсыВалют
| ПО
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта = КурсыВалют.Валюта
|
|ГДЕ
| ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И НЕ ТаблицаВидыЗапасов.ПоЧекуКоррекции
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.АналитикаНоменклатурыКомитента КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.ДокументРеализации КАК ДокументРеализации,
| &ХозяйственнаяОперацияРеализацияВРозницу КАК ХозяйственнаяОперация,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта ТОГДА
| -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ
| -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
|
| -ТаблицаВидыЗапасов.Количество КАК КоличествоКОформлению,
| -ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоКОформлениюПоРНПТ,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта ТОГДА
| -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ
| -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперацииРеализацияВРозницу КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтКурсыВалют КАК КурсыВалют
| ПО
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта = КурсыВалют.Валюта
|
|ГДЕ
| ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И ТаблицаВидыЗапасов.ПоЧекуКоррекции
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыручкаИСебестоимостьПродаж";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаВидыЗапасов.ПодразделениеРеализации
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
| ТаблицаВидыЗапасов.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКонтрагента,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ КАК РазделУчета,
| ТаблицаВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ТаблицаВидыЗапасов.Продавец КАК Менеджер,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаВыручки,
|
| -ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаВыручкиБезНДС,
|
| -ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаВыручкиРегл,
|
| -ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаВыручкиСНДСРегл,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР КОГДА (ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| И &УправленческийУчетОрганизаций
| ТОГДА -ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| -ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаРучнойСкидки
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаРучнойСкидки,
|
| ТаблицаВидыЗапасов.Склад КАК Склад,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| -ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| -(ТаблицаВидыЗапасов.СуммаСНДС + ТаблицаВидыЗапасов.СуммаНДС) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| -ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| -(ТаблицаВидыЗапасов.СуммаСНДС + ТаблицаВидыЗапасов.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеПоВозврату)
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КОНЕЦ КАК ХозяйственнаяОперация,
|
| ТаблицаВидыЗапасов.Номенклатура КАК ИсточникГФУНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.Количество <> 0
| И НЕ ТаблицаВидыЗапасов.ПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаТовары.ПодразделениеРеализации
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
| ТаблицаТовары.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКонтрагента,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| ТаблицаТовары.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.АгентскаяУслуга)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| КОНЕЦ КАК ТипЗапасов,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПустаяСсылка) КОНЕЦ) КАК РазделУчета,
| ТаблицаТовары.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ТаблицаТовары.НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ТаблицаТовары.Продавец КАК Менеджер,
|
| -ТаблицаТовары.Количество КАК Количество,
| -ВЫРАЗИТЬ(
| (ТаблицаТовары.Сумма
| + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр
| КАК ЧИСЛО(31,2)
| ) КАК СуммаВыручки,
|
| -ВЫРАЗИТЬ(
| (ТаблицаТовары.Сумма
| + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр
| КАК ЧИСЛО(31,2)
| ) КАК СуммаВыручкиБезНДС,
|
| -ВЫРАЗИТЬ(
| (ТаблицаТовары.Сумма
| + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл
| КАК ЧИСЛО(31,2)) КАК СуммаВыручкиРегл,
|
| -ВЫРАЗИТЬ(
| (ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл
| КАК ЧИСЛО(31,2)) КАК СуммаВыручкиСНДСРегл,
|
| ВЫБОР
| КОГДА ТаблицаТовары.Принципал <> НЕОПРЕДЕЛЕНО
| ИЛИ ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВЫРАЗИТЬ(
| (ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ТаблицаТовары.Принципал <> НЕОПРЕДЕЛЕНО
| ИЛИ ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВЫРАЗИТЬ((ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА (ТаблицаТовары.Принципал <> НЕОПРЕДЕЛЕНО
| ИЛИ ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента))
| И &УправленческийУчетОрганизаций
| ТОГДА -ВЫРАЗИТЬ((ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫБОР
| КОГДА ТаблицаТовары.Принципал <> НЕОПРЕДЕЛЕНО
| ИЛИ ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА -ВЫРАЗИТЬ((ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС - ТаблицаТовары.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| -ВЫРАЗИТЬ(ТаблицаТовары.СуммаРучнойСкидки
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаРучнойСкидки,
|
| &Склад КАК Склад,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| -(ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС) КАК СуммаВВалютеВзаиморасчетов,
| -((ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС) - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| -(ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС) КАК СуммаВВалютеДокумента,
| -((ТаблицаТовары.Сумма + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС) - ТаблицаТовары.СуммаНДС) КАК СуммаБезНДСВВалютеДокумента,
|
| &НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеПоВозврату)
| КОГДА ТаблицаТовары.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаТовары.Номенклатура КАК ИсточникГФУНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ТаблицаТовары.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОГДА ТаблицаТовары.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаботыУслуги КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Количество <> 0
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваВКассахККМ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваВКассахККМ";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммаПлатежнымиКартами", ТекстыЗапроса) Тогда
ТекстЗапросаВтСуммаПлатежнымиКартами(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммаБонусныеБаллы", ТекстыЗапроса) Тогда
ТекстЗапросаВтСуммаБонусныеБаллы(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.КассаККМ.Владелец КАК Организация,
| ДанныеДокумента.КассаККМ КАК КассаККМ,
| (ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0)) КАК Сумма,
| (ВЫРАЗИТЬ((ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0)) * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))) КАК СуммаРегл,
| (ВЫРАЗИТЬ((ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0)) * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК СуммаУпр,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту) КАК ХозяйственнаяОперация,
| &СтатьяДвиженияДенежныхСредствВозвратОплатыКлиенту КАК СтатьяДвиженияДенежныхСредств,
|
| ДанныеДокумента.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратОплатыКлиенту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммаПлатежнымиКартами КАК ВтСуммаПлатежнымиКартами
| ПО (ИСТИНА)
|ГДЕ
| ДанныеДокумента.СуммаДокумента - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 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 КАК СуммаБезНДСУпр,
|
| ЛОЖЬ КАК ОтражаетсяВРасчетах,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
| ПО ТаблицаДокумента.Ссылка = ВидыЗапасов.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры = ВидыЗапасов.АналитикаУчетаНоменклатуры
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.Номенклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И ТаблицаДокумента.ПоЧекуКоррекции
| И ВидыЗапасов.Ссылка ЕСТЬ NULL
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОтРозничногоПокупателя) КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Склад КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Ответственный КАК Ответственный,
| &Ответственный КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| Неопределено КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| -ТаблицаТовары.Количество КАК Количество,
| &НалогообложениеНДС КАК НалогообложениеНДС
|ИЗ
| ВтРаботыУслуги КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.ПрослеживаемаяРабота
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаБонусныеБаллы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "БонусныеБаллы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтБонусныеБаллы", ТекстыЗапроса) Тогда
ТекстЗапросаВтБонусныеБаллы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| БонусныеБаллы.Период КАК Период,
| БонусныеБаллы.ДатаНачалаДействия КАК ДатаНачалаДействия,
| БонусныеБаллы.ДатаКОбработке КАК ДатаКОбработке,
| БонусныеБаллы.ВидДвижения КАК ВидДвижения,
| БонусныеБаллы.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
| БонусныеБаллы.Партнер КАК Партнер,
| СУММА(БонусныеБаллы.Начислено) КАК Начислено,
| СУММА(БонусныеБаллы.КСписанию) КАК КСписанию
|ИЗ
| ВтБонусныеБаллы КАК БонусныеБаллы
|
|СГРУППИРОВАТЬ ПО
| БонусныеБаллы.БонуснаяПрограммаЛояльности,
| БонусныеБаллы.Партнер,
| БонусныеБаллы.Период,
| БонусныеБаллы.ДатаНачалаДействия,
| БонусныеБаллы.ДатаКОбработке,
| БонусныеБаллы.ВидДвижения
|ИМЕЮЩИЕ
| СУММА(БонусныеБаллы.Начислено) <> 0 ИЛИ
| СУММА(БонусныеБаллы.КСписанию) <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "УслугиКОформлениюОтчетовПринципалу";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КОформлению.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| КОформлению.АналитикаНоменклатурыПринципала КАК АналитикаУчетаНоменклатуры,
| КОформлению.Соглашение КАК Соглашение,
| КОформлению.Валюта КАК Валюта,
| -КОформлению.Количество КАК Количество,
| -КОформлению.СуммаСНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаВыручки,
| -КОформлению.СуммаНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -КОформлению.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -КОформлению.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
|
| КОформлению.ДокументРеализации КАК ДокументРеализации,
|
| КОформлению.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| КОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтРаботыУслуги КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалют
| ПО КОформлению.Валюта = КурсыВалют.Валюта
|ГДЕ
| КОформлению.АналитикаНоменклатурыПринципала <> НЕОПРЕДЕЛЕНО
| И НЕ КОформлению.ПоЧекуКоррекции
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КОформлению.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| КОформлению.АналитикаНоменклатурыПринципала КАК АналитикаУчетаНоменклатуры,
| КОформлению.Соглашение КАК Соглашение,
| КОформлению.Валюта КАК Валюта,
| -КОформлению.Количество КАК Количество,
| -КОформлению.СуммаСНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаВыручки,
| -КОформлению.СуммаНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -КОформлению.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -КОформлению.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
|
| КОформлению.ДокументРеализации КАК ДокументРеализации,
|
| КОформлению.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации) КАК НастройкаХозяйственнойОперации,
| КОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтРаботыУслуги КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалют
| ПО КОформлению.Валюта = КурсыВалют.Валюта
|ГДЕ
| КОформлению.АналитикаНоменклатурыПринципала <> НЕОПРЕДЕЛЕНО
| И КОформлению.ПоЧекуКоррекции
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияДенежныеСредстваКонтрагент(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияДенежныеСредстваКонтрагент";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС",
ТекстыЗапроса,
Запрос.МенеджерВременныхТаблиц) Тогда
СоздатьВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС(Запрос);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСтатьиДДС", ТекстыЗапроса) Тогда
ТекстЗапросаВтСтатьиДДС(ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммыНДСВРазрезеСтатейДДС",
ТекстыЗапроса,
Запрос.МенеджерВременныхТаблиц) Тогда
СоздатьВтСуммыНДСВРазрезеСтатейДДС(Запрос);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
|
| ДанныеДокумента.КассаККМ КАК ДенежныеСредства,
| Значение(Перечисление.ТипыДенежныхСредств.Наличные) КАК ТипДенежныхСредств,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВтСуммаПлатежнымиКартами.СтатьяДвиженияДенежныхСредств, ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента)
| ИНАЧЕ ВтСуммаПлатежнымиКартами.СтатьяДвиженияДенежныхСредств
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.Валюта КАК ВалютаПлатежа,
|
| Значение(Справочник.Партнеры.РозничныйПокупатель) КАК Партнер,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| -ВЫРАЗИТЬ((ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0))
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаОплаты,
| -ВЫРАЗИТЬ((ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0))
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаОплатыРегл,
| -(ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0)) КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| 0 КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСВВалютеПлатежа,
|
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
|
| -(ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0)) КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС КАК ВтСуммаПлатежнымиКартами
| ПО (ИСТИНА)
|ГДЕ
| ДанныеДокумента.СуммаДокумента
| - ЕСТЬNULL(ВтСуммаПлатежнымиКартами.Сумма, 0) <> 0
| И ДанныеДокумента.Ссылка = &Ссылка
| И &ПолноеПроведение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиентуНаПлатежнуюКарту) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
|
| ВЫБОР
| КОГДА ТаблицаОплатаПлатежнымиКартами.ВидОплаты = Значение(Перечисление.ТипыПлатежнойСистемыККТ.СистемаБыстрыхПлатежей)
| ТОГДА ТаблицаОплатаПлатежнымиКартами.ДоговорПодключения
| ИНАЧЕ ТаблицаОплатаПлатежнымиКартами.ЭквайринговыйТерминал.Владелец
| КОНЕЦ КАК ДенежныеСредства,
|
| Значение(Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУЭквайера) КАК ТипДенежныхСредств,
| СтатьиДДС.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.Валюта КАК ВалютаПлатежа,
|
| Значение(Справочник.Партнеры.РозничныйПокупатель) КАК Партнер,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| ВЫРАЗИТЬ(ТаблицаОплатаПлатежнымиКартами.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаОплаты,
| ВЫРАЗИТЬ(ТаблицаОплатаПлатежнымиКартами.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаОплатыРегл,
| ТаблицаОплатаПлатежнымиКартами.Сумма КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| 0 КАК СуммаНДС,
| 0 КАК СуммаНДСРегл,
| 0 КАК СуммаНДСВВалютеПлатежа,
|
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
|
| ТаблицаОплатаПлатежнымиКартами.Сумма КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| НЕОПРЕДЕЛЕНО КАК СтавкаНДС
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТаблицаОплатаПлатежнымиКартами
| ПО ДанныеДокумента.Ссылка = ТаблицаОплатаПлатежнымиКартами.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСтатьиДДС КАК СтатьиДДС
| ПО ТаблицаОплатаПлатежнымиКартами.НомерСтроки = СтатьиДДС.НомерСтроки
| И СтатьиДДС.Возврат
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ПолноеПроведение
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента) КАК ХозяйственнаяОперация,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
|
| ДанныеДокумента.КассаККМ КАК ДенежныеСредства,
| ЕстьNULL(ТаблицаТовары.ТипДенежныхСредств, Значение(Перечисление.ТипыДенежныхСредств.Наличные)) КАК ТипДенежныхСредств,
| ТаблицаТовары.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| ДанныеДокумента.Валюта КАК ВалютаПлатежа,
|
| Значение(Справочник.Партнеры.РозничныйПокупатель) КАК Партнер,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент,
|
| 0 КАК СуммаОплаты,
| 0 КАК СуммаОплатыРегл,
| 0 КАК СуммаОплатыВВалютеПлатежа,
|
| 0 КАК СуммаПостоплаты,
| 0 КАК СуммаПостоплатыРегл,
| 0 КАК СуммаПостоплатыВВалютеПлатежа,
|
| 0 КАК СуммаПредоплаты,
| 0 КАК СуммаПредоплатыРегл,
| 0 КАК СуммаПредоплатыВВалютеПлатежа,
|
| -СУММА(ТаблицаТовары.СуммаНДС * &КоэффициентПересчетаВВалютуУпр) КАК СуммаНДС,
| -СУММА(ТаблицаТовары.СуммаНДС * &КоэффициентПересчетаВВалютуРегл) КАК СуммаНДСРегл,
| -СУММА(ТаблицаТовары.СуммаНДС) КАК СуммаНДСВВалютеПлатежа,
|
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
|
| 0 КАК СуммаОплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПостоплатыВВалютеВзаиморасчетов,
| 0 КАК СуммаПредоплатыВВалютеВзаиморасчетов,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУДенежныхСредств,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
| ТаблицаТовары.СтавкаНДС
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыНДСВРазрезеСтатейДДС КАК ТаблицаТовары
| ПО ИСТИНА
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ПолноеПроведение
| И Не ТаблицаТовары.СтавкаНДС Есть NULL
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Организация,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.КассаККМ,
| ДанныеДокумента.Валюта,
| ТаблицаТовары.СтавкаНДС,
| ТаблицаТовары.СтатьяДвиженияДенежныхСредств,
| ЕстьNULL(ТаблицаТовары.ТипДенежныхСредств, Значение(Перечисление.ТипыДенежныхСредств.Наличные))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваВПути";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСтатьиДДС", ТекстыЗапроса) Тогда
ТекстЗапросаВтСтатьиДДС(ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаПлатежей.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
|
| &Организация КАК Организация,
| ВЫБОР
| КОГДА НЕ ТаблицаПлатежей.ДоговорПодключения = ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка)
| ТОГДА ТаблицаПлатежей.ДоговорПодключения.БанковскийСчет
| ИНАЧЕ ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец.БанковскийСчет
| КОНЕЦ КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| ВЫБОР
| КОГДА НЕ ТаблицаПлатежей.ДоговорПодключения = ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка)
| ТОГДА ТаблицаПлатежей.ДоговорПодключения.Контрагент
| ИНАЧЕ ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец.Контрагент
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА НЕ ТаблицаПлатежей.ДоговорПодключения = ЗНАЧЕНИЕ(Справочник.ДоговорыЭквайринга.ПустаяСсылка)
| ТОГДА ТаблицаПлатежей.ДоговорПодключения
| ИНАЧЕ ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец
| КОНЕЦ КАК Договор,
| НЕОПРЕДЕЛЕНО КАК ПлатежныйДокумент,
| &Валюта КАК Валюта,
|
| ТаблицаПлатежей.Сумма КАК Сумма,
| ТаблицаПлатежей.Сумма * &КоэффициентПересчетаВВалютуУпр КАК СуммаУпр,
| ТаблицаПлатежей.Сумма * &КоэффициентПересчетаВВалютуРегл КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиентуНаПлатежнуюКарту) КАК ХозяйственнаяОперация,
| СтатьиДДС.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
|
| ТаблицаПлатежей.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратОплатыКлиентуНаПлатежнуюКарту) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТаблицаПлатежей
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСтатьиДДС КАК СтатьиДДС
| ПО ТаблицаПлатежей.НомерСтроки = СтатьиДДС.НомерСтроки
| И СтатьиДДС.Возврат
|
|ГДЕ
| &ПолноеПроведение
| И ТаблицаПлатежей.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтСтатьиДДС(ТекстыЗапроса)
ИмяРегистра = "ВтСтатьиДДС";
ТекстЗапроса =
"ВЫБРАТЬ
| ИСТИНА КАК Возврат,
| ТаблицаПлатежей.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА НЕ ЕСТЬNULL(СведенияОДоговоре.СтатьяДвиженияДенежныхСредствВозврат,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка))
| = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
|
| ТОГДА СведенияОДоговоре.СтатьяДвиженияДенежныхСредствВозврат
|
| КОГДА НЕ ЕСТЬNULL(СведенияОДоговореНаТерминал.СтатьяДвиженияДенежныхСредствВозврат,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка))
| = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
| ТОГДА СведенияОДоговореНаТерминал.СтатьяДвиженияДенежныхСредствВозврат
|
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ВозвратОплатыКлиенту)
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств
|ПОМЕСТИТЬ ВтСтатьиДДС
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТаблицаПлатежей
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК СведенияОДоговоре
| ПО ТаблицаПлатежей.ДоговорПодключения = СведенияОДоговоре.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК СведенияОДоговореНаТерминал
| ПО ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец = СведенияОДоговореНаТерминал.Ссылка
|ГДЕ
| ТаблицаПлатежей.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЛОЖЬ,
| ТаблицаПлатежей.НомерСтроки,
| ВЫБОР
| КОГДА НЕ ЕСТЬNULL(СведенияОДоговоре.СтатьяДвиженияДенежныхСредствПоступлениеОплаты,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка))
| = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
|
| ТОГДА СведенияОДоговоре.СтатьяДвиженияДенежныхСредствПоступлениеОплаты
|
| КОГДА НЕ ЕСТЬNULL(СведенияОДоговореНаТерминал.СтатьяДвиженияДенежныхСредствПоступлениеОплаты,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка))
| = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
|
| ТОГДА СведенияОДоговореНаТерминал.СтатьяДвиженияДенежныхСредствПоступлениеОплаты
|
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ВозвратОплатыКлиенту)
| КОНЕЦ
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТаблицаПлатежей
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК СведенияОДоговоре
| ПО ТаблицаПлатежей.ДоговорПодключения = СведенияОДоговоре.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК СведенияОДоговореНаТерминал
| ПО ТаблицаПлатежей.ЭквайринговыйТерминал.Владелец = СведенияОДоговореНаТерминал.Ссылка
|ГДЕ
| ТаблицаПлатежей.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстыЗапроса;
КонецФункции
Процедура СоздатьВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС(Запрос)
Запрос.Текст =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА ЕСТЬNULL(ДоговорыЭквайринга.СтатьяДвиженияДенежныхСредствПоступлениеОплаты,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка))
| = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
|
| ТОГДА ЕСТЬNULL(СведенияОДоговореНаТерминал.СтатьяДвиженияДенежныхСредствПоступлениеОплаты,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента))
|
| ИНАЧЕ ДоговорыЭквайринга.СтатьяДвиженияДенежныхСредствПоступлениеОплаты
| КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
| СУММА(ТабличнаяЧасть.Сумма) КАК Сумма
|ПОМЕСТИТЬ ВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТабличнаяЧасть
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК ДоговорыЭквайринга
| ПО ТабличнаяЧасть.ДоговорПодключения = ДоговорыЭквайринга.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК СведенияОДоговореНаТерминал
| ПО ТабличнаяЧасть.ЭквайринговыйТерминал.Владелец = СведенияОДоговореНаТерминал.Ссылка
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА ЕСТЬNULL(ДоговорыЭквайринга.СтатьяДвиженияДенежныхСредствПоступлениеОплаты,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка))
| = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)
|
| ТОГДА ЕСТЬNULL(СведенияОДоговореНаТерминал.СтатьяДвиженияДенежныхСредствПоступлениеОплаты,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента))
|
| ИНАЧЕ ДоговорыЭквайринга.СтатьяДвиженияДенежныхСредствПоступлениеОплаты
| КОНЕЦ";
Запрос.Выполнить();
КонецПроцедуры
Процедура СоздатьВтСуммыНДСВРазрезеСтатейДДС(Запрос)
ТекстыЗапроса = Новый СписокЗначений;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС",
ТекстыЗапроса,
Запрос.МенеджерВременныхТаблиц) Тогда
СоздатьВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС(Запрос);
КонецЕсли;
ТекстЗапросаСтавкиНДС =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА СУММА(СуммыДокумента.ОбщаяСумма) = 0
| ТОГДА 0
| ИНАЧЕ СУММА(СуммыДокумента.СуммаБезналичных) / СУММА(СуммыДокумента.ОбщаяСумма)
| КОНЕЦ КАК КоэффициентОплатыБезналичными,
| СУММА(СуммыДокумента.СуммаБезналичных) КАК СуммаБезналичных
|ИЗ
| (ВЫБРАТЬ
| ОплатаПлатежнымиКартами.Сумма КАК СуммаБезналичных,
| 0 КАК ОбщаяСумма
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ОплатаПлатежнымиКартами
| ГДЕ
| ОплатаПлатежнымиКартами.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 0,
| ОтчетОРозничныхПродажахТовары.Сумма
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ОтчетОРозничныхПродажахТовары
| ГДЕ
| ОтчетОРозничныхПродажахТовары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 0,
| ЕСТЬNULL(ОтчетОРозничныхПродажахТовары.СуммаНДС, 0)
| ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах.Товары КАК ОтчетОРозничныхПродажахТовары
| ПО ДанныеДокумента.Ссылка = ОтчетОРозничныхПродажахТовары.Ссылка
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И НЕ ДанныеДокумента.ЦенаВключаетНДС) КАК СуммыДокумента
|;
|
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ТаблицаТовары.СтавкаНДС.Ставка > 0
| И ТаблицаТовары.СтавкаНДС.РасчетнаяСтавка = ИСТИНА
| ТОГДА ТаблицаТовары.СтавкаНДС.СоответствующаяБазоваяСтавка
| ИНАЧЕ ТаблицаТовары.СтавкаНДС
| КОНЕЦ КАК СтавкаНДС,
| СУММА(ТаблицаТовары.СуммаНДС) КАК СуммаНДС
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.СтавкаНДС.Ставка > 0
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА ТаблицаТовары.СтавкаНДС.Ставка > 0
| И ТаблицаТовары.СтавкаНДС.РасчетнаяСтавка = ИСТИНА
| ТОГДА ТаблицаТовары.СтавкаНДС.СоответствующаяБазоваяСтавка
| ИНАЧЕ ТаблицаТовары.СтавкаНДС
| КОНЕЦ";
МассивТекстов = Новый Массив;
МассивТекстов.Добавить(ТекстЗапросаСтавкиНДС);
Запрос.Текст = СтрСоединить(МассивТекстов, ОбщегоНазначения.РазделительПакетаЗапросов());
ДанныеДляРаспределения = Запрос.ВыполнитьПакет();
ВыборкаБезналичные = ДанныеДляРаспределения[0].Выбрать();
ОписаниеКоэффициентаБезналичныхДС = Новый Структура("КоэффициентОплатыБезналичными,СуммаБезналичных",0,0);
Если ВыборкаБезналичные.Следующий() Тогда
ЗаполнитьЗначенияСвойств(ОписаниеКоэффициентаБезналичныхДС, ВыборкаБезналичные);
КонецЕсли;
СуммыНДС = ДанныеДляРаспределения[1].Выгрузить();
СтатьиДДС =
Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВтСуммаПлатежнымиКартамиВРазрезеСтатейДДС").ПолучитьДанные().Выгрузить();
ТаблицаДляРаспределения = СтатьиДДС.СкопироватьКолонки();
ТаблицаДляРаспределения.Колонки.Добавить("СтавкаНДС", СуммыНДС.Колонки.СтавкаНДС.ТипЗначения);
ТаблицаДляРаспределения.Колонки.Добавить("ТипДенежныхСредств",
Новый ОписаниеТипов("ПеречислениеСсылка.ТипыДенежныхСредств"));
Для Каждого СтрокаСуммНДС Из СуммыНДС Цикл
РаспределяемаяСуммаНДС = СтрокаСуммНДС.СуммаНДС;
Если ОписаниеКоэффициентаБезналичныхДС.СуммаБезналичных <> 0 Тогда
Для Каждого СтрокаСтатейДДС Из СтатьиДДС Цикл
РезультатРаспределения = СтрокаСуммНДС.СуммаНДС *
ОписаниеКоэффициентаБезналичныхДС.КоэффициентОплатыБезналичными *
(СтрокаСтатейДДС.Сумма / ОписаниеКоэффициентаБезналичныхДС.СуммаБезналичных);
Если РезультатРаспределения = 0 Тогда
Продолжить;
КонецЕсли;
СтрокаБезналичных = ТаблицаДляРаспределения.Добавить();
СтрокаБезналичных.СтавкаНДС = СтрокаСуммНДС.СтавкаНДС;
СтрокаБезналичных.СтатьяДвиженияДенежныхСредств = СтрокаСтатейДДС.СтатьяДвиженияДенежныхСредств;
СтрокаБезналичных.ТипДенежныхСредств =
ПредопределенноеЗначение("Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУЭквайера");
СтрокаБезналичных.Сумма = РезультатРаспределения;
РаспределяемаяСуммаНДС = РаспределяемаяСуммаНДС - РезультатРаспределения;
КонецЦикла;
КонецЕсли;
Если РаспределяемаяСуммаНДС <> 0 Тогда
Если ОписаниеКоэффициентаБезналичныхДС.КоэффициентОплатыБезналичными = 1 Тогда
СтрокаБезналичных = ТаблицаДляРаспределения.Добавить();
СтрокаБезналичных.СтавкаНДС = СтрокаСуммНДС.СтавкаНДС;
СтрокаБезналичных.Сумма = РаспределяемаяСуммаНДС;
СтрокаБезналичных.СтатьяДвиженияДенежныхСредств = СтрокаСтатейДДС.СтатьяДвиженияДенежныхСредств;
СтрокаБезналичных.ТипДенежныхСредств =
ПредопределенноеЗначение("Перечисление.ТипыДенежныхСредств.ДенежныеСредстваУЭквайера");
Иначе
СтрокаНаличных = ТаблицаДляРаспределения.Добавить();
СтрокаНаличных.СтавкаНДС = СтрокаСуммНДС.СтавкаНДС;
СтрокаНаличных.Сумма = РаспределяемаяСуммаНДС;
СтрокаНаличных.СтатьяДвиженияДенежныхСредств =
ПредопределенноеЗначение("Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента");
СтрокаНаличных.ТипДенежныхСредств =
ПредопределенноеЗначение("Перечисление.ТипыДенежныхСредств.Наличные");
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТаблицаДляРаспределения.Свернуть("СтавкаНДС,СтатьяДвиженияДенежныхСредств,ТипДенежныхСредств", "Сумма");
Запрос.УстановитьПараметр("ТаблицаДляРаспределения", ТаблицаДляРаспределения);
Запрос.Текст =
"ВЫБРАТЬ
| РаспределенныеДанные.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
| РаспределенныеДанные.ТипДенежныхСредств КАК ТипДенежныхСредств,
| РаспределенныеДанные.СтавкаНДС КАК СтавкаНДС,
| РаспределенныеДанные.Сумма КАК СуммаНДС
|ПОМЕСТИТЬ ВтСуммыНДСВРазрезеСтатейДДС
|ИЗ
| &ТаблицаДляРаспределения КАК РаспределенныеДанные";
Запрос.Выполнить();
КонецПроцедуры
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.ОтчетОРозничныхВозвратах.Имя,
"Товары, ВидыЗапасов");
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.Партнеры.РозничныйПокупатель) КАК Поставщик,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель) КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ ДанныеДокумента.НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""ВидыЗапасов""
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК АналитикаНоменклатуры
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры = АналитикаНоменклатуры.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = АналитикаНоменклатуры.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Товары"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.Партнеры.РозничныйПокупатель) КАК Поставщик,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель) КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ ДанныеДокумента.НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""Товары""
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК АналитикаНоменклатуры
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры = АналитикаНоменклатуры.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = АналитикаНоменклатуры.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И СпрНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтВидыЗапасов";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации КАК РеализацияЗапасовДругойОрганизации,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца КАК ВидЗапасовВладельца,
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| АналитикаКомитента.КлючАналитики КАК АналитикаНоменклатурыКомитента,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыОтгрузки КАК АналитикаРеализации,
| РегистрАналитикаУчетаПоПартнерам.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК НалогообложениеНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ЕСТЬNULL(ТаблицаВидыЗапасов.ДокументРеализации.Подразделение, &Подразделение) КАК ПодразделениеРеализации,
| ЕСТЬNULL(ТаблицаВидыЗапасов.ДокументРеализации.НалогообложениеНДС, &НалогообложениеНДС) КАК НалогообложениеНДСРеализации,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ЕстьNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕстьNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕстьNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ЕстьNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТаблицаВидыЗапасов.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.Продавец КАК Продавец,
| ТаблицаВидыЗапасов.Партнер КАК Партнер,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ПоЧекуКоррекции КАК ПоЧекуКоррекции,
| ТаблицаВидыЗапасов.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаВидыЗапасов.ВидЗапасовОтгрузки КАК ВидЗапасовОтгрузки,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаВидыЗапасов.ДокументРеализации
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ДокументРеализации,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаВидыЗапасов.ДокументРеализации.Дата
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1) КОНЕЦ) КАК ПериодПродажи,
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Ответственный
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтВидыЗапасов
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ВидыЗапасов КАК ВидыЗапасовКомитентов
| ПО
| ТаблицаВидыЗапасов.ВидЗапасов = ВидыЗапасовКомитентов.Ссылка
| И ВидыЗапасовКомитентов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ВидыЗапасов КАК ВидыЗапасовВладельцев
| ПО
| ВидыЗапасовКомитентов.ВидЗапасовВладельца = ВидыЗапасовВладельцев.Ссылка
| И ВидыЗапасовВладельцев.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаКомитента
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаКомитента.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаКомитента.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаКомитента.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = АналитикаКомитента.Серия
| И ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара = АналитикаКомитента.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаКомитента.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| ТаблицаВидыЗапасов.Ссылка = Суммы.Ссылка
| И ТаблицаВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО
| РегистрАналитикаУчетаПоПартнерам.Организация = &Организация
| И РегистрАналитикаУчетаПоПартнерам.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| И ТаблицаВидыЗапасов.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И РегистрАналитикаУчетаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтАгентскиеУслуги(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтАгентскиеУслуги";
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР КОГДА НЕ Услуги.Ссылка ЕСТЬ NULL
| ТОГДА Услуги.Ссылка
| КОГДА НЕ Соглашение.Ссылка ЕСТЬ NULL
| ТОГДА Соглашение.Ссылка
| КОГДА НЕ УслугиСоглашениеЗакрытое.Ссылка ЕСТЬ NULL
| ТОГДА УслугиСоглашениеЗакрытое.Ссылка
| ИНАЧЕ ЕСТЬNULL(СоглашениеЗакрытое.Ссылка, НЕОПРЕДЕЛЕНО)
| КОНЕЦ КАК Соглашение,
| ВЫБОР КОГДА НЕ Услуги.Ссылка ЕСТЬ NULL
| ТОГДА Услуги.Ссылка.Валюта
| КОГДА НЕ Соглашение.Ссылка ЕСТЬ NULL
| ТОГДА Соглашение.Валюта
| КОГДА НЕ УслугиСоглашениеЗакрытое.Ссылка ЕСТЬ NULL
| ТОГДА УслугиСоглашениеЗакрытое.Ссылка.Валюта
| ИНАЧЕ ЕСТЬNULL(СоглашениеЗакрытое.Валюта, &Валюта)
| КОНЕЦ КАК Валюта,
| КОформлению.Номенклатура КАК Номенклатура,
| КОформлению.Характеристика КАК Характеристика,
| ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) КАК Принципал
|ПОМЕСТИТЬ ВтАгентскиеУслуги
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками КАК Соглашение
| ПО Соглашение.Партнер = ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал)
| И Соглашение.Организация = &Организация
| И Соглашение.ХозяйственнаяОперация
| = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг)
| И Соглашение.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Действует)
| И (&Период >= Соглашение.ДатаНачалаДействия
| И (&Период <= Соглашение.ДатаОкончанияДействия
| ИЛИ Соглашение.ДатаОкончанияДействия = ДАТАВРЕМЯ(1,1,1))
| )
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками.АгентскиеУслуги КАК Услуги
| ПО Соглашение.Ссылка = Услуги.Ссылка
| И КОформлению.Номенклатура = Услуги.Номенклатура
| И КОформлению.Характеристика = Услуги.Характеристика
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками КАК СоглашениеЗакрытое
| ПО СоглашениеЗакрытое.Партнер = ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал)
| И СоглашениеЗакрытое.Организация = &Организация
| И СоглашениеЗакрытое.ХозяйственнаяОперация
| = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг)
| И СоглашениеЗакрытое.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто)
| И (&Период >= СоглашениеЗакрытое.ДатаНачалаДействия
| И (&Период <= СоглашениеЗакрытое.ДатаОкончанияДействия
| ИЛИ СоглашениеЗакрытое.ДатаОкончанияДействия = ДАТАВРЕМЯ(1,1,1))
| )
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками.АгентскиеУслуги КАК УслугиСоглашениеЗакрытое
| ПО СоглашениеЗакрытое.Ссылка = УслугиСоглашениеЗакрытое.Ссылка
| И КОформлению.Номенклатура = УслугиСоглашениеЗакрытое.Номенклатура
| И КОформлению.Характеристика = УслугиСоглашениеЗакрытое.Характеристика
|ГДЕ
| КОформлению.Ссылка = &Ссылка
| И КОформлению.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> &Организация
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> НЕОПРЕДЕЛЕНО
| И &ИспользоватьПродажуАгентскихУслуг
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтРаботыУслуги";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтАгентскиеУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтАгентскиеУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаТовары.Продавец КАК Продавец,
| ТаблицаТовары.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Партнер КАК Партнер,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| РегистрАналитикаУчетаПоПартнерам.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ЕстьNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕстьNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕстьNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ЕстьNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| (ТаблицаТовары.Сумма
| + &ЦенаВключаетНДС * ТаблицаТовары.СуммаНДС) КАК СуммаСНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| АгентскиеУслуги.Соглашение КАК Соглашение,
| АгентскиеУслуги.Валюта КАК Валюта,
| ЕСТЬNULL(КлючиПринципала.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаНоменклатурыПринципала,
| ЕСТЬNULL(АгентскиеУслуги.Принципал, НЕОПРЕДЕЛЕНО) КАК Принципал,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Ответственный
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
|
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаТовары.ДокументРеализации
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ДокументРеализации,
| (ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаТовары.ДокументРеализации.Дата
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1) КОНЕЦ) КАК ПериодПродажи,
| ТаблицаТовары.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ЕСТЬNULL(ТаблицаТовары.ДокументРеализации.Подразделение, &Подразделение) КАК ПодразделениеРеализации,
| ЕСТЬNULL(ТаблицаТовары.ДокументРеализации.НалогообложениеНДС, &НалогообложениеНДС) КАК НалогообложениеНДСРеализации,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| (ВЫБОР
| КОГДА ТаблицаТовары.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПроизводствоСДЦ))
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК НалогообложениеНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаРеализации,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасовОтгрузки,
| ТаблицаТовары.ПоЧекуКоррекции КАК ПоЧекуКоррекции,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.ПрослеживаемыйТовар
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтРаботыУслуги
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ВтАгентскиеУслуги КАК АгентскиеУслуги
| ПО ТаблицаТовары.Номенклатура = АгентскиеУслуги.Номенклатура
| И ТаблицаТовары.Характеристика = АгентскиеУслуги.Характеристика
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиПринципала
| ПО КлючиПринципала.Номенклатура = АгентскиеУслуги.Номенклатура
| И КлючиПринципала.Характеристика = АгентскиеУслуги.Характеристика
| И КлючиПринципала.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| И КлючиПринципала.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| И КлючиПринципала.МестоХранения = АгентскиеУслуги.Принципал
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = КлючиПринципала.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| ТаблицаТовары.Ссылка = Суммы.Ссылка
| И ТаблицаТовары.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО
| РегистрАналитикаУчетаПоПартнерам.Организация = &Организация
| И РегистрАналитикаУчетаПоПартнерам.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| И ТаблицаТовары.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И РегистрАналитикаУчетаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И ТаблицаТовары.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов КАК АналитикаУчетаНаборов,
| ТаблицаВидыЗапасов.Продавец КАК Продавец,
| Аналитика.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.Партнер КАК Партнер,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| РегистрАналитикаУчетаПоПартнерам.КлючАналитики КАК АналитикаУчетаПоПартнерам,
|
| ЕстьNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕстьNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕстьNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ЕстьNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
|
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| (ТаблицаВидыЗапасов.СуммаСНДС - &ЦенаВключаетНДС * ТаблицаВидыЗапасов.СуммаНДС) КАК Сумма,
| ТаблицаВидыЗапасов.СуммаРучнойСкидки КАК СуммаРучнойСкидки,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК Соглашение,
| НЕОПРЕДЕЛЕНО КАК Валюта,
| НЕОПРЕДЕЛЕНО КАК АналитикаНоменклатурыПринципала,
| НЕОПРЕДЕЛЕНО КАК Принципал,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| (ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Ответственный
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ) КАК АналитикаФинансовогоУчета,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаВидыЗапасов.ДокументРеализации
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ДокументРеализации,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ТаблицаВидыЗапасов.ДокументРеализации.Дата
| ИНАЧЕ ДАТАВРЕМЯ(1,1,1) КОНЕЦ) КАК ПериодПродажи,
| ТаблицаВидыЗапасов.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ЕСТЬNULL(
| ТаблицаВидыЗапасов.ДокументРеализации.Подразделение,
| &Подразделение) КАК ПодразделениеРеализации,
| ЕСТЬNULL(
| ТаблицаВидыЗапасов.ДокументРеализации.НалогообложениеНДС,
| &НалогообложениеНДС) КАК НалогообложениеНДСРеализации,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК НалогообложениеНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаРеализации,
| ТаблицаВидыЗапасов.ВидЗапасовОтгрузки КАК ВидЗапасовОтгрузки,
| ТаблицаВидыЗапасов.ПоЧекуКоррекции КАК ПоЧекуКоррекции,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ИСТИНА КАК ПрослеживаемаяРабота
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| ТаблицаВидыЗапасов.Ссылка = Суммы.Ссылка
| И ТаблицаВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО
| РегистрАналитикаУчетаПоПартнерам.Организация = &Организация
| И РегистрАналитикаУчетаПоПартнерам.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| И ТаблицаВидыЗапасов.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И РегистрАналитикаУчетаПоПартнерам.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтСуммаПлатежнымиКартами(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтСуммаПлатежнымиКартами";
ТекстЗапроса = "
|ВЫБРАТЬ
| СУММА(ТабличнаяЧасть.Сумма) КАК Сумма
|ПОМЕСТИТЬ ВтСуммаПлатежнымиКартами
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаПлатежнымиКартами КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтБонусныеБаллы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтБонусныеБаллы";
ТекстЗапроса = "ВЫБРАТЬ
| ТабличнаяЧасть.ДатаНачисления КАК Период,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ТабличнаяЧасть.ДатаСписания,
| ДЕНЬ) >= НАЧАЛОПЕРИОДА(&ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5, ДЕНЬ)
| ТОГДА ТабличнаяЧасть.ДатаНачисления
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаНачалаДействия,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ТабличнаяЧасть.ДатаСписания,
| ДЕНЬ) >= НАЧАЛОПЕРИОДА(&ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5, ДЕНЬ)
| ТОГДА &ТекущаяДата
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ КАК ДатаКОбработке,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| ТабличнаяЧасть.Партнер КАК Партнер,
| ТабличнаяЧасть.БонуснаяПрограммаЛояльности КАК БонуснаяПрограммаЛояльности,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА -ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ КАК Начислено,
| 0 КАК КСписанию
|ПОМЕСТИТЬ ВтБонусныеБаллы
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.НачислениеБонусныхБаллов КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПолноеПроведение
| И ТабличнаяЧасть.ДатаНачисления <> ДАТАВРЕМЯ(1, 1, 1)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.ДатаСписания,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ТабличнаяЧасть.ДатаСписания,
| ДЕНЬ) >= НАЧАЛОПЕРИОДА(&ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5, ДЕНЬ)
| ТОГДА ТабличнаяЧасть.ДатаНачисления
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ТабличнаяЧасть.ДатаСписания,
| ДЕНЬ) >= НАЧАЛОПЕРИОДА(&ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5, ДЕНЬ)
| ТОГДА &ТекущаяДата
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ,
| ТабличнаяЧасть.Партнер,
| ТабличнаяЧасть.БонуснаяПрограммаЛояльности,
| 0,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА -ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.НачислениеБонусныхБаллов КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПолноеПроведение
| И ТабличнаяЧасть.ДатаСписания <> ДАТАВРЕМЯ(1, 1, 1)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТабличнаяЧасть.ДатаОплаты,
| ДатаВремя(1, 1, 1),
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ТабличнаяЧасть.ДатаОплаты, ДЕНЬ) >= НАЧАЛОПЕРИОДА(&ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5,
| ДЕНЬ)
| ТОГДА &ТекущаяДата
| ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
| КОНЕЦ,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ТабличнаяЧасть.Партнер,
| ТабличнаяЧасть.БонуснаяПрограммаЛояльности,
| ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА -ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(ТабличнаяЧасть.ДатаОплаты, ДЕНЬ) >= НАЧАЛОПЕРИОДА(&ДатаНачалаРаботыМеханизмаБонусныхБаллов_2_5,
| ДЕНЬ)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТабличнаяЧасть.СуммаБонусныхБаллов > 0
| ТОГДА -ТабличнаяЧасть.СуммаБонусныхБаллов
| ИНАЧЕ ТабличнаяЧасть.СуммаБонусныхБаллов
| КОНЕЦ
| КОНЕЦ
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаБонуснымиБаллами КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
| И &ПолноеПроведение";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтСуммаБонусныеБаллы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтСуммаБонусныеБаллы";
ТекстЗапроса = "
|ВЫБРАТЬ
| СУММА(ТабличнаяЧасть.СуммаБонусныхБаллов) КАК Сумма
|ПОМЕСТИТЬ ВтСуммаБонусныеБаллы
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ОплатаБонуснымиБаллами КАК ТабличнаяЧасть
|ГДЕ
| ТабличнаяЧасть.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтСуммаКомиссионныхТоваровАгентскихУслуг(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтСуммаКомиссионныхТоваровАгентскихУслуг";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| СУММА(ВложенныйЗапрос.СуммаСНДС) КАК Сумма,
| СУММА(ВложенныйЗапрос.СуммаНДС) КАК СуммаНДС
|ПОМЕСТИТЬ ВтСуммаКомиссионныхТоваровАгентскихУслуг
|ИЗ
| (
| ВЫБРАТЬ
| СУММА(ВтРаботыУслуги.СуммаСНДС) КАК СуммаСНДС,
| СУММА(ВтРаботыУслуги.СуммаНДС) КАК СуммаНДС
| ИЗ ВтРаботыУслуги КАК ВтРаботыУслуги
| ГДЕ ВтРаботыУслуги.Принципал <> НЕОПРЕДЕЛЕНО
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| СУММА(ВтВидыЗапасов.СуммаСНДС) КАК СуммаСНДС,
| СУММА(ВтВидыЗапасов.СуммаНДСРегл) КАК СуммаНДС
| ИЗ ВтВидыЗапасов КАК ВтВидыЗапасов
| ГДЕ ВтВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ) КАК ВложенныйЗапрос
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтКурсыВалют";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтАгентскиеУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтАгентскиеУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КурсыВалют.Валюта КАК Валюта,
|
| (КурсВалютыДокумента.КурсЧислитель * КурсыВалют.КурсЗнаменатель)
| / (КурсВалютыДокумента.КурсЗнаменатель * КурсыВалют.КурсЧислитель) КАК КоэффициентПересчета
|
|ПОМЕСТИТЬ ВтКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период,
| Валюта В (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта КАК Валюта
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.Валюта КАК Валюта
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| АгентскиеУслуги.Валюта КАК Валюта
| ИЗ
| ВтАгентскиеУслуги КАК АгентскиеУслуги
| ) И БазоваяВалюта = &ВалютаРегламентированногоУчета
| ) КАК КурсыВалют
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период, Валюта = &Валюта И БазоваяВалюта = &ВалютаРегламентированногоУчета) КАК КурсВалютыДокумента
| ПО
| ИСТИНА
|
|ГДЕ
| КурсВалютыДокумента.КурсЗнаменатель <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.Валюта,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Процедура УстановитьПараметрЗапросаКорВидЗапасов(Запрос)
Если Запрос.Параметры.Свойство("КорВидЗапасов") Тогда
Возврат;
КонецЕсли;
Запрос.УстановитьПараметр("КорВидЗапасов",
Справочники.ВидыЗапасов.ВидЗапасовДокумента(Запрос.Параметры.Организация, Запрос.Параметры.ХозяйственнаяОперация,
Неопределено));
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаПоПартнерамИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Организация КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент,
| ТаблицаТовары.Партнер КАК Партнер,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК Договор,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности
|ИЗ (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.Партнер КАК Партнер
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.Партнер КАК Партнер
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТаблицаТовары
| ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
| ) КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| Аналитика.Организация = &Организация
| И Аналитика.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| И ТаблицаТовары.Партнер = Аналитика.Партнер
| И Аналитика.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И Аналитика.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| Аналитика.КлючАналитики ЕСТЬ NULL
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаПоПартнерам.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаПоПартнерамИнициализированы", Истина);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад
|ИЗ
| (
| ВЫБРАТЬ
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ВидыЗапасовКомитентов.ВладелецТовара КАК Склад
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовКомитентов
| ПО ТаблицаВидыЗапасов.ВидЗапасов = ВидыЗапасовКомитентов.Ссылка
| И ВидыЗапасовКомитентов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовВладельцев
| ПО ВидыЗапасовКомитентов.ВидЗапасовВладельца = ВидыЗапасовВладельцев.Ссылка
| И ВидыЗапасовВладельцев.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ВидыЗапасовКомитентов.ВладелецТовара ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ВидыЗапасовВладельцев.ВладелецТовара КАК Склад
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовКомитентов
| ПО ТаблицаВидыЗапасов.ВидЗапасов = ВидыЗапасовКомитентов.Ссылка
| И ВидыЗапасовКомитентов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовВладельцев
| ПО ВидыЗапасовКомитентов.ВидЗапасовВладельца = ВидыЗапасовВладельцев.Ссылка
| И ВидыЗапасовВладельцев.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ВидыЗапасовВладельцев.ВладелецТовара ЕСТЬ НЕ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Услуги.Номенклатура КАК Номенклатура,
| Услуги.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) КАК Склад
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК Услуги
| ГДЕ
| Услуги.Ссылка = &Ссылка
| И ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) <> НЕОПРЕДЕЛЕНО
| И ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) <> &Организация
| И Услуги.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ) КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаКомитента
| ПО ТаблицаТовары.Номенклатура = АналитикаКомитента.Номенклатура
| И ТаблицаТовары.Характеристика = АналитикаКомитента.Характеристика
| И ТаблицаТовары.Назначение = АналитикаКомитента.Назначение
| И ТаблицаТовары.Серия = АналитикаКомитента.Серия
| И ТаблицаТовары.Склад = АналитикаКомитента.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаКомитента.СтатьяКалькуляции
|ГДЕ
| АналитикаКомитента.КлючАналитики ЕСТЬ NULL
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.НоменклатураНабора КАК НоменклатураНабора,
| ТаблицаТовары.ХарактеристикаНабора КАК ХарактеристикаНабора
|
|ИЗ
| (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Аналитика.НоменклатураНабора КАК НоменклатураНабора,
| Аналитика.ХарактеристикаНабора КАК ХарактеристикаНабора
| ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНаборов КАК Аналитика
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНаборов = Аналитика.КлючАналитики
|
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
| ) КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНаборов КАК АналитикаКомитента
| ПО
| ТаблицаТовары.НоменклатураНабора = АналитикаКомитента.НоменклатураНабора
| И ТаблицаТовары.ХарактеристикаНабора = АналитикаКомитента.ХарактеристикаНабора
|
|ГДЕ
| АналитикаКомитента.КлючАналитики ЕСТЬ NULL
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНаборов.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
ТекстЦенности =
"ВЫБРАТЬ
| Услуги.Ссылка.Дата КАК Период,
| Услуги.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВРозницу) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель) КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| НЕОПРЕДЕЛЕНО КАК Грузополучатель,
| Услуги.Ссылка.Организация КАК Организация,
| Услуги.Ссылка.Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ПокупательКомиссионногоТовара,
| ЛОЖЬ КАК РеализацияЧерезКомиссионера,
| Услуги.Ссылка КАК ДокументРеализации,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиРеализации,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ИСТИНА КАК РеализацияВРозницу,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| Услуги.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| Услуги.СтавкаНДС КАК СтавкаНДС,
| Услуги.Номенклатура КАК Номенклатура,
| Услуги.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| Услуги.НоменклатураНабора КАК НоменклатураНабора,
| Услуги.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения ИЛИ Услуги.КоличествоУпаковок = 0
| ТОГДА -Услуги.Количество
| ИНАЧЕ -Услуги.КоличествоУпаковок
| КОНЕЦ КАК Количество,
| -Услуги.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА Услуги.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| НЕОПРЕДЕЛЕНО КАК КодТНВЭД,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| Услуги.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Услуги.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА Услуги.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОГДА Услуги.ДокументРеализации.Дата < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК Услуги
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
| ПО Услуги.Ссылка = ВидыЗапасов.Ссылка
| И Услуги.АналитикаУчетаНоменклатуры = ВидыЗапасов.АналитикаУчетаНоменклатуры
|ГДЕ
| Услуги.Ссылка В (&Ссылка)
| И Услуги.ДокументРеализации <> ЗНАЧЕНИЕ(Документ.ОтчетОРозничныхПродажах.ПустаяСсылка)
| И Услуги.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И ВидыЗапасов.Ссылка ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка.Дата КАК Период,
| ВидыЗапасов.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВРозницу) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель) КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| НЕОПРЕДЕЛЕНО КАК Грузополучатель,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
| ВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ПокупательКомиссионногоТовара,
| ЛОЖЬ КАК ВозвратТоваровЧерезКомиссионера,
| ВидыЗапасов.Ссылка КАК ДокументРеализации,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиРеализации,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ИСТИНА КАК РеализацияВРозницу,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ВидыЗапасов.АналитикаУчетаНаборов.НоменклатураНабора КАК НоменклатураНабора,
| ВидыЗапасов.АналитикаУчетаНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| -ВидыЗапасов.Количество КАК Количество,
| -ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК ЕдиницаИзмерения,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| НЕОПРЕДЕЛЕНО КАК КодТНВЭД,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОГДА ВидыЗапасов.ДокументРеализации.Дата < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Ссылка В (&Ссылка)
| И ВидыЗапасов.ДокументРеализации <> ЗНАЧЕНИЕ(Документ.ОтчетОРозничныхПродажах.ПустаяСсылка)
|";
ТекстЦенности = СтрЗаменить(
ТекстЦенности,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"Услуги.Упаковка",
"Услуги.Номенклатура"));
УчетНДСУП.ОтразитьРеализациюКлиенту(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
ТекстВозвращаемыеЦенности =
"ВЫБРАТЬ
| Услуги.Ссылка.Дата КАК Период,
| Услуги.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВРозницу) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель) КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| Услуги.Ссылка.Организация КАК Организация,
| Услуги.Ссылка.Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ПокупательКомиссионногоТовара,
| ЛОЖЬ КАК ВозвратТоваровЧерезКомиссионера,
| НЕОПРЕДЕЛЕНО КАК ДокументРеализации,
| Услуги.Ссылка КАК ДокументВозврата,
| ИСТИНА КАК РозничныйПокупатель,
| ИСТИНА ПокупательНеПлательщикНДС,
| ЛОЖЬ КАК ДенежныеСредстваРозничномуПокупателюВозвращены,
| НЕОПРЕДЕЛЕНО КАК НомерДокументаВозвратаДСРозничномуПокупателю,
| НЕОПРЕДЕЛЕНО КАК ДатаДокументаВозвратаДСРозничномуПокупателю,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| Услуги.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| Услуги.Ссылка.НалогообложениеНДС КАК ВидДеятельностиНДС,
| Услуги.СтавкаНДС КАК СтавкаНДС,
| Услуги.Номенклатура КАК Номенклатура,
| Услуги.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| Услуги.НоменклатураНабора КАК НоменклатураНабора,
| Услуги.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения ИЛИ Услуги.КоличествоУпаковок = 0
| ТОГДА -Услуги.Количество
| ИНАЧЕ -Услуги.КоличествоУпаковок
| КОНЕЦ КАК Количество,
| -Услуги.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА Услуги.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| НЕОПРЕДЕЛЕНО КАК КодТНВЭД,
| ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка) КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| Услуги.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Услуги.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| Услуги.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА Услуги.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОГДА Услуги.ДокументРеализации.Дата < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК Услуги
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
| ПО Услуги.Ссылка = ВидыЗапасов.Ссылка
| И Услуги.АналитикаУчетаНоменклатуры = ВидыЗапасов.АналитикаУчетаНоменклатуры
|ГДЕ
| Услуги.Ссылка В (&Ссылка)
| И Услуги.ДокументРеализации = ЗНАЧЕНИЕ(Документ.ОтчетОРозничныхПродажах.ПустаяСсылка)
| И Услуги.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И ВидыЗапасов.Ссылка ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.Ссылка.Дата КАК Период,
| ВидыЗапасов.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВРозницу) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.РозничныйПокупатель) КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| ВидыЗапасов.Ссылка.Организация КАК Организация,
| ВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК ПокупательКомиссионногоТовара,
| ЛОЖЬ КАК ВозвратТоваровЧерезКомиссионера,
| НЕОПРЕДЕЛЕНО КАК ДокументРеализации,
| ВидыЗапасов.Ссылка КАК ДокументВозврата,
| ИСТИНА КАК РозничныйПокупатель,
| ИСТИНА ПокупательНеПлательщикНДС,
| ЛОЖЬ КАК ДенежныеСредстваРозничномуПокупателюВозвращены,
| НЕОПРЕДЕЛЕНО КАК НомерДокументаВозвратаДСРозничномуПокупателю,
| НЕОПРЕДЕЛЕНО КАК ДатаДокументаВозвратаДСРозничномуПокупателю,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
| ВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВидыЗапасов.Ссылка.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.АналитикаУчетаНаборов.НоменклатураНабора КАК НоменклатураНабора,
| ВидыЗапасов.АналитикаУчетаНаборов.ХарактеристикаНабора КАК ХарактеристикаНабора,
| """" КАК Содержание,
| -ВидыЗапасов.Количество КАК Количество,
| -ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| 0 КАК СуммаАкциза,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК ЕдиницаИзмерения,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| НЕОПРЕДЕЛЕНО КАК КодТНВЭД,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| 0 КАК НомерСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОГДА ВидыЗапасов.ДокументРеализации.Дата < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.ВидыЗапасов КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Ссылка В (&Ссылка)
| И ВидыЗапасов.ДокументРеализации = ЗНАЧЕНИЕ(Документ.ОтчетОРозничныхПродажах.ПустаяСсылка)
|";
ТекстВозвращаемыеЦенности = СтрЗаменить(
ТекстВозвращаемыеЦенности,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"Услуги.Упаковка",
"Услуги.Номенклатура"));
УчетНДСУП.ОтразитьВозвратТоваровОтПокупателя(Запрос, ТекстыЗапроса, Регистры, ТекстВозвращаемыеЦенности);
КонецПроцедуры
Процедура ОформитьОтгрузкуВРозницу(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДанныхДокумента =
"ВЫБРАТЬ
| ТоварыДокумента.Ссылка КАК Ссылка,
| ТоварыДокумента.Ссылка.Дата КАК Период,
| ТоварыДокумента.Ссылка.Склад КАК Склад,
| ТоварыДокумента.Помещение КАК Помещение,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ТоварыДокумента.Серия КАК Серия,
| ТоварыДокумента.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТоварыДокумента.Количество КАК Количество,
| ИСТИНА КАК ВозвратТовара,
| ТоварыДокумента.ПоЧекуКоррекции КАК ПоЧекуКоррекции,
| ТоварыДокумента.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ТоварыДокумента.ДокументРеализации КАК ДокументРеализации
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТоварыДокумента
|ГДЕ
| ТоварыДокумента.Ссылка В(&Ссылка)
| И ТоварыДокумента.Количество <> 0
| И НЕ ТоварыДокумента.ПоЧекуКоррекции
| И (НЕ (ЕСТЬNULL(ТоварыДокумента.Ссылка.КассаККМ.ТипКассы, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыКассККМ.ФискальныйРегистратор)
| И ТоварыДокумента.Ссылка.КассоваяСмена <> ЗНАЧЕНИЕ(Документ.КассоваяСмена.ПустаяСсылка))
| ИЛИ (ЕСТЬNULL(ТоварыДокумента.Ссылка.КассоваяСмена.Статус, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Закрыта)
| И ЕСТЬNULL(ТоварыДокумента.Ссылка.КассоваяСмена.СтатусРегламентныхОпераций, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыРегламентныхОперацийКассовойСмены.СозданОтчетЧекиЗаархивированы)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыДокумента.Ссылка КАК Ссылка,
| ТоварыДокумента.Ссылка.Дата КАК Период,
| ТоварыДокумента.Ссылка.Склад КАК Склад,
| ТоварыДокумента.Помещение КАК Помещение,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ТоварыДокумента.Серия КАК Серия,
| ТоварыДокумента.СтатусУказанияСерий КАК СтатусУказанияСерий,
| -ТоварыДокумента.Количество КАК Количество,
| ЛОЖЬ КАК ВозвратТовара,
| ТоварыДокумента.ПоЧекуКоррекции КАК ПоЧекуКоррекции,
| ТоварыДокумента.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ТоварыДокумента.ДокументРеализации КАК ДокументРеализации
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТоварыДокумента
|ГДЕ
| ТоварыДокумента.Ссылка В(&Ссылка)
| И ТоварыДокумента.Количество <> 0
| И ТоварыДокумента.ПоЧекуКоррекции
| И (НЕ (ЕСТЬNULL(ТоварыДокумента.Ссылка.КассаККМ.ТипКассы, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыКассККМ.ФискальныйРегистратор)
| И ТоварыДокумента.Ссылка.КассоваяСмена <> ЗНАЧЕНИЕ(Документ.КассоваяСмена.ПустаяСсылка))
| ИЛИ (ЕСТЬNULL(ТоварыДокумента.Ссылка.КассоваяСмена.Статус, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Закрыта)
| И ЕСТЬNULL(ТоварыДокумента.Ссылка.КассоваяСмена.СтатусРегламентныхОпераций, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыРегламентныхОперацийКассовойСмены.СозданОтчетЧекиЗаархивированы)))
|";
ОбъектМетаданных = Метаданные.Документы.ОтчетОРозничныхВозвратах;
ПараметрыМетода = СкладыСервер.ПараметрыМодульногоПроведения();
ПараметрыМетода.ИмяТЧСерии = "Серии";
ПараметрыМетода.СинонимТаблицыДокумента = "ТоварыДокумента";
ПараметрыМетода.ДополнительныеПоляСоединенияССериями.Добавить("ПоЧекуКоррекции");
ПараметрыМетода.ДополнительныеПоляСоединенияССериями.Добавить("СпособОпределенияСебестоимости");
ПараметрыМетода.ДополнительныеПоляСоединенияССериями.Добавить("ДокументРеализации");
СкладыСервер.ОформитьОтгрузкуВРозницу(Запрос,
ТекстыЗапроса,
Регистры,
ТекстЗапросаДанныхДокумента,
ОбъектМетаданных,
ПараметрыМетода);
КонецПроцедуры
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ВЫБОР КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) ТОГДА
| ТабЧасть.Ссылка.Подразделение
| ИНАЧЕ
| ТабЧасть.Ссылка.Склад
| КОНЕЦ КАК Склад,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| ЛОЖЬ КАК ПоГрафику,
| НЕОПРЕДЕЛЕНО КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТабЧасть
|ГДЕ
| НЕ ТабЧасть.ПоЧекуКоррекции
| И (НЕ (ЕСТЬNULL(ТабЧасть.Ссылка.КассаККМ.ТипКассы, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыКассККМ.ФискальныйРегистратор)
| И ТабЧасть.Ссылка.КассоваяСмена <> ЗНАЧЕНИЕ(Документ.КассоваяСмена.ПустаяСсылка))
| ИЛИ (ЕСТЬNULL(ТабЧасть.Ссылка.КассоваяСмена.Статус, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Закрыта)
| И ЕСТЬNULL(ТабЧасть.Ссылка.КассоваяСмена.СтатусРегламентныхОпераций, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыРегламентныхОперацийКассовойСмены.СозданОтчетЧекиЗаархивированы)))";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть, Неопределено, Ложь);
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ВЫБОР КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) ТОГДА
| ТабЧасть.Ссылка.Подразделение
| ИНАЧЕ
| ТабЧасть.Ссылка.Склад
| КОНЕЦ КАК Склад,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| -ТабЧасть.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ЗапланированныйРасходРаспределенногоЗапаса,
| ЛОЖЬ КАК КонтрольСвободногоОстатка
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК ТабЧасть
|ГДЕ
| ТабЧасть.ПоЧекуКоррекции
| И (НЕ (ЕСТЬNULL(ТабЧасть.Ссылка.КассаККМ.ТипКассы, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыКассККМ.ФискальныйРегистратор)
| И ТабЧасть.Ссылка.КассоваяСмена <> ЗНАЧЕНИЕ(Документ.КассоваяСмена.ПустаяСсылка))
| ИЛИ (ЕСТЬNULL(ТабЧасть.Ссылка.КассоваяСмена.Статус, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыКассовойСмены.Закрыта)
| И ЕСТЬNULL(ТабЧасть.Ссылка.КассоваяСмена.СтатусРегламентныхОпераций, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.СтатусыРегламентныхОперацийКассовойСмены.СозданОтчетЧекиЗаархивированы)))";
РаспределениеЗапасовДвижения.РасходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("КорВидЗапасов");
Если Запрос <> Неопределено Тогда
УстановитьПараметрЗапросаКорВидЗапасов(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтРаботыУслуги");
ДополнительныеТаблицы.Добавить("ВтВидыЗапасов");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВтВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВнешнееПоступление_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| &Ссылка КАК Партия,
| &НалогообложениеОрганизации КАК ВидДеятельностиНДС,
| &НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| &Партнер КАК Поставщик,
| &Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА
| ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ
| ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СуммаНДСРегл КАК НДСРегл,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаВидыЗапасов.НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА
| ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ
| ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеПоВозврату) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Работа
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| &Ссылка КАК Партия,
| &НалогообложениеОрганизации КАК ВидДеятельностиНДС,
| &НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| &Партнер КАК Поставщик,
| &Контрагент КАК Контрагент,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| НЕОПРЕДЕЛЕНО КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК Менеджер,
|
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаТовары.СуммаСНДСУпр КАК Стоимость,
| ТаблицаТовары.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА
| ТаблицаТовары.СуммаСНДСРегл
| ИНАЧЕ
| ТаблицаТовары.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ТаблицаТовары.СуммаНДСРегл КАК НДСРегл,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаТовары.НалогообложениеНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА
| ТаблицаТовары.СуммаСНДСУпр
| ИНАЧЕ
| ТаблицаТовары.СуммаБезНДСУпр
| КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеПоВозврату) КАК ХозяйственнаяОперация,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаботыУслуги КАК ТаблицаТовары
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаТовары.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Товар_Сторно
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ДокументРеализации КАК ДокументИсточник,
| ТаблицаВидыЗапасов.ПериодПродажи КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДС,
| &НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаВидыЗапасов.АналитикаРеализации КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ТаблицаВидыЗапасов.ДокументРеализации КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаВидыЗапасов.ПодразделениеРеализации КАК Подразделение,
| &Ответственный КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ТаблицаВидыЗапасов.Количество
| ИНАЧЕ -ТаблицаВидыЗапасов.Количество КОНЕЦ) КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации) КОНЕЦ) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации) КОНЕЦ) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)
| И (ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| )
| ИЛИ ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа)
| И ТаблицаВидыЗапасов.ПрослеживаемаяРабота)
| ";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Работа_Сторно
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Ссылка,
| ТаблицаТовары.ДокументРеализации КАК ДокументИсточник,
| ТаблицаТовары.ПериодПродажи КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаТовары.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаТовары.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаТовары.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаТовары.НалогообложениеНДС КАК ВидДеятельностиНДС,
| &НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаТовары.АналитикаРеализации КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаТовары.ВидЗапасовОтгрузки <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаТовары.ВидЗапасовОтгрузки
| ИНАЧЕ ТаблицаТовары.ВидЗапасов
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| ТаблицаТовары.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ТаблицаТовары.ДокументРеализации КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаТовары.ПодразделениеРеализации КАК Подразделение,
| &Ответственный КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| -ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации) КАК ХозяйственнаяОперация,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаботыУслуги КАК ТаблицаТовары
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаТовары.ПрослеживаемаяРабота
| И ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПродажи)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
Функция ОписаниеОперацийУчетаВыручки(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьТоварногоЧека";
КомандаПечати.Идентификатор = "ТоварныйЧек";
КомандаПечати.Представление = НСтр("ru = 'Отчет о розничных возвратах'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
ОтчетОРозничныхВозвратахЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ОтчетОРозничныхВозвратахЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыТоварныйЧек(ПараметрыПечати, МассивОбъектов) Экспорт
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ДокЧек.Номер КАК Номер,
| ДокЧек.Дата КАК Дата,
| ДокЧек.Ссылка КАК Ссылка,
| ДокЧек.КассаККМ КАК КассаККМ,
| ДокЧек.Валюта КАК Валюта,
| ДокЧек.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ДокЧек.КассаККМ.Представление КАК Покупатель,
| ДокЧек.Ответственный.ФизическоеЛицо КАК Ответственный,
| ДокЧек.Организация КАК Организация,
| ДокЧек.Организация.Префикс КАК Префикс,
| ДокЧек.Организация.Представление КАК Поставщик,
| ДокЧек.СуммаДокумента КАК СуммаДокумента,
| ВЫБОР
| КОГДА
| ДокЧек.Подразделение.СоответствуетСтруктуреЮридическихЛиц
| ТОГДА
| ДокЧек.Подразделение
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Подразделение
|ИЗ
| Документ.ОтчетОРозничныхВозвратах КАК ДокЧек
|ГДЕ
| ДокЧек.Ссылка В (&МассивДокументов)
|УПОРЯДОЧИТЬ ПО
| ДокЧек.МоментВремени
|
|;
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатуры.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатуры.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатуры.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.НомерСтроки КАК НомерСтроки,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Количество КАК Количество,
| Таблица.КоличествоУпаковок КАК КоличествоУпаковок,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Цена КАК Цена,
| Таблица.КоличествоУпаковок * Таблица.Цена - Таблица.Сумма КАК СуммаСкидки,
| Таблица.КоличествоУпаковок * Таблица.Цена КАК СуммаБезСкидки,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.Помещение КАК Помещение
|ПОМЕСТИТЬ Товары
|ИЗ
| Документ.ОтчетОРозничныхВозвратах.Товары КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыКомплектацииНоменклатуры КАК ВариантыКомплектацииНоменклатуры
| ПО (ВариантыКомплектацииНоменклатуры.Владелец = Таблица.НоменклатураНабора)
| И (ВариантыКомплектацииНоменклатуры.Характеристика = Таблица.ХарактеристикаНабора)
| И (ВариантыКомплектацииНоменклатуры.Основной)
|ГДЕ
| Таблица.Ссылка В(&МассивДокументов)
|;
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| МИНИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
| СУММА(Таблица.СуммаСкидки) КАК СуммаСкидки,
| СУММА(Таблица.Сумма - Таблица.СуммаСкидки) КАК СуммаБезСкидки
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыПодготовка
|ИЗ
| Товары КАК Таблица
|
|ГДЕ
| Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.ВариантКомплектацииНоменклатуры КАК ВариантКомплектацииНоменклатуры,
| Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Товары.НоменклатураНабора,
| Товары.ХарактеристикаНабора,
| Товары.Номенклатура,
| Товары.Характеристика,
| ВЫБОР КОГДА Товары.ВариантКомплектацииНоменклатуры.НоменклатураОсновногоКомпонента = Товары.Номенклатура
| И Товары.ВариантКомплектацииНоменклатуры.ХарактеристикаОсновногоКомпонента = Товары.Характеристика ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ОсновнаяКомплектующая,
| 0 КАК КоличествоПоУмолчанию,
| Товары.Количество КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьПервая
|ИЗ
| Товары КАК Товары
|
|ГДЕ
| Товары.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОтчетОРозничныхВозвратах.Ссылка КАК Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка КАК ВариантКомплектацииНоменклатуры,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец КАК НоменклатураНабора,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика КАК ХарактеристикаНабора,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура КАК Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика КАК Характеристика,
| ЛОЖЬ КАК ОсновнаяКомплектующая,
| СУММА(ВариантыКомплектацииНоменклатурыТовары.Количество) КАК КоличествоПоУмолчанию,
| 0 КАК Количество
|ИЗ
| Справочник.ВариантыКомплектацииНоменклатуры.Товары КАК ВариантыКомплектацииНоменклатурыТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхВозвратах КАК ОтчетОРозничныхВозвратах ПО ИСТИНА
|ГДЕ
| ОтчетОРозничныхВозвратах.Ссылка В (&МассивДокументов) И ВариантыКомплектацииНоменклатурыТовары.Ссылка В (ВЫБРАТЬ РАЗЛИЧНЫЕ Т.ВариантКомплектацииНоменклатуры ИЗ Товары КАК Т)
|СГРУППИРОВАТЬ ПО
| ОтчетОРозничныхВозвратах.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Владелец,
| ВариантыКомплектацииНоменклатурыТовары.Ссылка.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Номенклатура,
| ВариантыКомплектацииНоменклатурыТовары.Характеристика,
| ВариантыКомплектацииНоменклатурыТовары.Упаковка
|;
|
|
|ВЫБРАТЬ
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика,
| МАКСИМУМ(Таблица.ОсновнаяКомплектующая) КАК ОсновнаяКомплектующая,
| СУММА(Таблица.КоличествоПоУмолчанию) КАК КоличествоПоУмолчанию,
| СУММА(Таблица.Количество) КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительноЧастьВторая
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьПервая КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Ссылка,
| Таблица.ВариантКомплектацииНоменклатуры,
| Таблица.ВариантРасчетаЦеныНабора,
| Таблица.ВариантПредставленияНабораВПечатныхФормах,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| Таблица.Номенклатура,
| Таблица.Характеристика
|;
|
|
|ВЫБРАТЬ
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора,
| ВЫРАЗИТЬ(МИНИМУМ(ВЫБОР
| КОГДА Результат.КоличествоПоУмолчанию <> 0 И Результат.ОсновнаяКомплектующая
| ТОГДА Результат.Количество / Результат.КоличествоПоУмолчанию
| ИНАЧЕ NULL
| КОНЕЦ) + 0.5 КАК Число(10,0)) - 1 КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблицаНаборыДополнительно
|ИЗ
| ВременнаяТаблицаНаборыДополнительноЧастьВторая КАК Результат
|СГРУППИРОВАТЬ ПО
| Результат.Ссылка,
| Результат.ВариантКомплектацииНоменклатуры,
| Результат.ВариантРасчетаЦеныНабора,
| Результат.ВариантПредставленияНабораВПечатныхФормах,
| Результат.НоменклатураНабора,
| Результат.ХарактеристикаНабора
|;
|
|
|ВЫБРАТЬ
| ВременнаяТаблицаНаборыДополнительно.ВариантКомплектацииНоменклатуры,
| ВременнаяТаблицаНаборыДополнительно.ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборыДополнительно.ВариантРасчетаЦеныНабора,
| Таблица.Ссылка КАК Ссылка,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.НомерСтроки КАК НомерСтроки,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК КоличествоУпаковок,
| ЕСТЬNULL(ВременнаяТаблицаНаборыДополнительно.Количество, 1) КАК Количество,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.СуммаСкидки КАК СуммаСкидки,
| Таблица.СуммаБезСкидки КАК СуммаБезСкидки
|ПОМЕСТИТЬ ВременнаяТаблицаНаборы
|ИЗ
| ВременнаяТаблицаНаборыПодготовка КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборыДополнительно КАК ВременнаяТаблицаНаборыДополнительно
| ПО Таблица.НоменклатураНабора = ВременнаяТаблицаНаборыДополнительно.НоменклатураНабора
| И Таблица.ХарактеристикаНабора = ВременнаяТаблицаНаборыДополнительно.ХарактеристикаНабора
| И Таблица.Ссылка = ВременнаяТаблицаНаборыДополнительно.Ссылка
|;
|
|
|
|
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
|
| Таблица.Ссылка КАК ВариантКомплектацииНоменклатуры,
| Таблица.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Таблица.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.НоменклатураНабора КАК НоменклатураНабора,
| Таблица.ХарактеристикаНабора КАК ХарактеристикаНабора,
| Таблица.ЭтоКомплектующие КАК ЭтоКомплектующие,
| Таблица.ЭтоНабор КАК ЭтоНабор,
|
| Таблица.НомерСтроки КАК НомерСтроки,
| Таблица.Номенклатура.НаименованиеПолное КАК ПолноеНаименованиеНоменклатуры,
| Таблица.Номенклатура.Код КАК Код,
| Таблица.Номенклатура.Артикул КАК Артикул,
| Таблица.Характеристика.НаименованиеПолное КАК ПолноеНаименованиеХарактеристики,
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Таблица.Упаковка.Наименование
| КОНЕЦ КАК НаименованиеУпаковки,
| Таблица.КоличествоУпаковок КАК Количество,
| ВЫБОР
| КОГДА Таблица.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА ПРЕДСТАВЛЕНИЕ(Таблица.Номенклатура.ЕдиницаИзмерения)
| ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Таблица.Упаковка)
| КОНЕЦ КАК ЕдиницаИзмерения,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Цена КАК Цена,
| Таблица.КоличествоУпаковок * Таблица.Цена - Таблица.Сумма КАК СуммаСкидки,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаНДС КАК СуммаНДС,
| Таблица.Помещение КАК Помещение
|ИЗ
|(
| ВЫБРАТЬ
| Таблица.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах,
| Таблица.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| Таблица.Ссылка,
| Таблица.НоменклатураНабора,
| Таблица.ХарактеристикаНабора,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ЭтоКомплектующие,
| ЛОЖЬ КАК ЭтоНабор,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.НомерСтроки, 0) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.НомерСтроки
| ИНАЧЕ
| Таблица.НомерСтроки
| КОНЕЦ КАК НомерСтроки,
| Таблица.Номенклатура,
| Таблица.Количество,
| Таблица.КоличествоУпаковок,
| Таблица.Цена,
| Таблица.Сумма,
| Таблица.СуммаНДС,
| Таблица.Характеристика,
| Таблица.Упаковка,
| Таблица.СуммаСкидки,
| Таблица.СуммаБезСкидки,
| Таблица.Помещение
| ИЗ
| Товары КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ПО ВременнаяТаблицаНаборы.НоменклатураНабора = Таблица.НоменклатураНабора
| И ВременнаяТаблицаНаборы.ХарактеристикаНабора = Таблица.ХарактеристикаНабора
| И ВременнаяТаблицаНаборы.Ссылка = Таблица.Ссылка
|
| ГДЕ
| Таблица.НоменклатураНабора = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ (Таблица.НоменклатураНабора <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И Таблица.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоКомплектующие),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие)))
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах,
| ВременнаяТаблицаНаборы.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора,
| ВременнаяТаблицаНаборы.Ссылка,
| ВременнаяТаблицаНаборы.НоменклатураНабора,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора,
| ЛОЖЬ КАК ЭтоКомплектующие,
| ИСТИНА КАК ЭтоНабор,
| ВременнаяТаблицаНаборы.НомерСтроки,
| ВременнаяТаблицаНаборы.НоменклатураНабора,
| ВременнаяТаблицаНаборы.Количество,
| ВременнаяТаблицаНаборы.КоличествоУпаковок,
| ВЫБОР КОГДА ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1) <> 0 ТОГДА
| ВременнаяТаблицаНаборы.СуммаБезСкидки / ЕСТЬNULL(ВременнаяТаблицаНаборы.КоличествоУпаковок, 1)
| ИНАЧЕ
| 0
| КОНЕЦ КАК Цена,
| ВременнаяТаблицаНаборы.Сумма КАК Сумма,
| ВременнаяТаблицаНаборы.СуммаНДС,
| ВременнаяТаблицаНаборы.ХарактеристикаНабора,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ВременнаяТаблицаНаборы.СуммаСкидки,
| ВременнаяТаблицаНаборы.СуммаБезСкидки,
| Неопределено КАК Помещение
| ИЗ
| ВременнаяТаблицаНаборы КАК ВременнаяТаблицаНаборы
| ГДЕ
| ВременнаяТаблицаНаборы.ВариантПредставленияНабораВПечатныхФормах В (ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.ТолькоНабор),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПредставленияНаборовВПечатныхФормах.НаборИКомплектующие))
|) КАК Таблица
|
|УПОРЯДОЧИТЬ ПО
| Таблица.НомерСтроки,
| ЭтоНабор УБЫВ
|");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Таблица.Упаковка",
"Таблица.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
Запрос.УстановитьПараметр("ПредставлениеДокумента", НСтр("ru = 'Отчет о розничных возвратах'", ОбщегоНазначения.КодОсновногоЯзыка()));
Запрос.УстановитьПараметр("ПредставлениеВОшибке", НСтр("ru = 'отчета о розничных возвратах'", ОбщегоНазначения.КодОсновногоЯзыка()));
ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
СтруктураДанныхДляПечати = Новый Структура(
"РезультатПоШапке, РезультатПоТабличнойЧасти, ЗаголовокДокумента",
ПакетРезультатовЗапроса[0],
ПакетРезультатовЗапроса[ПакетРезультатовЗапроса.Количество() - 1],
НСтр("ru = 'Отчет о розничных возвратах'", ОбщегоНазначения.КодОсновногоЯзыка()));
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат СтруктураДанныхДляПечати;
КонецФункции
Функция ПолучитьДанныеДляПечатнойФормыКМ6(ПараметрыПечати, МассивОбъектов) Экспорт
Возврат РозничныеПродажиЛокализация.ПолучитьДанныеДляПечатнойФормыКМ6(ПараметрыПечати, МассивОбъектов);
КонецФункции
Функция ПолучитьДанныеДляПечатнойФормыКМ3(ПараметрыПечати, МассивОбъектов) Экспорт
Возврат РозничныеПродажиЛокализация.ПолучитьДанныеДляПечатнойФормыКМ3(ПараметрыПечати, МассивОбъектов);
КонецФункции
#КонецОбласти
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерийСПомещениями()
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Помещение,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Серия,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Помещение,
| Товары.Номенклатура,
| Товары.Характеристика,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Помещение,
| Товары.Номенклатура,
| Товары.Характеристика,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Серии.Помещение,
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии
|;
|
|
|ВЫБРАТЬ
| Серии.Помещение,
| Серии.Номенклатура,
| Серии.Характеристика,
| СУММА(Серии.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК Серии
|
|СГРУППИРОВАТЬ ПО
| Серии.Помещение,
| Серии.Номенклатура,
| Серии.Характеристика
|;
|
|
|ВЫБРАТЬ
| ПолитикиУчетаСерий.Ссылка КАК Ссылка,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий КАК ПолитикаУчетаСерий,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям КАК УчитыватьСебестоимостьПоСериям,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтгрузки КАК УказыватьПриПланированииОтгрузки,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтбора КАК УказыватьПриПланированииОтбора,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчетСерийПоFEFO КАК УчетСерийПоFEFO,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПоФактуОтбора КАК УказыватьПоФактуОтбора,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриОтгрузкеВРозницу КАК УказыватьПриОтгрузкеВРозницу,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьОстаткиСерий КАК УчитыватьОстаткиСерий
|ПОМЕСТИТЬ ПолитикиУчетаСерийДляЗапроса
|ИЗ
| Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
|ГДЕ
| (ПолитикиУчетаСерий.Склад = &Склад)
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА &ТолькоСерииДляСебестоимости
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.УказыватьПриПланированииОтгрузки
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 10
| ИНАЧЕ 9
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.УказыватьПриПланированииОтбора
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.УчетСерийПоFEFO
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 6
| ИНАЧЕ 5
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 8
| ИНАЧЕ 7
| КОНЕЦ
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.УказыватьПоФактуОтбора
| И ПолитикиУчетаСерий.УказыватьПриОтгрузкеВРозницу
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.УчитыватьОстаткиСерий
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 4
| ИНАЧЕ 3
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| И Товары.Помещение = ТоварыДляЗапроса.Помещение
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО Товары.Номенклатура = СерииДляЗапроса.Номенклатура
| И Товары.Характеристика = СерииДляЗапроса.Характеристика
| И Товары.Помещение = СерииДляЗапроса.Помещение
| ЛЕВОЕ СОЕДИНЕНИЕ ПолитикиУчетаСерийДляЗапроса КАК ПолитикиУчетаСерий
| ПО ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерийБезПомещений()
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Серия,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| СУММА(Серии.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК Серии
|
|СГРУППИРОВАТЬ ПО
| Серии.Номенклатура,
| Серии.Характеристика
|;
|
|
|ВЫБРАТЬ
| ПолитикиУчетаСерий.Ссылка КАК Ссылка,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий КАК ПолитикаУчетаСерий,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям КАК УчитыватьСебестоимостьПоСериям,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтгрузки КАК УказыватьПриПланированииОтгрузки,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтбора КАК УказыватьПриПланированииОтбора,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчетСерийПоFEFO КАК УчетСерийПоFEFO,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПоФактуОтбора КАК УказыватьПоФактуОтбора,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриОтгрузкеВРозницу КАК УказыватьПриОтгрузкеВРозницу,
| ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьОстаткиСерий КАК УчитыватьОстаткиСерий
|ПОМЕСТИТЬ ПолитикиУчетаСерийДляЗапроса
|ИЗ
| Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
|ГДЕ
| (ПолитикиУчетаСерий.Склад = &Склад)
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА &ТолькоСерииДляСебестоимости
| ТОГДА 0
| КОГДА ПолитикиУчетаСерий.УказыватьПриПланированииОтгрузки
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 10
| ИНАЧЕ 9
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.УказыватьПриПланированииОтбора
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.УчетСерийПоFEFO
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 6
| ИНАЧЕ 5
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 8
| ИНАЧЕ 7
| КОНЕЦ
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.УказыватьПоФактуОтбора
| И ПолитикиУчетаСерий.УказыватьПриОтгрузкеВРозницу
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.УчитыватьОстаткиСерий
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 4
| ИНАЧЕ 3
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО Товары.Номенклатура = СерииДляЗапроса.Номенклатура
| И Товары.Характеристика = СерииДляЗапроса.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ ПолитикиУчетаСерийДляЗапроса КАК ПолитикиУчетаСерий
| ПО ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#КонецЕсли