#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "ОрганизацияПолучатель");
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "ОрганизацияПолучатель";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "ОрганизацияПолучатель";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация,ОрганизацияПолучатель";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация,ОрганизацияПолучатель";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Договор", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетОрганизации", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "ОрганизацияПолучатель";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "ОрганизацияПолучатель";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчетОрганизацииПолучателя", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Менеджер";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Автор, Организация, ОрганизацияПолучатель";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Склад";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Менеджер", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"НаименованиеВходящегоДокумента", Параметры);
КонецПроцедуры
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПередачаНаОтветхранение");
МеханизмыДокумента.Добавить("ПодакцизныеТовары");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ВозвратТоваровМеждуОрганизациямиЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ВозвратТоваровМеждуОрганизациями") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияНоменклатураНоменклатура(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ВозвратТоваровМеждуОрганизациямиЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
#Область НеоперативноеДопроведение
Функция ПолучитьДанныеПоАкцизам(ДокументСсылка) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОрганизацияПолучатель КАК ОрганизацияПолучатель,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ЧастиТекстаЗапроса = Новый Массив;
ТекстЧастиЗапроса =
"ВЫБРАТЬ
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КлючиАналитики.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ЕСТЬNULL(ВидыЗапасовПолучателя.ОблагаетсяАкцизом, ЛОЖЬ) КАК ОблагаетсяАкцизом,
| ВидыЗапасовПолучателя.ПодразделениеПроизводства КАК ПодразделениеПроизводства,
| ТаблицаВидыЗапасов.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ДанныеОснования.Дата КАК ДатаДокументаПередачи,
| ЕСТЬNULL(ДанныеОснования.Дата, &Период) КАК Дата
|ПОМЕСТИТЬ ТаблицаВидыЗапасов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПередачаТоваровМеждуОрганизациями КАК ДанныеОснования
| ПО ТаблицаВидыЗапасов.ДокументПередачи = ДанныеОснования.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитики
| ПО ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры = КлючиАналитики.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовПолучателя
| ПО ТаблицаВидыЗапасов.ВидЗапасовПолучателя = ВидыЗапасовПолучателя.Ссылка
|
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| Дата";
ЧастиТекстаЗапроса.Добавить(ТекстЧастиЗапроса);
ПараметрыТекстаЗапроса = УчетПодакцизныхТоваров.ПараметрыТекстаЗапросаВТПодакцизныеКатегорииТоваров();
ПараметрыТекстаЗапроса.ОтборКатегорийПоДате = Ложь;
ПараметрыТекстаЗапроса.ИмяТаблицыТоваров = "ТаблицаВидыЗапасов";
ПараметрыТекстаЗапроса.ИмяПоляПериод = "Дата";
ТекстЧастиЗапроса = УчетПодакцизныхТоваров.ТекстЗапросаВТПодакцизныеКатегорииТоваров(, ПараметрыТекстаЗапроса);
ЧастиТекстаЗапроса.Добавить(ТекстЧастиЗапроса);
ТекстЧастиЗапроса =
"ВЫБРАТЬ
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.СуммаАкциза КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаАкциза * &КоэффициентПересчетаИзРеглВУпр КАК ЧИСЛО(31, 2)) КАК СуммаАкцизаУпр,
| ЕСТЬNULL(ТаблицаПодакцизныеКатегории.КатегорияТовара,
| ЗНАЧЕНИЕ(Справочник.КатегорииПодакцизныхТоваров.ПустаяСсылка)) КАК КатегорияПодакцизногоТовара,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ОблагаетсяАкцизом
| ТОГДА ЕСТЬNULL(ТаблицаПодакцизныеКатегории.КоэффициентПересчета, 0) * ТаблицаВидыЗапасов.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоАкциза,
| ТаблицаВидыЗапасов.ПодразделениеПроизводства КАК ПодразделениеПроизводства,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = &СебестоимостьИзДокументаПередачи
| И ТаблицаВидыЗапасов.ДатаДокументаПередачи < &НачалоМесяцаПериода
| ТОГДА
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтЗапасыПолучателя
|ИЗ
| ТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПодакцизныеКатегорииТоваров КАК ТаблицаПодакцизныеКатегории
| ПО ТаблицаВидыЗапасов.Номенклатура = ТаблицаПодакцизныеКатегории.Номенклатура
| И ТаблицаВидыЗапасов.Дата = ТаблицаПодакцизныеКатегории.Период
|
|ГДЕ
| ТаблицаПодакцизныеКатегории.ПодакцизныйТовар
| И ТаблицаПодакцизныеКатегории.КатегорияТовара <> ЗНАЧЕНИЕ(Справочник.КатегорииПодакцизныхТоваров.ПустаяСсылка)
|;
|
|
|УНИЧТОЖИТЬ ТаблицаВидыЗапасов
|;
|
|
|УНИЧТОЖИТЬ ВТПодакцизныеКатегорииТоваров
|;
|
|
|ВЫБРАТЬ
| &Период КАК Период,
| &ОрганизацияПолучатель КАК Организация,
| ТаблицаВидыЗапасов.ПодразделениеПроизводства КАК ПодразделениеУплатыАкциза,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСПодакцизнымТоваром.Возврат) КАК ВидОперацииСПодакцизнымТоваром,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ТаблицаВидыЗапасов.КоличествоАкциза КАК КоличествоАкциза,
| -ТаблицаВидыЗапасов.СуммаАкцизаРегл КАК СуммаАкцизаРегл,
| -ТаблицаВидыЗапасов.СуммаАкцизаУпр КАК СуммаАкцизаУпр,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтЗапасыПолучателя КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.СуммаАкцизаРегл <> 0
| ИЛИ ТаблицаВидыЗапасов.СуммаАкцизаУпр <> 0
| ИЛИ ТаблицаВидыЗапасов.КоличествоАкциза <> 0
|";
ЧастиТекстаЗапроса.Добавить(ТекстЧастиЗапроса);
Запрос.Текст = СтрСоединить(ЧастиТекстаЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
ПериодКурса = Реквизиты.Период;
ВалютаУправленческогоУчета = ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета();
ВалютаРегламентированногоУчета =
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Реквизиты.ОрганизацияПолучатель);
КоэффициентПересчетаИзРеглВУпр = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
ВалютаРегламентированногоУчета, ВалютаУправленческогоУчета, ПериодКурса, ВалютаРегламентированногоУчета);
СтранаРегистрации = ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Реквизиты.ОрганизацияПолучатель);
Запрос.УстановитьПараметр("Период", Реквизиты.Период);
Запрос.УстановитьПараметр("НачалоМесяцаПериода", НачалоМесяца(Реквизиты.Период));
Запрос.УстановитьПараметр("СебестоимостьИзДокументаПередачи", Перечисления.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПередачи);
Запрос.УстановитьПараметр("КоэффициентПересчетаИзРеглВУпр", КоэффициентПересчетаИзРеглВУпр);
Запрос.УстановитьПараметр("Страна", СтранаРегистрации);
Запрос.УстановитьПараметр("ИспользоватьПодакцизныеТовары", ИспользуютсяПодакцизныеТовары(Реквизиты));
Возврат Запрос.Выполнить();
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ВозвратТоваровМеждуОрганизациямиЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ВозвратТоваровМеждуОрганизациями) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ВозвратТоваровМеждуОрганизациями.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ВозвратТоваровМеждуОрганизациями);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьПередачиТоваровМеждуОрганизациями";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
Отчеты.ОстаткиТоваровОрганизаций.ДобавитьКомандуОтчета(КомандыОтчетов);
ВозвратТоваровМеждуОрганизациямиЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Реквизиты = Новый Структура();
Реквизиты.Вставить("Дата", '00010101');
Реквизиты.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ПустаяСсылка());
Реквизиты.Вставить("Организация", Справочники.Организации.ПустаяСсылка());
Реквизиты.Вставить("Партнер", Справочники.Партнеры.ПустаяСсылка());
Реквизиты.Вставить("Контрагент", Справочники.Контрагенты.ПустаяСсылка());
Реквизиты.Вставить("ОрганизацияОтправитель", Справочники.Организации.ПустаяСсылка());
Реквизиты.Вставить("ОрганизацияПолучатель", Справочники.Организации.ПустаяСсылка());
Реквизиты.Вставить("ВалютаВзаиморасчетов", Справочники.Валюты.ПустаяСсылка());
Реквизиты.Вставить("СуммаДокумента", 0);
Реквизиты.Вставить("СуммаВзаиморасчетов", 0);
Реквизиты.Вставить("РасчетыЧерезОтдельногоКонтрагента", Ложь);
Реквизиты.Вставить("ДоговорПродажи", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
Реквизиты.Вставить("ДоговорПокупки", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
Запрос = Новый Запрос("
|ВЫБРАТЬ
| Данные.Дата КАК Дата,
| Данные.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| Данные.Организация КАК Организация,
| (ВЫБОР КОГДА Данные.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА Данные.Партнер
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| КОНЕЦ) КАК Партнер,
| (ВЫБОР КОГДА Данные.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА Данные.Контрагент
| ИНАЧЕ Данные.Организация
| КОНЕЦ) КАК Контрагент,
| Данные.Организация КАК ОрганизацияОтправитель,
| Данные.ОрганизацияПолучатель КАК ОрганизацияПолучатель,
| Данные.Валюта КАК ВалютаВзаиморасчетов,
| Данные.СуммаДокумента КАК СуммаДокумента,
| (ВЫБОР КОГДА Данные.Проведен
| ТОГДА Данные.СуммаДокумента
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаВзаиморасчетов,
| Данные.РасчетыЧерезОтдельногоКонтрагента КАК РасчетыЧерезОтдельногоКонтрагента,
| Данные.ДоговорПродажи КАК ДоговорПродажи,
| Данные.ДоговорПокупки КАК ДоговорПокупки
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК Данные
|ГДЕ
| Данные.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(Реквизиты, Выборка);
КонецЕсли;
Возврат Реквизиты;
КонецФункции
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ВозвратТоваровМеждуОрганизациямиЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ВозвратТоваровМеждуОрганизациямиЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Склад,Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ВозвратТоваровМеждуОрганизациями";
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Ложь);
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.ТолькоСерииДляСебестоимости = Истина;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ДвижениеВФинансовомУчете);
ПараметрыУказанияСерий.ИмяТЧСерии = "Товары";
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия КАК Серия,
| Товары.Количество КАК Количество,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО ПолитикиУчетаСерий.Склад = &Склад
| И ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ВсеНазначения", Ложь, "Объект.Товары.Назначение");
Возврат МакетФормы;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ( ЗначениеРазрешено(Организация)
| ИЛИ ЗначениеРазрешено(ОрганизацияПолучатель)
| ) И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Склад)
| И ЗначениеРазрешено(Подразделение)";
КонецПроцедуры
#КонецОбласти
Функция ПараметрыЗаполненияНалогообложенияНДС(Документ) Экспорт
ИменаРеквизитов =
"Дата,
|ОрганизацияПолучатель,
|Договор,
|ДоговорПродажи,
|Склад,
|Подразделение,
|ХозяйственнаяОперация,
|РасчетыЧерезОтдельногоКонтрагента,
|НаправлениеДеятельности";
РеквизитыДокумента = Новый Структура(ИменаРеквизитов);
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ВозвратТоваровМеждуОрганизациями") Тогда
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, РеквизитыДокумента);
Иначе
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, Документ);
КонецЕсли;
ЗаполняемыеПоля = "Дата, Склад, НаправлениеДеятельности, Подразделение";
ВозвратТоваров =
РеквизитыДокумента.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями;
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
ЗаполнитьЗначенияСвойств(ПараметрыЗаполнения, РеквизитыДокумента, ЗаполняемыеПоля);
ПараметрыЗаполнения.Организация = РеквизитыДокумента.ОрганизацияПолучатель;
ПараметрыЗаполнения.Договор = ?(РеквизитыДокумента.РасчетыЧерезОтдельногоКонтрагента,
РеквизитыДокумента.ДоговорПродажи,
РеквизитыДокумента.Договор);
ПараметрыЗаполнения.ВозвратТоваровОтКлиента = ВозвратТоваров;
ПараметрыЗаполнения.ВозвратТоваровОтКомиссионера = Не ВозвратТоваров;
ПараметрыЗаполнения.ЭтоОперацияМеждуОрганизациями = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурВыданных(Документ) Экспорт
РеквизитыДокумента = Новый Структура("Ссылка, Организация, ОрганизацияПолучатель, Контрагент, НалогообложениеНДС,
|Дата, ХозяйственнаяОперация, РасчетыЧерезОтдельногоКонтрагента, ПокупательНеПлательщикНДС");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ВозвратТоваровМеждуОрганизациями") Тогда
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, РеквизитыДокумента);
Иначе
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, Документ);
КонецЕсли;
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурВыданных();
ЗаполнитьЗначенияСвойств(ПараметрыРегистрации, РеквизитыДокумента, "Ссылка, Дата, Организация, НалогообложениеНДС");
Если Не ЗначениеЗаполнено(ПараметрыРегистрации.Дата) Тогда
ПараметрыРегистрации.Дата = ТекущаяДатаСеанса();
КонецЕсли;
ПараметрыРегистрации.Контрагент = ?(РеквизитыДокумента.РасчетыЧерезОтдельногоКонтрагента,
РеквизитыДокумента.Контрагент,
РеквизитыДокумента.ОрганизацияПолучатель);
ПараметрыРегистрации.ВозвратТоваровПоставщику =
Не РеквизитыДокумента.ПокупательНеПлательщикНДС
И РеквизитыДокумента.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями;
Если
ПараметрыРегистрации.ВозвратТоваровПоставщику
И ПараметрыРегистрации.Дата >= УчетНДСУП.НастройкиУчета().ДатаОтраженияВозвратовКорректировочнымиСФ
И Не РеквизитыДокумента.РасчетыЧерезОтдельногоКонтрагента
Тогда
ПараметрыРегистрации.КорректировкаПоСогласованиюСторон = Истина;
ПараметрыРегистрации.Организация = РеквизитыДокумента.ОрганизацияПолучатель;
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурПолученных(Документ) Экспорт
РеквизитыДокумента = Новый Структура("Ссылка, Организация, ОрганизацияПолучатель, Контрагент, НалогообложениеНДС,
|Дата, ХозяйственнаяОперация, РасчетыЧерезОтдельногоКонтрагента, ПокупательНеПлательщикНДС");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ВозвратТоваровМеждуОрганизациями") Тогда
РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, РеквизитыДокумента);
Иначе
ЗаполнитьЗначенияСвойств(РеквизитыДокумента, Документ);
КонецЕсли;
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ЗаполнитьЗначенияСвойств(ПараметрыРегистрации, РеквизитыДокумента, "Ссылка, Дата, НалогообложениеНДС");
Если Не ЗначениеЗаполнено(ПараметрыРегистрации.Дата) Тогда
ПараметрыРегистрации.Дата = ТекущаяДатаСеанса();
КонецЕсли;
ПараметрыРегистрации.Организация = РеквизитыДокумента.ОрганизацияПолучатель;
ПараметрыРегистрации.Контрагент = ?(РеквизитыДокумента.РасчетыЧерезОтдельногоКонтрагента,
РеквизитыДокумента.Контрагент,
РеквизитыДокумента.Организация);
ПараметрыРегистрации.ВозвратТоваровОтПлательщикаНДС =
Не РеквизитыДокумента.ПокупательНеПлательщикНДС
И РеквизитыДокумента.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями
И РеквизитыДокумента.РасчетыЧерезОтдельногоКонтрагента;
ПараметрыРегистрации.ВозвратТоваровОтНеплательщикаНДС =
РеквизитыДокумента.ПокупательНеПлательщикНДС
Или РеквизитыДокумента.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"РасчетыЧерезОтдельногоКонтрагента,
|ХозяйственнаяОперация,
|ДоговорПродажи,
|ДоговорПокупки");
РасчетыЧерезОтдельногоКонтрагента = СтруктураДанныеЗаполнения.РасчетыЧерезОтдельногоКонтрагента;
ХозяйственнаяОперация = СтруктураДанныеЗаполнения.ХозяйственнаяОперация;
ДоговорПродажи = СтруктураДанныеЗаполнения.ДоговорПродажи;
ДоговорПокупки = СтруктураДанныеЗаполнения.ДоговорПокупки;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
РасчетыЧерезОтдельногоКонтрагента = Ложь;
ХозяйственнаяОперация = Неопределено;
ДоговорПродажи = Неопределено;
ДоговорПокупки = Неопределено;
Иначе
РасчетыЧерезОтдельногоКонтрагента = ДанныеЗаполнения.РасчетыЧерезОтдельногоКонтрагента;
ХозяйственнаяОперация = ДанныеЗаполнения.ХозяйственнаяОперация;
ДоговорПродажи = ДанныеЗаполнения.ДоговорПродажи;
ДоговорПокупки = ДанныеЗаполнения.ДоговорПокупки;
КонецЕсли;
ПараметрыВзаиморасчетов = Новый Массив();
#Область Отгрузка
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
#Область ОбязательныеПараметры
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ИзменяетПланОплаты =
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
СтруктураПараметров.ИзменяетРасчетыСтрокой =
"ИсточникДанных.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)";
СтруктураПараметров.Организация = "Объект.Организация";
СтруктураПараметров.Партнер = ?(РасчетыЧерезОтдельногоКонтрагента, "Объект.Партнер", Справочники.Партнеры.НашеПредприятие);
СтруктураПараметров.Контрагент = ?(РасчетыЧерезОтдельногоКонтрагента, "Объект.Контрагент", "Объект.ОрганизацияПолучатель");
#КонецОбласти
#Область НеобязательныеПараметры
СтруктураПараметров.Договор = ?(РасчетыЧерезОтдельногоКонтрагента, "Объект.ДоговорПродажи", "Объект.Договор");
ПорядокРасчетаДоговора = ?(ЗначениеЗаполнено(ДоговорПродажи),"Объект.ДоговорПродажи.ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПоНакладным);
СтруктураПараметров.ПорядокРасчетов = ?(РасчетыЧерезОтдельногоКонтрагента,
ПорядокРасчетаДоговора,
"Объект.Договор.ПорядокРасчетов");
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Товары";
Если РасчетыЧерезОтдельногоКонтрагента Тогда
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "";
Иначе
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежа";
СтруктураПараметров.ЭлементыФормы.ПодборВРасшифровкуПлатежа = "РасшифровкаПлатежаПодборПоОстаткам";
СтруктураПараметров.ЭлементыФормы.РасшифровкаПлатежа = "РасшифровкаПлатежа";
КонецЕсли;;
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
СтруктураПараметров.ГруппаФинансовогоУчета = "Объект.ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
#КонецОбласти
ПараметрыВзаиморасчетов.Добавить(СтруктураПараметров);
#КонецОбласти
#Область Приемка
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
#Область ОбязательныеПараметры
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.ИзменяетПланОплаты =
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
СтруктураПараметров.ИзменяетРасчетыСтрокой =
"ИсточникДанных.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)";
СтруктураПараметров.Организация = "Объект.ОрганизацияПолучатель";
СтруктураПараметров.Партнер = ?(РасчетыЧерезОтдельногоКонтрагента, "Объект.Партнер", Справочники.Партнеры.НашеПредприятие);
СтруктураПараметров.Контрагент = ?(РасчетыЧерезОтдельногоКонтрагента, "Объект.Контрагент", "Объект.Организация");
#КонецОбласти
#Область НеобязательныеПараметры
СтруктураПараметров.Договор = ?(РасчетыЧерезОтдельногоКонтрагента, "Объект.ДоговорПокупки", "Объект.Договор");
ПорядокРасчетаДоговора = ?(ЗначениеЗаполнено(ДоговорПокупки),"Объект.ДоговорПокупки.ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПоНакладным);
СтруктураПараметров.ПорядокРасчетов = ?(РасчетыЧерезОтдельногоКонтрагента,
ПорядокРасчетаДоговора,
"Объект.Договор.ПорядокРасчетов");
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Товары";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "Объект.ГруппаФинансовогоУчетаПолучателя";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетовПолучателя";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчетаПолучателя";
#КонецОбласти
ПараметрыВзаиморасчетов.Добавить(СтруктураПараметров);
#КонецОбласти
Возврат ПараметрыВзаиморасчетов;
КонецФункции
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
МассивНаименований.Добавить(НСтр("ru='Возврат товаров'"));
ВозвратТоваровМеждуОрганизациямиЛокализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура("Товары");
Возврат ТаблицыДокумента;
КонецФункции
#Область ПодакцизныеТовары
Функция ИспользуютсяПодакцизныеТовары(ДокументОбъект) Экспорт
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьПодакцизныеТовары") Тогда
Возврат Ложь;
КонецЕсли;
Возврат ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Если Данные.РасчетыЧерезОтдельногоКонтрагента Тогда
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "ВозвратТоваровМеждуОрганизациями");
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
Поля.Добавить("РасчетыЧерезОтдельногоКонтрагента");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.ДокументПередачи КАК ДокументПередачи,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.ДоговорПродажи КАК ДоговорПродажи,
| ДанныеДокумента.ДоговорПокупки КАК ДоговорПокупки,
|
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| (ВЫБОР КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК ЭтоВозвратТовара,
| (ВЫБОР КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК ЭтоВозвратПоКомиссии,
|
| ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента КАК РасчетыЧерезОтдельногоКонтрагента,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОрганизацияПолучатель КАК ОрганизацияПолучатель,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Партнер КАК Партнер,
|
| ДанныеДокумента.ПокупательНеПлательщикНДС КАК ПокупательНеПлательщикНДС,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетРасчетовСПоставщиками, ЛОЖЬ) КАК УчетРасчетовСПоставщикамиПоНД,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетДоходов, ЛОЖЬ) КАК УчетДоходовПоНД,
|
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетовПолучателя КАК ОбъектРасчетовПолучателя
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыМеждуОрганизациями КАК Договоры
| ПО ДанныеДокумента.Договор = Договоры.Ссылка
| И Договоры.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамКонтрагентов)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентовКлиент
| ПО ДанныеДокумента.ДоговорПродажи = ДоговорыКонтрагентовКлиент.Ссылка
| И ДоговорыКонтрагентовКлиент.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамКонтрагентов)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентовПоставщик
| ПО ДанныеДокумента.ДоговорПокупки = ДоговорыКонтрагентовПоставщик.Ссылка
| И ДоговорыКонтрагентовПоставщик.ПорядокРасчетов = ЗНАЧЕНИЕ(Перечисление.ПорядокРасчетов.ПоДоговорамКонтрагентов)
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Реквизиты = Запрос.Выполнить().Выбрать();
Реквизиты.Следующий();
ИдентификаторМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ВозвратТоваровМеждуОрганизациями");
ШаблонСтроки = "ru = 'Возврат из ""%1""'";
ИнформацияПоОрганизации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Организация);
ШаблонСтроки = "ru = 'Возврат в ""%1""'";
ИнформацияПоОрганизацииПолучателю = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.ОрганизацияПолучатель);
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер);
НомерВходящегоДокумента = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.НомерВходящегоДокумента);
Запрос.УстановитьПараметр("Ссылка", Реквизиты.Ссылка);
Запрос.УстановитьПараметр("Номер", Реквизиты.Номер);
Запрос.УстановитьПараметр("Период", Реквизиты.Период);
Запрос.УстановитьПараметр("НачалоМесяцаПериода", НачалоМесяца(Реквизиты.Период));
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Реквизиты.ХозяйственнаяОперация);
Запрос.УстановитьПараметр("ЭтоВозвратТовара", Реквизиты.ЭтоВозвратТовара);
Запрос.УстановитьПараметр("ЭтоВозвратПоКомиссии", Реквизиты.ЭтоВозвратПоКомиссии);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("ОрганизацияПолучатель", Реквизиты.ОрганизацияПолучатель);
Запрос.УстановитьПараметр("Склад", Реквизиты.Склад);
Запрос.УстановитьПараметр("Подразделение", Реквизиты.Подразделение);
Запрос.УстановитьПараметр("Валюта", Реквизиты.Валюта);
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Реквизиты.Организация));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("РасчетыЧерезОтдельногоКонтрагента", Реквизиты.РасчетыЧерезОтдельногоКонтрагента);
Запрос.УстановитьПараметр("Контрагент", Реквизиты.Контрагент);
Запрос.УстановитьПараметр("НалогообложениеНДС", Реквизиты.НалогообложениеНДС);
Запрос.УстановитьПараметр("ДокументПередачи", Реквизиты.ДокументПередачи);
Запрос.УстановитьПараметр("Менеджер", Реквизиты.Менеджер);
Запрос.УстановитьПараметр("Автор", Реквизиты.Автор);
Запрос.УстановитьПараметр("Партнер", Реквизиты.Партнер);
Запрос.УстановитьПараметр("Договор", Реквизиты.Договор);
Запрос.УстановитьПараметр("ДоговорПродажи", Реквизиты.ДоговорПродажи);
Запрос.УстановитьПараметр("ДоговорПокупки", Реквизиты.ДоговорПокупки);
Запрос.УстановитьПараметр("НаправлениеДеятельности", Реквизиты.НаправлениеДеятельности);
Запрос.УстановитьПараметр("УчетЗатратПоНД", Реквизиты.УчетЗатратПоНД);
Запрос.УстановитьПараметр("УчетДоходовПоНД", Реквизиты.УчетДоходовПоНД);
Запрос.УстановитьПараметр("УчетРасчетовСПоставщикамиПоНД", Реквизиты.УчетРасчетовСПоставщикамиПоНД);
Запрос.УстановитьПараметр("ДатаВходящегоДокумента", Реквизиты.ДатаВходящегоДокумента);
Запрос.УстановитьПараметр("Комментарий", Реквизиты.Комментарий);
Запрос.УстановитьПараметр("СуммаДокумента", Реквизиты.СуммаДокумента);
Запрос.УстановитьПараметр("Проведен", Реквизиты.Проведен);
Запрос.УстановитьПараметр("ПометкаУдаления", Реквизиты.ПометкаУдаления);
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ИдентификаторМетаданных);
Запрос.УстановитьПараметр("ИнформацияПоОрганизации", ИнформацияПоОрганизации);
Запрос.УстановитьПараметр("ИнформацияПоОрганизацииПолучателю", ИнформацияПоОрганизацииПолучателю);
Запрос.УстановитьПараметр("НомерДокумента", НомерДокумента);
Запрос.УстановитьПараметр("НомерВходящегоДокумента", НомерВходящегоДокумента);
Запрос.УстановитьПараметр("ПокупательНеПлательщикНДС", Реквизиты.ПокупательНеПлательщикНДС);
Запрос.УстановитьПараметр("ОбъектРасчетов", Реквизиты.ОбъектРасчетов);
Запрос.УстановитьПараметр("ОбъектРасчетовПолучателя", Реквизиты.ОбъектРасчетовПолучателя);
Запрос.УстановитьПараметр("НаименованиеВходящегоДокумента", Реквизиты.НаименованиеВходящегоДокумента);
Запрос.УстановитьПараметр("СебестоимостьИзДокументаПередачи", Перечисления.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПередачи);
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.ОрганизацияПолучатель, Реквизиты.Период);
ПараметрыУчетаПоОрганизацииОтправителя = УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.Организация, Реквизиты.Период);
Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
Запрос.УстановитьПараметр("НалогообложениеОтправителя", ПараметрыУчетаПоОрганизацииОтправителя.ОсновноеНалогообложениеНДСПродажи);
Запрос.УстановитьПараметр("ДатаОтраженияВозвратовКорректировочнымиСФ", УчетНДСУП.НастройкиУчета().ДатаОтраженияВозвратовКорректировочнымиСФ);
Запрос.УстановитьПараметр("ВыводитьБазовыеЕдиницыИзмерения", Константы.ВыводитьБазовыеЕдиницыИзмерения.Получить());
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета",
ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
ИспользоватьПодакцизныеТовары = Ложь;
СтранаРегистрации = Справочники.СтраныМира.ПустаяСсылка();
ИспользоватьПодакцизныеТовары = ПолучитьФункциональнуюОпцию("ИспользоватьПодакцизныеТовары");
СтранаРегистрации =
ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Реквизиты.ОрганизацияПолучатель);
Запрос.УстановитьПараметр("ИспользоватьПодакцизныеТовары", ИспользоватьПодакцизныеТовары);
Запрос.УстановитьПараметр("СтранаРегистрации", СтранаРегистрации);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросПредварительный = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Таблица.Склад КАК Склад,
| Таблица.Номенклатура КАК Номенклатура,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Назначение КАК Назначение,
| Таблица.Серия КАК Серия
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| &ОрганизацияПолучатель КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| &Назначение КАК Назначение,
| &Серия КАК Серия
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.Товары КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &ЭтоВозвратТовара
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Организация КАК Склад,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| &Назначение КАК Назначение,
| &Серия КАК Серия
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.Товары КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &ЭтоВозвратТовара
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Товары.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &Назначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.Товары КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
|
| ) КАК Таблица
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО
| Таблица.Номенклатура = Аналитика.Номенклатура
| И Таблица.Характеристика = Аналитика.Характеристика
| И Таблица.Назначение = Аналитика.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
| И Таблица.Серия = Аналитика.Серия
| И Таблица.Склад = Аналитика.МестоХранения
|ГДЕ
| Аналитика.КлючАналитики ЕСТЬ NULL
|");
ЗапросПредварительный.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросПредварительный.УстановитьПараметр("ОрганизацияПолучатель", Запрос.Параметры.ОрганизацияПолучатель);
ЗапросПредварительный.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросПредварительный.УстановитьПараметр("Серия", Справочники.СерииНоменклатуры.ПустаяСсылка());
ЗапросПредварительный.УстановитьПараметр("Назначение", Справочники.Назначения.ПустаяСсылка());
ЗапросПредварительный.УстановитьПараметр("ЭтоВозвратТовара", Запрос.Параметры.ЭтоВозвратТовара);
ЗапросПредварительный.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям", Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
Выборка = ЗапросПредварительный.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка)
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУПР") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта, Неопределено,
Запрос.Параметры.Период, Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУПР", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
ВалютаУправленческогоУчета = ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета();
ВалютаРегламентированногоУчета =
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Запрос.Параметры.Организация);
ПериодКурса = Запрос.Параметры.Период;
КоэффициентПересчетаИзРеглВУпр = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
ВалютаРегламентированногоУчета, ВалютаУправленческогоУчета, ПериодКурса, ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("КоэффициентПересчетаИзРеглВУпр", КоэффициентПересчетаИзРеглВУпр);
КонецПроцедуры
Процедура УстановитьПараметрЗапросаАналитикаУчетаПолучатель(Запрос)
Если Запрос.Параметры.Свойство("АналитикаУчетаПолучатель") Тогда
Возврат;
КонецЕсли;
КлючКлиент = Новый Структура();
КлючКлиент.Вставить("Организация", Запрос.Параметры.ОрганизацияПолучатель);
КлючКлиент.Вставить("Партнер", Справочники.Партнеры.НашеПредприятие);
КлючКлиент.Вставить("Контрагент", Запрос.Параметры.Организация);
КлючКлиент.Вставить("Договор", Запрос.Параметры.Договор);
КлючКлиент.Вставить("НаправлениеДеятельности", Запрос.Параметры.НаправлениеДеятельности);
Запрос.УстановитьПараметр("АналитикаУчетаПолучатель",
РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(КлючКлиент));
КонецПроцедуры
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыПолучателя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЦенности =
"ВЫБРАТЬ
| ДанныеШапки.Дата КАК Период,
| ТаблицаЗапасов.Ссылка КАК Ссылка,
| ДанныеШапки.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеШапки.ОрганизацияПолучатель КАК Организация,
| ДанныеШапки.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ДанныеШапки.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА ДанныеШапки.Контрагент
| ИНАЧЕ ДанныеШапки.Организация
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА ДанныеШапки.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА ДанныеШапки.ДоговорПродажи
| ИНАЧЕ ДанныеШапки.Договор
| КОНЕЦ КАК Договор,
| ДанныеШапки.Грузоотправитель КАК Грузоотправитель,
| ДанныеШапки.ПокупательНеПлательщикНДС КАК ПокупательНеПлательщикНДС,
| ЛОЖЬ КАК РозничныйПокупатель,
| ЛОЖЬ КАК ДенежныеСредстваРозничномуПокупателюВозвращены,
| """" КАК НомерДокументаВозвратаДСРозничномуПокупателю,
| ДАТАВРЕМЯ(1, 1, 1) КАК ДатаДокументаВозвратаДСРозничномуПокупателю,
| ТаблицаЗапасов.Ссылка КАК ДокументВозврата,
| ТаблицаЗапасов.ДокументРеализации КАК ДокументРеализации,
| ДанныеШапки.ОбъектРасчетовПолучателя КАК ОбъектРасчетов,
| ДанныеШапки.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеШапки.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаЗапасов.Характеристика КАК Характеристика,
| ТаблицаЗапасов.Серия КАК Серия,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК НоменклатураНабора,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНабора,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ТаблицаЗапасов.Количество
| ИНАЧЕ ТаблицаЗапасов.КоличествоУпаковок
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА &ВыводитьБазовыеЕдиницыИзмерения
| ТОГДА ТаблицаЗапасов.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ &ТекстЗапросаЕдиницаИзмерения
| КОНЕЦ КАК ЕдиницаИзмерения,
| ТаблицаЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаЗапасов.СуммаАкциза КАК СуммаАкциза,
| ТаблицаЗапасов.СтавкаНДС КАК СтавкаНДС,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ТаблицаЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаЗапасов.НомерГТД КАК НомерГТД,
| 0 КАК НомерСтроки,
| ТаблицаЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ДанныеШапки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаЗапасов.Назначение КАК Назначение,
| НЕОПРЕДЕЛЕНО КАК ПокупательКомиссионногоТовара,
| ТаблицаЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ЛОЖЬ КАК ВозвратТоваровЧерезКомиссионера
|ИЗ
| ВтЗапасыПолучателя КАК ТаблицаЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеШапки
| ПО ТаблицаЗапасов.Ссылка = ДанныеШапки.Ссылка
|ГДЕ
| ДанныеШапки.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| И (ДанныеШапки.Дата < &ДатаОтраженияВозвратовКорректировочнымиСФ ИЛИ НЕ ДанныеШапки.РасчетыЧерезОтдельногоКонтрагента)
|";
ТекстЦенности = СтрЗаменить(
ТекстЦенности,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"ТаблицаЗапасов.Упаковка",
"ТаблицаЗапасов.Номенклатура"));
УчетНДСУП.ОтразитьВозвратТоваровОтПокупателя(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
ТекстТовары =
"ВЫБРАТЬ
| ДанныеШапки.Дата КАК Период,
| ТаблицаЗапасов.Ссылка КАК Ссылка,
| ДанныеШапки.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеШапки.Организация КАК Организация,
| ДанныеШапки.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА ДанныеШапки.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА ДанныеШапки.Контрагент
| ИНАЧЕ ДанныеШапки.ОрганизацияПолучатель
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА ДанныеШапки.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА ДанныеШапки.ДоговорПокупки
| ИНАЧЕ ДанныеШапки.Договор
| КОНЕЦ КАК Договор,
| ДанныеШапки.Грузоотправитель КАК Грузоотправитель,
| ДанныеШапки.Грузополучатель КАК Грузополучатель,
| ДанныеШапки.ПокупательНеПлательщикНДС КАК ПокупательНеПлательщикНДС,
| ТаблицаЗапасов.Ссылка КАК ДокументВозврата,
| ДанныеШапки.НалогообложениеНДС КАК НалогообложениеНДС,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| Аналитика.Назначение КАК Назначение,
| ТаблицаЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаЗапасов.ДокументПередачи = ЗНАЧЕНИЕ(Документ.ПередачаТоваровМеждуОрганизациями.ПустаяСсылка)
| ТОГДА NULL
| ИНАЧЕ ТаблицаЗапасов.ДокументПередачи
| КОНЕЦ КАК ДокументПоступления,
| ТаблицаЗапасов.ДокументПередачи.ПередачаПодДеятельность КАК ВидДеятельностиНДС,
| ТаблицаЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаЗапасов.Ссылка.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ТаблицаЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеШапки
| ПО ТаблицаЗапасов.Ссылка = ДанныеШапки.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
|ГДЕ
| ТаблицаЗапасов.Ссылка В(&Ссылка)
| И ДанныеШапки.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| И (ДанныеШапки.Дата < &ДатаОтраженияВозвратовКорректировочнымиСФ ИЛИ НЕ ДанныеШапки.РасчетыЧерезОтдельногоКонтрагента)
|";
УчетНДСУП.ОтразитьВозвратТоваровПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Документ,
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| &Склад КАК Отправитель,
| &Склад КАК Получатель,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка) КАК ПомещениеПолучателя,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ДвижениеВФинансовомУчете) КАК СкладскаяОперация,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.Товары КАК ТаблицаСерии
|
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ОбъектРасчетовВозврат.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.РасшифровкаПлатежа КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовВозврат
| ПО ОбъектРасчетовВозврат.Ссылка = ДанныеДокументаШапка.ОбъектРасчетов
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И ДанныеДокументаШапка.ОбъектРасчетов <> Таблица.ОбъектРасчетов
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ОбъектРасчетовВозврат.Ссылка КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ОбъектРасчетовВозврат.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.РасшифровкаПлатежа КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовВозврат
| ПО ОбъектРасчетовВозврат.Ссылка = ДанныеДокументаШапка.ОбъектРасчетов
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И ДанныеДокументаШапка.ОбъектРасчетов <> Таблица.ОбъектРасчетов
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.ОрганизацияПолучатель КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовПолучателя КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ОбъектРасчетовВозврат.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ОбъектыРасчетов.Ссылка КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.РасшифровкаПлатежа КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокументаШапка
| ПО ДанныеДокументаШапка.Ссылка = Таблица.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовВозврат
| ПО ДанныеДокументаШапка.ОбъектРасчетовПолучателя = ОбъектРасчетовВозврат.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовОтправителя
| ПО Таблица.ОбъектРасчетов = ОбъектыРасчетовОтправителя.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетовОтправителя.Объект = ОбъектыРасчетов.Объект
| И НЕ ОбъектыРасчетов.ПометкаУдаления
| И ОбъектыРасчетов.ТипРасчетов = ВЫБОР
| КОГДА ОбъектыРасчетовОтправителя.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| КОНЕЦ
| И ОбъектыРасчетов.Организация = ДанныеДокументаШапка.ОрганизацияПолучатель
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И ДанныеДокументаШапка.ОбъектРасчетовПолучателя <> ОбъектыРасчетов.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ОбъектРасчетовВозврат.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовПолучателя КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.РасшифровкаПлатежа КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокументаШапка
| ПО ДанныеДокументаШапка.Ссылка = Таблица.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовВозврат
| ПО ДанныеДокументаШапка.ОбъектРасчетовПолучателя = ОбъектРасчетовВозврат.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовОтправителя
| ПО Таблица.ОбъектРасчетов = ОбъектыРасчетовОтправителя.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетовОтправителя.Объект = ОбъектыРасчетов.Объект
| И НЕ ОбъектыРасчетов.ПометкаУдаления
| И ОбъектыРасчетов.ТипРасчетов = ВЫБОР
| КОГДА ОбъектыРасчетовОтправителя.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| КОНЕЦ
| И ОбъектыРасчетов.Организация = ДанныеДокументаШапка.ОрганизацияПолучатель
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И ДанныеДокументаШапка.ОбъектРасчетовПолучателя <> ОбъектыРасчетов.Ссылка";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область ДобавитьТекстыОтраженияВзаиморасчетовЗакупки
ТекстВозврат = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| ВЫБОР КОГДА Таблица.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА Таблица.Партнер
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| КОНЕЦ КАК Партнер,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
|
| Таблица.Дата КАК ДатаПлатежа,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.СуммаДокумента КАК Сумма,
| Таблица.СуммаДокумента КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| 0 КАК КПоступлению,
|
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.Дата КАК ДатаКурса,
|
| Таблица.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = Таблица.ОбъектРасчетов
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И НЕ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)";
ТекстРасшифровкаПлатежа = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Документ.Организация КАК Организация,
| ВЫБОР КОГДА Документ.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА Документ.Партнер
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| КОНЕЦ КАК Партнер,
| ОбъектРасчетовВозврат.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
|
| ОбъектРасчетовВозврат.Ссылка КАК ОбъектРасчетовИсточник,
| ОбъектыРасчетов.Ссылка КАК ОбъектРасчетовПриемник,
|
| Документ.Дата КАК ДатаРегистратора,
| Документ.Номер КАК НомерРегистратора,
| Документ.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВзаимозачетЗадолженности) КАК ХозяйственнаяОперация,
|
| Документ.Дата КАК ДатаКурса,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.РасшифровкаПлатежа КАК Таблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК Документ
| ПО Таблица.Ссылка = Документ.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовВозврат
| ПО ОбъектРасчетовВозврат.Ссылка = Документ.ОбъектРасчетов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетов.Ссылка = Таблица.ОбъектРасчетов
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И НЕ Документ.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| И ОбъектРасчетовВозврат.Ссылка <> ОбъектыРасчетов.Ссылка
|";
ВзаиморасчетыСервер.ПроведениеВозвратаТоваровПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат, ТекстРасшифровкаПлатежа);
#КонецОбласти
#Область ДобавитьТекстыОтраженияВзаиморасчетовПродажи
ТекстВозврат =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.ОрганизацияПолучатель КАК Организация,
| ВЫБОР КОГДА Таблица.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА Таблица.Партнер
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| КОНЕЦ КАК Партнер,
|
| Таблица.ОбъектРасчетовПолучателя КАК ОбъектРасчетов,
| Таблица.СуммаДокумента КАК СуммаВзаиморасчетов,
| Таблица.СуммаДокумента КАК Сумма,
| Таблица.СуммаДокумента КАК КОплате,
|
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК СтатьяДвиженияДенежныхСредств,
| Таблица.Дата КАК ДатаКурса,
| Таблица.Валюта КАК ВалютаДокумента
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И НЕ Таблица.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)";
ТекстРасшифровкаПлатежа = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ОбъектРасчетовВозврат.Организация КАК Организация,
| ОбъектРасчетовВозврат.Партнер КАК Партнер,
|
| Документ.ОбъектРасчетовПолучателя КАК ОбъектРасчетовИсточник,
| ОбъектыРасчетов.Ссылка КАК ОбъектРасчетовПриемник,
|
| Документ.Дата КАК ДатаРегистратора,
| Документ.Номер КАК НомерРегистратора,
| Таблица.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Документ.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВзаимозачетЗадолженности) КАК ХозяйственнаяОперация,
|
| Документ.Дата КАК ДатаКурса,
| Таблица.Сумма КАК Сумма,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.РасшифровкаПлатежа КАК Таблица
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК Документ
| ПО Документ.Ссылка = Таблица.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектРасчетовВозврат
| ПО Документ.ОбъектРасчетовПолучателя = ОбъектРасчетовВозврат.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетовОтправителя
| ПО Таблица.ОбъектРасчетов = ОбъектыРасчетовОтправителя.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО ОбъектыРасчетовОтправителя.Объект = ОбъектыРасчетов.Объект
| И ОбъектыРасчетов.ТипРасчетов =
| ВЫБОР КОГДА ОбъектыРасчетовОтправителя.ТипРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСПоставщиком)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыРасчетовСПартнерами.РасчетыСКлиентом)
| КОНЕЦ
| И ОбъектыРасчетов.Организация = Документ.ОрганизацияПолучатель
|
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И НЕ Документ.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| И Документ.ОбъектРасчетовПолучателя <> ОбъектыРасчетов.Ссылка";
ВзаиморасчетыСервер.ПроведениеВозвратаТоваровОтКлиента(Запрос, ТекстыЗапроса, Регистры, ТекстВозврат, ТекстРасшифровкаПлатежа);
#КонецОбласти
КонецПроцедуры
Функция ТекстЗапросаВтЗапасыОтправителя(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтЗапасыОтправителя";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаВозврата,
| АналитикаНоменклатурыБезНазначения.КлючАналитики КАК АналитикаВозвратаБезНазначения,
| Неопределено КАК АналитикаКомиссии,
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасовУчетный,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| ВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС КАК СуммаБезНДС,
| ЕстьNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕстьNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕстьNULL(Суммы.СуммаНДСУпр, 0) КАК СуммаНДСУпр,
| ЕстьNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕстьNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕстьNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ЕстьNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ВидыЗапасов.ВидЗапасовПолучателя КАК ВидЗапасовПолучателя,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВидыЗапасов.ДокументПередачи КОНЕЦ) КАК ДокументРеализации,
| (ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА ДАТАВРЕМЯ(1,1,1)
| ИНАЧЕ ВидыЗапасов.ДокументПередачи.Дата КОНЕЦ) КАК ПериодПродажи,
| ВидыЗапасов.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ВидыЗапасов.ПоТоварамКОформлению КАК ПоТоварамКОформлению,
| Аналитика.СкладскаяТерритория КАК Склад,
| Аналитика.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| (ВЫБОР
| КОГДА ВидыЗапасов.ДокументПередачи <> ЗНАЧЕНИЕ(Документ.ПередачаТоваровМеждуОрганизациями.ПустаяСсылка)
| ТОГДА ВидыЗапасов.ДокументПередачи.ПередачаПодДеятельность
| ИНАЧЕ &НалогообложениеОтправителя КОНЕЦ) КАК ВидДеятельностиНДС,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ВидыЗапасов.ИдентификаторСтроки
| ИНАЧЕ ВидыЗапасов.Ссылка.ОбъектРасчетов.УникальныйИдентификатор
| КОНЕЦ КАК ИдентификаторФинЗаписи
|
|ПОМЕСТИТЬ ВтЗапасыОтправителя
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| ВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаНоменклатурыБезНазначения
| ПО
| Аналитика.Номенклатура = АналитикаНоменклатурыБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаНоменклатурыБезНазначения.Характеристика
| И Аналитика.Серия = АналитикаНоменклатурыБезНазначения.Серия
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаНоменклатурыБезНазначения.СтатьяКалькуляции
| И Аналитика.МестоХранения = АналитикаНоменклатурыБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаНоменклатурыБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО ВидыЗапасов.ВидЗапасов.ГруппаФинансовогоУчета = ГФУ.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| ВидыЗапасов.Ссылка = Суммы.Ссылка
| И ВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГТДТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.ВозвратТоваровМеждуОрганизациями.Имя,
"ВидыЗапасов");
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ВЫБОР КОГДА ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА ДанныеДокумента.Партнер
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| КОНЕЦ КАК Поставщик,
| ВЫБОР КОГДА ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
| ТОГДА ДанныеДокумента.Контрагент
| ИНАЧЕ ДанныеДокумента.Организация
| КОНЕЦ КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""ВидыЗапасов""
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО ТаблицаДокумента.ВидЗапасов.ГруппаФинансовогоУчета = ГФУ.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтЗапасыПолучателя";
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтСуммыДокументовВВалютахУчета", ТекстыЗапроса) Тогда
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаВозврата,
| АналитикаНоменклатурыБезНазначения.КлючАналитики КАК АналитикаВозвратаБезНазначения,
| АналитикаКомиссии.КлючАналитики КАК АналитикаКомиссии,
| ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыОтгрузки.Ссылка, ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры) КАК АналитикаОтгрузки,
| ЕСТЬNULL(АналитикаОтгрузкиБезНазначения.КлючАналитики, АналитикаНоменклатурыБезНазначения.КлючАналитики) КАК АналитикаОтгрузкиБезНазначения,
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасовОтправителя,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасовОтправителя,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя КАК ВидЗапасовУчетный,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаВидыЗапасов.Упаковка КАК Упаковка,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТаблицаВидыЗапасов.СуммаАкциза КАК СуммаАкциза,
| ТаблицаВидыЗапасов.СуммаАкциза КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаАкциза * &КоэффициентПересчетаИзРеглВУпр КАК ЧИСЛО(31, 2)) КАК СуммаАкцизаУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК СуммаНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя.Валюта КАК Валюта,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаВидыЗапасов.ДокументПередачи КОНЕЦ) КАК ДокументРеализации,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА ДАТАВРЕМЯ(1,1,1)
| ИНАЧЕ ТаблицаВидыЗапасов.ДокументПередачи.Дата КОНЕЦ) КАК ПериодПродажи,
| ТаблицаВидыЗапасов.СпособОпределенияСебестоимости КАК СпособОпределенияСебестоимости,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория КАК Склад,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыОтгрузки.Назначение КАК НазначениеОтгрузки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыОтгрузки.МестоХранения КАК СкладОтгрузки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыОтгрузки.МестоХранения.ЦеховаяКладовая КАК ЦеховаяКладоваяОтгрузки,
| ТаблицаВидыЗапасов.ВидЗапасовОтгрузки КАК ВидЗапасовОтгрузкиУчетный,
| ТаблицаВидыЗапасов.ВидЗапасовОтгрузки КАК ВидЗапасовОтгрузки,
| ЕСТЬNULL(ТаблицаВидыЗапасов.ДокументПередачи.Подразделение, &Подразделение) КАК ПодразделениеРеализации,
| ТаблицаВидыЗапасов.ПоТоварамКОформлению КАК ПоТоварамКОформлению,
| ТаблицаВидыЗапасов.Себестоимость КАК Себестоимость,
| (ВЫБОР
| КОГДА &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ТОГДА ТаблицаВидыЗапасов.Себестоимость
| ИНАЧЕ ТаблицаВидыЗапасов.СебестоимостьБезНДС КОНЕЦ) КАК СебестоимостьБезНДС,
| ТаблицаВидыЗапасов.СебестоимостьРегл КАК СебестоимостьРегл,
| ТаблицаВидыЗапасов.СебестоимостьПР КАК СебестоимостьПР,
| ТаблицаВидыЗапасов.СебестоимостьВР КАК СебестоимостьВР,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = &СебестоимостьИзДокументаПередачи
| И ТаблицаВидыЗапасов.ДокументПередачи.Дата < &НачалоМесяцаПериода
| ТОГДА
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализации)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ВтЗапасыПолучателя
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаНоменклатурыБезНазначения
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаНоменклатурыБезНазначения.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаНоменклатурыБезНазначения.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаНоменклатурыБезНазначения.Серия
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаНоменклатурыБезНазначения.СтатьяКалькуляции
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаНоменклатурыБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаНоменклатурыБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаКомиссии
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаКомиссии.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаКомиссии.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаКомиссии.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаКомиссии.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = АналитикаКомиссии.Серия
| И &Организация = АналитикаКомиссии.МестоХранения
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаОтгрузкиБезНазначения
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаОтгрузкиБезНазначения.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаОтгрузкиБезНазначения.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаОтгрузкиБезНазначения.Серия
| И ЕСТЬNULL(ТаблицаВидыЗапасов.АналитикаУчетаНоменклатурыОтгрузки.МестоХранения,
| ЕСТЬNULL(ТаблицаВидыЗапасов.ДокументПередачи.Склад, ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения)) = АналитикаОтгрузкиБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаОтгрузкиБезНазначения.Назначение
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаОтгрузкиБезНазначения.СтатьяКалькуляции
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| ТаблицаВидыЗапасов.Ссылка = Суммы.Ссылка
| И ТаблицаВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГТДТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыОтправителя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыОтправителя(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыПолучателя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &Склад КАК Склад,
| &Организация КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД,
|
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
|
| &Организация КАК ОрганизацияОтгрузки,
| ТаблицаТовары.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаВозврата КАК КорАналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС,
| НЕОПРЕДЕЛЕНО КАК ДокументРеализации,
| ТаблицаТовары.ВидЗапасовПолучателя КАК КорВидЗапасов,
| ЛОЖЬ КАК Первичное
|ИЗ
| ВтЗапасыОтправителя КАК ТаблицаТовары
|ГДЕ
| НЕ ТаблицаТовары.ПоТоварамКОформлению
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| &Склад КАК Склад,
| &ОрганизацияПолучатель КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД,
|
| -ТаблицаТовары.Количество КАК Количество,
| -ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
|
| &Организация КАК ОрганизацияОтгрузки,
| ТаблицаТовары.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.АналитикаОтгрузки КАК КорАналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ТаблицаТовары.ДокументРеализации КАК ДокументРеализации,
| ТаблицаТовары.ВидЗапасовОтгрузки КАК КорВидЗапасов,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = &СебестоимостьИзДокументаПередачи
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК Первичное
|ИЗ
| ВтЗапасыПолучателя КАК ТаблицаТовары
|ГДЕ
| НЕ ТаблицаТовары.ПоТоварамКОформлению
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрЗапросаФИФОСкользящаяОценкаПолучателя(Запрос)
Если Запрос.Параметры.Свойство("ФИФОСкользящаяОценкаПолучателя") Тогда
Возврат;
КонецЕсли;
ПараметрыУчетнойПолитики = НастройкиНалоговУчетныхПолитик.ДействующиеПараметрыНалоговУчетныхПолитикНаДату("УчетнаяПолитикаФинансовогоУчета",
Запрос.Параметры.ОрганизацияПолучатель,
НачалоМесяца(Запрос.Параметры.Период));
Запрос.УстановитьПараметр("ФИФОСкользящаяОценкаПолучателя",
(ПараметрыУчетнойПолитики <> Неопределено
И ПараметрыУчетнойПолитики.МетодОценкиСтоимостиТоваров = Перечисления.МетодыОценкиСтоимостиТоваров.ФИФОСкользящаяОценка));
КонецПроцедуры
Функция ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыручкаИСебестоимостьПродаж";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрЗапросаАналитикаУчетаПолучатель(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыПолучателя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| И &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаВозврата
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаВозвратаБезНазначения
| КОГДА ВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| И &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаВозврата
| КОГДА ВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаВозвратаБезНазначения
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаОтгрузки
| ИНАЧЕ ВидыЗапасов.АналитикаОтгрузкиБезНазначения
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| Неопределено КАК ЗаказКлиента,
| &АналитикаУчетаПолучатель КАК АналитикаУчетаПоПартнерам,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА &Подразделение
| ИНАЧЕ ВидыЗапасов.ПодразделениеРеализации
| КОНЕЦ КАК Подразделение,
| ВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасовУчетный КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ВидыЗапасов.ЦеховаяКладовая
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах) КОНЕЦ) КАК РазделУчета,
| ВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| &Менеджер КАК Менеджер,
| -ВидыЗапасов.Количество КАК Количество,
| -ВидыЗапасов.СуммаСНДСУпр КАК СуммаВыручки,
| -ВидыЗапасов.СуммаБезНДСУпр КАК СуммаВыручкиБезНДС,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА - ВидыЗапасов.СуммаСНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА - ВидыЗапасов.Себестоимость
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА - ВидыЗапасов.СуммаБезНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА - ВидыЗапасов.СебестоимостьБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций ТОГДА 0
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА - ВидыЗапасов.СуммаБезНДСУпр
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА - ВидыЗапасов.СебестоимостьБезНДС
| ИНАЧЕ 0 КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ИЛИ ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзТекущегоДокумента)
| ТОГДА - ВидыЗапасов.СуммаБезНДСРегл
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА - ВидыЗапасов.СебестоимостьРегл
| ИНАЧЕ 0 КОНЕЦ КАК СтоимостьРегл,
|
| ВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ВЫБОР КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = &СебестоимостьИзДокументаПередачи
| И ВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеПоВозврату)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации)
| КОНЕЦ КАК ХозяйственнаяОперация,
| -ВидыЗапасов.СуммаБезНДСРегл КАК СуммаВыручкиРегл,
| -(ВидыЗапасов.СуммаБезНДСРегл + ВидыЗапасов.СуммаНДСРегл) КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
|
| ВидыЗапасов.СкладОтгрузки КАК Склад,
| ВЫБОР КОГДА &РасчетыЧерезОтдельногоКонтрагента
| ТОГДА &ДоговорПродажи
| ИНАЧЕ &Договор
| КОНЕЦ КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Соглашение,
|
| ВЫБОР
| КОГДА &УчетДоходовПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаВозврата.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| ВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| ВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
| -ВидыЗапасов.СуммаАкцизаРегл КАК СуммаАкцизаРегл,
| -ВидыЗапасов.СуммаАкцизаУпр КАК СуммаАкцизаУпр,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| &ОбъектРасчетовПолучателя КАК ИсточникГФУРасчетов,
|
| ВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПередачи)
| И ВидыЗапасов.ПериодПродажи >= &НачалоМесяцаПериода
| И ВидыЗапасов.ТипЗапасов В (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И (ВидыЗапасов.СкладОтгрузки <> ВидыЗапасов.Склад
| ИЛИ ВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ВидыЗапасов.ВидЗапасовУчетный
| И ВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ИЛИ ВидыЗапасов.Назначение <> ВидыЗапасов.НазначениеОтгрузки)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализацииВозвратНаДругойСклад)
| ИНАЧЕ ВидыЗапасов.НастройкаХозяйственнойОперации
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтЗапасыПолучателя КАК ВидыЗапасов
|ГДЕ
| &ЭтоВозвратТовара
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизацийКПередаче(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизацийКПередаче";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыОтправителя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыОтправителя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &ОрганизацияПолучатель КАК ОрганизацияВладелец,
| &Склад КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасовПродавца,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Количество КАК Возвращено,
| ТаблицаТовары.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ТаблицаТовары.ВидЗапасовПолучателя КАК КорВидЗапасов,
| ТаблицаТовары.ДокументРеализации КАК ДокументРеализации,
| ИСТИНА КАК Первичное
|ИЗ
| ВтЗапасыОтправителя КАК ТаблицаТовары
|
|ГДЕ
| ТаблицаТовары.ПоТоварамКОформлению
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаТовары.НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтКурсыВалют";
ТекстЗапроса = "
|ВЫБРАТЬ
| КурсыВалют.Валюта КАК Валюта,
|
| (КурсВалютыДокумента.КурсЧислитель * КурсыВалют.КурсЗнаменатель)
| / (КурсВалютыДокумента.КурсЗнаменатель * КурсыВалют.КурсЧислитель) КАК КоэффициентПересчета
|
|ПОМЕСТИТЬ ВтКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период,
| Валюта В (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.ВидЗапасовПолучателя.Валюта КАК Валюта
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ТаблицаВидыЗапасов
|
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасовПолучателя.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ) И БазоваяВалюта = &ВалютаРегламентированногоУчета
| ) КАК КурсыВалют
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период, Валюта = &Валюта И БазоваяВалюта = &ВалютаРегламентированногоУчета) КАК КурсВалютыДокумента
| ПО
| ИСТИНА
|
|ГДЕ
| КурсВалютыДокумента.КурсЗнаменатель <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюОтчетовКомитенту";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыПолучателя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &ОрганизацияПолучатель КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Ссылка.ДокументПередачи КАК ДокументРеализации,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| (-ТаблицаВидыЗапасов.Количество) КАК Количество,
| 0 КАК КоличествоСписано,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| (-ТаблицаВидыЗапасов.Количество) КАК КоличествоКОформлению,
| (-ТаблицаВидыЗапасов.КоличествоПоРНПТ) КАК КоличествоКОформлениюПоРНПТ,
| 0 КАК КоличествоСписаноКОформлению,
| 0 КАК КоличествоСписаноКОформлениюПоРНПТ,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Валюта = &Валюта
| ТОГДА -ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
| Аналитика.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратПоКомиссииМеждуОрганизациями) КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтЗапасыПолучателя КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалют
| ПО ТаблицаВидыЗапасов.Валюта = КурсыВалют.Валюта
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаВидыЗапасов.Номенклатура = Аналитика.Номенклатура
| И ТаблицаВидыЗапасов.Характеристика = Аналитика.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = Аналитика.Серия
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = Аналитика.СтатьяКалькуляции
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика.Назначение
| И ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара = Аналитика.МестоХранения
|ГДЕ
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| И &ЭтоВозвратТовара
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| НЕОПРЕДЕЛЕНО КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| 0 КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ЛОЖЬ КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыПолучателя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &ОрганизацияПолучатель КАК Организация,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| &Ссылка КАК ДокументПоступления,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| -ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаТовары.Себестоимость
| ИНАЧЕ -ТаблицаТовары.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаТовары.СебестоимостьБезНДС
| ИНАЧЕ -ТаблицаТовары.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаТовары.СебестоимостьРегл
| ИНАЧЕ -ТаблицаТовары.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаТовары.СебестоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР
| КОГДА ТаблицаТовары.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА -ТаблицаТовары.СебестоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
|
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиента) КАК ХозяйственнаяОперация,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ИСТИНА КАК Первичное,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник
|ИЗ
| ВтЗапасыПолучателя КАК ТаблицаТовары
|
|ГДЕ
| &ПартионныйУчетВерсии21
| И ТаблицаТовары.СпособОпределенияСебестоимости <> &СебестоимостьИзДокументаПередачи
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "Закупки";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыОтправителя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыОтправителя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ВидыЗапасов.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.Склад КАК Склад,
| ВидыЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасовУчетный КАК ВидЗапасов,
|
| ВЫБОР
| КОГДА &РасчетыЧерезОтдельногоКонтрагента
| ТОГДА &Партнер
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| КОНЕЦ КАК Партнер,
| ВЫБОР
| КОГДА &РасчетыЧерезОтдельногоКонтрагента
| ТОГДА &Контрагент
| ИНАЧЕ &ОрганизацияПолучатель
| КОНЕЦ КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Соглашение,
| ВЫБОР КОГДА &РасчетыЧерезОтдельногоКонтрагента
| ТОГДА &ДоговорПокупки
| ИНАЧЕ &Договор
| КОНЕЦ КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Заказ,
|
| ВидыЗапасов.Количество КАК Количество,
|
| ВидыЗапасов.СуммаСНДСУпр КАК Сумма,
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаБезНДС * &КоэффициентПересчетаВВалютуУпр) КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
| ВидыЗапасов.СуммаСНДСРегл КАК СуммаРегл,
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаБезНДС * &КоэффициентПересчетаВВалютуРегл) КАК ЧИСЛО(31,2)) КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| ВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| ВидыЗапасов.СуммаСНДС КАК СуммаВВалютеВзаиморасчетов,
| ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ВидыЗапасов.ВидЗапасов
| ИНАЧЕ ВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| &ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтЗапасыОтправителя КАК ВидыЗапасов
|ГДЕ
| &ЭтоВозвратТовара И ВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияНоменклатураНоменклатура(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияНоменклатураНоменклатура";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКлючиАналитикиНоменклатуры(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &ОрганизацияПолучатель КАК Организация,
| &Подразделение КАК Подразделение,
|
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаНоменклатурыБезНазначения.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельности,
| Аналитика.МестоХранения КАК Склад,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
|
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаНоменклатурыБезНазначения.КлючАналитики
| КОНЕЦ КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорНаправлениеДеятельности,
| Аналитика.МестоХранения КАК КорСклад,
| ВидыЗапасов.ВидЗапасовПолучателя.ТипЗапасов КАК КорТипЗапасов,
| ВидыЗапасов.ВидЗапасовПолучателя КАК КорВидЗапасов,
|
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.Количество КАК КорКоличество,
|
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр) КАК ЧИСЛО(31,2)) КАК Стоимость,
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр) КАК ЧИСЛО(31,2)) КАК СтоимостьБезНДС,
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуРегл) КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
|
| ВидыЗапасов.ВидЗапасов КАК ИсточникГФУНоменклатуры,
| ВидыЗапасов.ВидЗапасовПолучателя КАК КорИсточникГФУНоменклатуры
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.ВидыЗапасов КАК ВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| ВидыЗапасов.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаНоменклатурыБезНазначения
| ПО
| Аналитика.Номенклатура = АналитикаНоменклатурыБезНазначения.Номенклатура
| И Аналитика.Характеристика = АналитикаНоменклатурыБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаНоменклатурыБезНазначения.СтатьяКалькуляции
| И Аналитика.Серия = АналитикаНоменклатурыБезНазначения.Серия
| И Аналитика.МестоХранения = АналитикаНоменклатурыБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаНоменклатурыБезНазначения.Назначение
|ГДЕ
| &ЭтоВозвратПоКомиссии
| И ВидыЗапасов.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыПереданныеНаКомиссию";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтЗапасыПолучателя", ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| МИНИМУМ(ТаблицаТовары.НомерСтроки) КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
|
| ТаблицаТовары.АналитикаКомиссии КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК Соглашение,
| &ОрганизацияПолучатель КАК Организация,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД,
| СУММА(ТаблицаТовары.Количество) КАК Количество,
| СУММА(ТаблицаТовары.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ТаблицаТовары.АналитикаВозврата КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаТовары.ДокументРеализации КАК ДокументРеализации,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика
|ИЗ
| ВтЗапасыПолучателя КАК ТаблицаТовары
|ГДЕ
| &ХозяйственнаяОперация
| = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.АналитикаКомиссии,
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.НомерГТД,
| ТаблицаТовары.ВидДеятельностиНДС,
| ТаблицаТовары.АналитикаВозврата,
| ТаблицаТовары.ДокументРеализации,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтОснований", ТекстыЗапроса) Тогда
ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.ТипСсылки КАК ТипСсылки,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ДополнительнаяЗапись КАК ДополнительнаяЗапись,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.МестоХранения КАК МестоХранения,
| ДанныеДокумента.ДатаДокументаИБ КАК ДатаДокументаИБ,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.НомерДокументаИБ КАК НомерДокументаИБ,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Сумма КАК Сумма,
| ДанныеДокумента.Статус КАК Статус,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Дополнительно КАК Дополнительно,
| ДанныеДокумента.ДатаПервичногоДокумента КАК ДатаПервичногоДокумента,
| ДанныеДокумента.НомерПервичногоДокумента КАК НомерПервичногоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| ДанныеДокумента.ДатаДокументаИБ КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| ВтОснований КАК ДанныеДокумента";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтОснований";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаРеестрДокументов.ТипСсылки КАК ТипСсылки,
| ТаблицаРеестрДокументов.Организация КАК Организация,
| ТаблицаРеестрДокументов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаРеестрДокументов.Партнер КАК Партнер,
| ТаблицаРеестрДокументов.Контрагент КАК Контрагент,
| МАКСИМУМ(ТаблицаРеестрДокументов.Договор) КАК Договор,
| ТаблицаРеестрДокументов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МИНИМУМ(ТаблицаРеестрДокументов.ДополнительнаяЗапись) КАК ДополнительнаяЗапись,
| ТаблицаРеестрДокументов.Подразделение КАК Подразделение,
| ТаблицаРеестрДокументов.МестоХранения КАК МестоХранения,
| ТаблицаРеестрДокументов.ДатаДокументаИБ КАК ДатаДокументаИБ,
| ТаблицаРеестрДокументов.Ссылка КАК Ссылка,
| МАКСИМУМ(ТаблицаРеестрДокументов.НомерДокументаИБ) КАК НомерДокументаИБ,
| МАКСИМУМ(ТаблицаРеестрДокументов.Ответственный) КАК Ответственный,
| МАКСИМУМ(ТаблицаРеестрДокументов.Автор) КАК Автор,
| МАКСИМУМ(ТаблицаРеестрДокументов.Комментарий) КАК Комментарий,
| МАКСИМУМ(ТаблицаРеестрДокументов.Валюта) КАК Валюта,
| МАКСИМУМ(ТаблицаРеестрДокументов.Сумма) КАК Сумма,
| МАКСИМУМ(ТаблицаРеестрДокументов.Статус) КАК Статус,
| МАКСИМУМ(ТаблицаРеестрДокументов.Проведен) КАК Проведен,
| МАКСИМУМ(ТаблицаРеестрДокументов.ПометкаУдаления) КАК ПометкаУдаления,
| МАКСИМУМ(ТаблицаРеестрДокументов.Дополнительно) КАК Дополнительно,
| МАКСИМУМ(ТаблицаРеестрДокументов.ДатаПервичногоДокумента) КАК ДатаПервичногоДокумента,
| МАКСИМУМ(ТаблицаРеестрДокументов.НаименованиеВходящегоДокумента) КАК НаименованиеВходящегоДокумента,
| МАКСИМУМ(ТаблицаРеестрДокументов.НомерПервичногоДокумента) КАК НомерПервичногоДокумента
|ПОМЕСТИТЬ ВтОснований
| ИЗ
| (ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| &Склад КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| ВЫРАЗИТЬ(&Комментарий КАК СТРОКА(100)) КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| ВЫРАЗИТЬ(&ИнформацияПоОрганизацииПолучателю КАК СТРОКА(100)) КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| &НомерДокумента КАК НомерПервичногоДокумента
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ОрганизацияПолучатель КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельности,
| &Склад КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| ВЫРАЗИТЬ(&Комментарий КАК СТРОКА(100)) КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ИСТИНА КАК ДополнительнаяЗапись,
| ВЫРАЗИТЬ(&ИнформацияПоОрганизации КАК СТРОКА(100)) КАК Дополнительно,
| ВЫБОР
| КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА &Период
| ИНАЧЕ &ДатаВходящегоДокумента
| КОНЕЦ КАК ДатаПервичногоДокумента,
| ВЫБОР
| КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &НаименованиеВходящегоДокумента
| КОНЕЦ КАК НаименованиеВходящегоДокумента,
| ВЫБОР
| КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА &НомерДокумента
| ИНАЧЕ &НомерВходящегоДокумента
| КОНЕЦ КАК НомерПервичногоДокумента
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| ) КАК ТаблицаРеестрДокументов
|
|СГРУППИРОВАТЬ ПО
| ТаблицаРеестрДокументов.ТипСсылки,
| ТаблицаРеестрДокументов.Организация,
| ТаблицаРеестрДокументов.ХозяйственнаяОперация,
| ТаблицаРеестрДокументов.Партнер,
| ТаблицаРеестрДокументов.Контрагент,
| ТаблицаРеестрДокументов.НаправлениеДеятельности,
| ТаблицаРеестрДокументов.Подразделение,
| ТаблицаРеестрДокументов.МестоХранения,
| ТаблицаРеестрДокументов.ДатаДокументаИБ,
| ТаблицаРеестрДокументов.Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ВозвратТоваровМеждуОрганизациями";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерДокумента", """""");
ПереопределениеРасчетаПараметров.Вставить("НомерВходящегоДокумента", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоОрганизации", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоОрганизацииПолучателю", """""");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ТекстыЗапросаВременныхТаблиц.Вставить("ВтОснований", ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса));
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("АналитикаУчетаПолучатель");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуУПР");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуРегл");
ДополнительныеПараметры.Добавить("ФИФОСкользящаяОценкаПолучателя");
Если Запрос <> Неопределено Тогда
УстановитьПараметрЗапросаАналитикаУчетаПолучатель(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
УстановитьПараметрЗапросаФИФОСкользящаяОценкаПолучателя(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтЗапасыОтправителя");
ДополнительныеТаблицы.Добавить("ВтЗапасыПолучателя");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыОтправителя(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВтЗапасыПолучателя(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(ДокументОбъект) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВыбытиеПоФиксированнойСтоимости_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовУчетный КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяРасходовАктивов,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК АналитикаРасходовАктивов,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиДоходов.РазницыСтоимостиВозвратаИФактическойСтоимостиТоваров) КАК СтатьяДоходов,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК АналитикаДоходов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ &СреднеСкользящая
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ &СреднеСкользящая
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр + ТаблицаВидыЗапасов.СуммаНДСУпр
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| 0 КАК КорСтоимость,
|
| &АналитикаУчетаПолучатель КАК АналитикаУчетаПоПартнерам,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратПоКомиссииМеждуОрганизациями)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровМеждуОрганизациями)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтЗапасыОтправителя КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВыбытиеПоФиксированнойСтоимости,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Товар
Если НЕ ДокументОбъект = Неопределено
И НЕ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.ОрганизацияПолучатель КАК Организация,
| ТаблицаВидыЗапасов.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовУчетный КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| &НалогообложениеОрганизации КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.Себестоимость
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьБезНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьРегл
| ИНАЧЕ ВЫБОР
| КОГДА &НалогообложениеОрганизации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ
| КОНЕЦ КАК СтоимостьРегл,
| ТаблицаВидыЗапасов.СуммаНДСРегл КАК НДСРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьБезНДС
| ИНАЧЕ ВЫБОР
| КОГДА &НалогообложениеОрганизации В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| ТаблицаВидыЗапасов.СуммаНДСУпр КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| &АналитикаУчетаПолучатель КАК АналитикаУчетаПоПартнерам,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеПоВозврату) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратПоКомиссииМеждуОрганизациями)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОприходованиеПоВозврату)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтЗапасыПолучателя КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И НЕ ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| И ТаблицаВидыЗапасов.СпособОпределенияСебестоимости <> ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПередачи)
| И ТаблицаВидыЗапасов.ТипЗапасовОтправителя В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область Реализация_Товар
Если НЕ ДокументОбъект = Неопределено
И НЕ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| &Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ДокументРеализации КАК ДокументИсточник,
| ТаблицаВидыЗапасов.ПериодПродажи КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.ОрганизацияПолучатель КАК Организация,
| ТаблицаВидыЗапасов.АналитикаВозврата КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовУчетный КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаВидыЗапасов.АналитикаОтгрузки КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасовУчетный
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПолучатель КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаВидыЗапасов.ПодразделениеРеализации КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализацииВозвратНаДругойСклад)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровОтКлиентаПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноРеализацииВозвратНаДругойСклад)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВозвратПрошлыхПериодов)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВозвратНаДругойСклад)
| КОНЕЦ КАК ТипЗаписи
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтЗапасыПолучателя КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И НЕ ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| И (ТаблицаВидыЗапасов.ПериодПродажи < &НачалоМесяцаПериода
| ИЛИ ЕСТЬNULL(ТаблицаВидыЗапасов.СкладОтгрузки, ТаблицаДокумента.Склад) <> ЕСТЬNULL(ТаблицаВидыЗапасов.Склад, ТаблицаДокумента.Склад)
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ТаблицаВидыЗапасов.ВидЗапасовУчетный
| И ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ИЛИ ТаблицаВидыЗапасов.Назначение <> ЕСТЬNULL(ТаблицаВидыЗапасов.НазначениеОтгрузки, ТаблицаВидыЗапасов.Назначение))
| И ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПередачи)
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область Реализация_Товар_Сторно
Если НЕ ДокументОбъект = Неопределено
И НЕ ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ДокументРеализации КАК ДокументИсточник,
| ТаблицаВидыЗапасов.ПериодПродажи КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.ОрганизацияПолучатель КАК Организация,
| ТаблицаВидыЗапасов.АналитикаОтгрузки КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасовУчетный
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| ТаблицаВидыЗапасов.АналитикаОтгрузки КАК КорАналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасовУчетный
| КОНЕЦ КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПолучатель КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаВидыЗапасов.ПодразделениеРеализации КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК КорВидДеятельностиНДС,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноРеализации) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Сторно) КАК ТипЗаписи
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтЗапасыПолучателя КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И НЕ ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| И ТаблицаВидыЗапасов.ПериодПродажи >= &НачалоМесяцаПериода
| И ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.ИзДокументаПередачи)
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
| И ЕСТЬNULL(ТаблицаВидыЗапасов.СкладОтгрузки, ТаблицаДокумента.Склад) = ЕСТЬNULL(ТаблицаВидыЗапасов.Склад, ТаблицаДокумента.Склад)
| И (ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный = ТаблицаВидыЗапасов.ВидЗапасовУчетный
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный = ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка))
| И ЕСТЬNULL(ТаблицаВидыЗапасов.НазначениеОтгрузки, ТаблицаВидыЗапасов.Назначение) = ТаблицаВидыЗапасов.Назначение
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
#Область Перемещение_Товар_Комиссия
Если НЕ ДокументОбъект = Неопределено
И ДокументОбъект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.ОрганизацияПолучатель КАК Организация,
| ТаблицаВидыЗапасов.АналитикаКомиссии КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный <> ЗНАЧЕНИЕ(Справочник.ВидыЗапасов.ПустаяСсылка)
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасовОтгрузкиУчетный
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасовУчетный
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| ТаблицаВидыЗапасов.АналитикаВозврата КАК КорАналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасовУчетный КАК КорВидЗапасов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаВидыЗапасов.ПодразделениеРеализации КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.Себестоимость
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.Себестоимость
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.СпособОпределенияСебестоимости = ЗНАЧЕНИЕ(Перечисление.СпособыОпределенияСебестоимостиВозврата.Вручную)
| ТОГДА ТаблицаВидыЗапасов.СебестоимостьВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| КОНЕЦ КАК РазделУчета,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ КАК КорРазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратПоКомиссииМеждуОрганизациями) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтЗапасыПолучателя КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратПоКомиссииМеждуОрганизациями)
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Перемещение,
ТекстЗапроса);
КонецЕсли;
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
Функция ОписаниеОперацийУчетаВыручки(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "ВозвратПоставщику";
КомандаПечати.Представление = НСтр("ru = 'Возврат поставщику'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.ОсновнаяПечатнаяФорма = Истина;
КомандаПечати.НаименованиеПечатнойФормы = НСтр("ru = 'Возврат поставщику'");
Если Константы.ИспользоватьМеждународныеПечатныеФормы.Получить() Тогда
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "InvoiceInt";
КомандаПечати.МенеджерПечати = "Обработка.ПечатьСчетовНаОплату";
КомандаПечати.Представление = НСтр("ru = 'Commercial invoice'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.Порядок = 39;
КонецЕсли;
ВозвратТоваровМеждуОрганизациямиЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ВозвратПоставщику") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВозвратПоставщику", НСтр("ru = 'Возврат поставщику'"), СформироватьПечатнуюФормуВозвратПоставщику(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
ВозвратТоваровМеждуОрганизациямиЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
КонецПроцедуры
Функция СформироватьПечатнуюФормуВозвратПоставщику(МассивОбъектов, ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
КолонкаКодов = ФормированиеПечатныхФорм.ДополнительнаяКолонкаПечатныхФормДокументов();
ИмяКолонкиКодов = КолонкаКодов.ИмяКолонки;
ПредставлениеКолонкиКодов = КолонкаКодов.ПредставлениеКолонки;
ВыводитьКоды = ЗначениеЗаполнено(ИмяКолонкиКодов);
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ВозвратТоваров.Ссылка КАК Ссылка,
| ВозвратТоваров.Организация.Префикс КАК Префикс,
| ВозвратТоваров.Номер КАК Номер,
| ВозвратТоваров.Дата КАК Дата,
| ВозвратТоваров.Организация КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| ВозвратТоваров.ОрганизацияПолучатель КАК Получатель,
| ВозвратТоваров.Валюта КАК Валюта,
| ВозвратТоваров.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ВозвратТоваров.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ВозвратТоваров.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК УчитыватьНДС,
| ВозвратТоваров.Склад.ТекущийОтветственный КАК ОтпускПроизвел,
| ВЫБОР
| КОГДА ВозвратТоваров.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоПередачаНаКомиссию
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ВозвратТоваров
|ГДЕ
| ВозвратТоваров.Ссылка В(&МассивДокументов)
| И ВозвратТоваров.Проведен
| И (НЕ ВозвратТоваров.РасчетыЧерезОтдельногоКонтрагента)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВозвратТоваров.Ссылка,
| ВозвратТоваров.Организация.Префикс,
| ВозвратТоваров.Номер,
| ВозвратТоваров.Дата,
| ВозвратТоваров.Организация,
| ВозвратТоваров.Партнер,
| ВозвратТоваров.Контрагент,
| ВозвратТоваров.Валюта,
| ВозвратТоваров.ЦенаВключаетНДС,
| ВозвратТоваров.ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ВозвратТоваров.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| ВозвратТоваров.Склад.ТекущийОтветственный.Наименование,
| ВЫБОР
| КОГДА ВозвратТоваров.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ВозвратТоваров
|ГДЕ
| ВозвратТоваров.Ссылка В(&МассивДокументов)
| И ВозвратТоваров.Проведен
| И ВозвратТоваров.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВозвратТоваров.Ссылка,
| ВозвратТоваров.Организация.Префикс,
| ВозвратТоваров.Номер,
| ВозвратТоваров.Дата,
| ВозвратТоваров.Контрагент,
| ВозвратТоваров.Партнер,
| ВозвратТоваров.ОрганизацияПолучатель,
| ВозвратТоваров.Валюта,
| ВозвратТоваров.ЦенаВключаетНДС,
| ВозвратТоваров.ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ВозвратТоваров.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| ВозвратТоваров.Склад.ТекущийОтветственный.Наименование,
| ВЫБОР
| КОГДА ВозвратТоваров.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровМеждуОрганизациями)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК ВозвратТоваров
|ГДЕ
| ВозвратТоваров.Ссылка В(&МассивДокументов)
| И ВозвратТоваров.Проведен
| И ВозвратТоваров.РасчетыЧерезОтдельногоКонтрагента
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК ТоварНаименованиеПолное,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаЦены,
| ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.Характеристика.НаименованиеПолное КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
| ВложенныйЗапрос.Цена КАК Цена,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|ИЗ
| (ВЫБРАТЬ
| ВозвратТоваров.Ссылка КАК Ссылка,
| ВозвратТоваров.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ВозвратТоваров.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА 1
| ИНАЧЕ &ТекстЗапросаКоэффициентУпаковки2
| КОНЕЦ КАК Коэффициент,
| &ТекстЗапросаЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВозвратТоваров.Характеристика КАК Характеристика,
| ВозвратТоваров.Упаковка КАК Упаковка,
| ВозвратТоваров.СтавкаНДС КАК СтавкаНДС,
| ВозвратТоваров.Цена КАК Цена,
| ВозвратТоваров.КоличествоУпаковок КАК Количество,
| ВозвратТоваров.Сумма КАК Сумма,
| ВозвратТоваров.СуммаНДС КАК СуммаНДС,
| ВозвратТоваров.НомерСтроки КАК НомерСтроки
| ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.Товары КАК ВозвратТоваров
| ГДЕ
| ВозвратТоваров.Ссылка В(&МассивДокументов)
| И ВозвратТоваров.Ссылка.Проведен) КАК ВложенныйЗапрос
|
|УПОРЯДОЧИТЬ ПО
| ВложенныйЗапрос.Ссылка,
| НомерСтроки
|ИТОГИ ПО
| Ссылка");
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки1",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ВложенныйЗапрос.Упаковка",
"ВложенныйЗапрос.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки2",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ВозвратТоваров.Упаковка",
"ВозвратТоваров.Номенклатура"));
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаЕдиницаИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
"Ссылка",
"ВозвратТоваров.Упаковка",
"ВозвратТоваров.Номенклатура"));
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ВозвратТоваровМеждуОрганизациями_Накладная";
МассивРезультатов = Запрос.ВыполнитьПакет();
ДанныеПечати = МассивРезультатов[0].Выбрать();
ВыборкаПоДокументам = МассивРезультатов[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ВозвратТоваровМеждуОрганизациями.ПФ_MXL_ВозвратПоставщику");
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
ОбластьКолонкаТовар = Макет.Область("Товар");
Если Не ВыводитьКоды Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.2;
КонецЕсли;
Иначе
ОбластьКолонкаТовар = Макет.Область("ТоварБезСумм");
Если Не ВыводитьКоды Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки * 1.125;
КонецЕсли;
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
СтруктураДанныхШапки = Новый Структура;
СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru = 'Возврат поставщику'", ОбщегоНазначения.КодОсновногоЯзыка())));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
СтруктураДанныхПоставщик = Новый Структура;
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
СтруктураДанныхПокупатель = Новый Структура;
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата), "ПолноеНаименование");
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
ТабличныйДокумент.Вывести(ОбластьМакета);
Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
Иначе
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыБезСумм|НомерСтрокиБезСумм");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицыБезСумм|КолонкаКодовБезСумм");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицыБезСумм|ТоварБезСумм");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыБезСумм|ДанныеБезСумм");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
СтруктураДанныхКоды = Новый Структура("ИмяКолонкиКодов", ПредставлениеКолонкиКодов);
ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
ТабличныйДокумент.Присоединить(ОбластьДанных);
Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("СтрокаТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("СтрокаТаблицы|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные");
Иначе
ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТаблицыБезСумм|НомерСтрокиБезСумм");
ОбластьКодов = Макет.ПолучитьОбласть("СтрокаТаблицыБезСумм|КолонкаКодовБезСумм");
ОбластьТовар = Макет.ПолучитьОбласть("СтрокаТаблицыБезСумм|ТоварБезСумм");
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТаблицыБезСумм|ДанныеБезСумм");
КонецЕсли;
Сумма = 0;
СуммаНДС = 0;
НомерСтроки = 0;
Пока ВыборкаПоТоварам.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
ОбластьНомера.Параметры.Заполнить(Новый Структура("НомерСтроки", НомерСтроки));
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[ИмяКолонкиКодов]);
ОбластьКодов.Параметры.Заполнить(СтруктураДанныхКоды);
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ВыборкаПоТоварам);
ДополнительныеПараметрыПолученияНаименованияДляПечати = НоменклатураКлиентСервер.ДополнительныеПараметрыПредставлениеНоменклатурыДляПечати();
ДополнительныеПараметрыПолученияНаименованияДляПечати.ВозвратнаяТара = ВыборкаПоТоварам.ЭтоВозвратнаяТара;
ДополнительныеПараметрыПолученияНаименованияДляПечати.КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.ТоварНаименованиеПолное,
ВыборкаПоТоварам.Характеристика,
,
,
ДополнительныеПараметрыПолученияНаименованияДляПечати);
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
ОбластьТовар.Параметры.Заполнить(СтруктураДанныхТовар);
ТабличныйДокумент.Присоединить(ОбластьТовар);
ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
ТабличныйДокумент.Присоединить(ОбластьДанных);
Если ДанныеПечати.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВозвратТоваровКомитенту Тогда
Сумма = Сумма + ВыборкаПоТоварам.Сумма;
СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;
КонецЕсли;
КонецЦикла;
Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицы|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы|Данные");
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
СтруктураДанныхВсего = Новый Структура;
СтруктураДанныхВсего.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсего);
ТабличныйДокумент.Присоединить(ОбластьДанных);
КонецЕсли;
Если ДанныеПечати.УчитыватьНДС И Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Товар");
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицыНДС|Данные");
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
СтруктураДанныхНДС = Новый Структура;
СтруктураДанныхНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС,
НСтр("ru = 'В том числе НДС:'",ОбщегоНазначения.КодОсновногоЯзыка()),
НСтр("ru = 'Сумма НДС:'", ОбщегоНазначения.КодОсновногоЯзыка())));
СтруктураДанныхНДС.Вставить("ВсегоНДС", ФормированиеПечатныхФорм.ФорматСумм(СуммаНДС));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхНДС);
ТабличныйДокумент.Присоединить(ОбластьДанных);
КонецЕсли;
Если Не ДанныеПечати.ЭтоПередачаНаКомиссию Тогда
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
ИтоговаяСтрока = НСтр("ru = 'Всего наименований %КоличествоНаименований%, на сумму %СуммаДокумента%'", ОбщегоНазначения.КодОсновногоЯзыка()) + " ";
ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%КоличествоНаименований%", ВыборкаПоТоварам.Количество());
ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%СуммаДокумента%", ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
СтруктураДанныхИтоговаяСтрока = Новый Структура;
СтруктураДанныхИтоговаяСтрока.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
СтруктураДанныхИтоговаяСтрока.Вставить("СуммаПрописью", РаботаСКурсамиВалютУТ.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
ТабличныйДокумент.Вывести(ОбластьМакета);
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалТаблицыБезСумм");
ИтоговаяСтрока = НСтр("ru = 'Всего наименований %КоличествоНаименований%'", ОбщегоНазначения.КодОсновногоЯзыка());
ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%КоличествоНаименований%", ВыборкаПоТоварам.Количество());
СтруктураДанныхИтоговаяСтрока = Новый Структура("ИтоговаяСтрока", ИтоговаяСтрока);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхИтоговаяСтрока);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
Если ЗначениеЗаполнено(ДанныеПечати.ОтпускПроизвел) Тогда
СтруктураДанныхОтпускПроизвел =
Новый Структура("ОтпускПроизвел", ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(ДанныеПечати.ОтпускПроизвел, ДанныеПечати.Дата));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхОтпускПроизвел);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "Партнер";
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Партнер");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов") Тогда
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Контрагент");
КонецЕсли;
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Грузоотправитель");
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Грузополучатель");
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыСчетаНаОплату(ПараметрыПечати, МассивОбъектов, КодЯзыка = Неопределено) Экспорт
Возврат ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка);
КонецФункции
Функция ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов, КодЯзыка) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
| Документы.Ссылка КАК Ссылка,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.Владелец, Документы.Организация) КАК Организация,
| Документы.Организация КАК ОрганизацияПоставщик,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| ВЫБОР
| КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя) КАК ОперацияОблагаетсяНДСУПокупателя,
| Документы.ОрганизацияПолучатель КАК Контрагент,
| Документы.ОрганизацияПолучатель.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
| Документы.БанковскийСчетОрганизации КАК БанковскийСчет,
| ВЫБОР КОГДА Документы.БанковскийСчетОрганизации.ИностранныйБанк
| ИЛИ Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств <> Документы.Организация.ВалютаРегламентированногоУчета
| ИЛИ Документы.БанковскийСчетОрганизацииПолучателя.ИностранныйБанк ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПлатежЗаРубеж,
| Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
| Документы.БанковскийСчетОрганизации.СВИФТБанка КАК СВИФТБанка,
| Документы.БанковскийСчетОрганизации.СВИФТБанкаДляРасчетов КАК СВИФТБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.АдресБанка КАК АдресБанка,
| Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетов КАК АдресБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ) КАК ЭтоСчетЦифровогоРубля,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА Документы.БанковскийСчетОрганизации.ИдентификаторСчетаЦифровогоРубля
| ИНАЧЕ Документы.БанковскийСчетОрганизации.НомерСчета
| КОНЕЦ КАК НомерБанковскогоСчета,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанка
| ИНАЧЕ КлассификаторБанков.Код
| КОНЕЦ КАК БИКБанк,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанка
| ИНАЧЕ КлассификаторБанков.Наименование
| КОНЕЦ КАК НаименованиеБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаМеждународное
| ИНАЧЕ КлассификаторБанков.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаМеждународное,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанка
| ИНАЧЕ КлассификаторБанков.КоррСчет
| КОНЕЦ КАК КоррСчетБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанка
| ИНАЧЕ КлассификаторБанков.Город
| КОНЕЦ КАК ГородБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанков.ГородМеждународный
| КОНЕЦ КАК ГородБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
| КОНЕЦ КАК БИКБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
| КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
| КОНЕЦ КАК ГородБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанков.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанковКорреспондентовРФ.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
| Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| Документы.Валюта КАК Валюта,
| Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
| Документы.СуммаДокумента КАК СуммаКВозврату,
| ЛОЖЬ КАК ЧастичнаяОплата,
| """" КАК НазначениеПлатежа,
| 100 КАК ПроцентОплаты,
| """" КАК ДополнительнаяИнформация,
| Документы.СуммаДокумента КАК СуммаДокумента,
| ВЫБОР
| КОГДА Документы.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА Документы.Организация
| ИНАЧЕ Документы.Грузоотправитель
| КОНЕЦ КАК Грузоотправитель,
| ВЫБОР
| КОГДА Документы.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА Документы.ОрганизацияПолучатель
| ИНАЧЕ Документы.Грузополучатель
| КОНЕЦ КАК Грузополучатель,
| Документы.ИдентификаторПлатежа КАК ИдентификаторПлатежа,
| ЛОЖЬ КАК СчетКВозврату
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК Документы
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО Документы.Ссылка = ТаблицаОтветственныеЛица.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанков
| ПО Документы.БанковскийСчетОрганизации.Банк = КлассификаторБанков.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанковКорреспондентовРФ
| ПО Документы.БанковскийСчетОрганизации.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Константы
| ПО ИСТИНА
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
| И НЕ Документы.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Документы.Ссылка КАК Ссылка,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ЕСТЬNULL(Документы.БанковскийСчетКонтрагента.Владелец, Документы.ОрганизацияПолучатель) КАК Организация,
| Документы.Организация КАК ОрганизацияПоставщик,
| """" КАК Руководитель,
| """" КАК ДолжностьРуководителя,
| """" КАК ГлавныйБухгалтер,
| ВЫБОР
| КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя) КАК ОперацияОблагаетсяНДСУПокупателя,
| Документы.ОрганизацияПолучатель КАК Контрагент,
| Документы.ОрганизацияПолучатель.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
| Документы.БанковскийСчетКонтрагента КАК БанковскийСчет,
|
| ВЫБОР КОГДА Документы.БанковскийСчетКонтрагента.ИностранныйБанк
| ИЛИ Документы.БанковскийСчетКонтрагента.ВалютаДенежныхСредств <> Документы.Организация.ВалютаРегламентированногоУчета
| ИЛИ Документы.БанковскийСчетОрганизацииПолучателя.ИностранныйБанк ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПлатежЗаРубеж,
| Документы.БанковскийСчетКонтрагента.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
| Документы.БанковскийСчетКонтрагента.СВИФТБанка КАК СВИФТБанка,
| Документы.БанковскийСчетКонтрагента.СВИФТБанкаДляРасчетов КАК СВИФТБанкаДляРасчетов,
| Документы.БанковскийСчетКонтрагента.АдресБанка КАК АдресБанка,
| Документы.БанковскийСчетКонтрагента.АдресБанкаДляРасчетов КАК АдресБанкаДляРасчетов,
| Документы.БанковскийСчетКонтрагента.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ) КАК ЭтоСчетЦифровогоРубля,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА Документы.БанковскийСчетОрганизации.ИдентификаторСчетаЦифровогоРубля
| ИНАЧЕ Документы.БанковскийСчетКонтрагента.НомерСчета
| КОНЕЦ КАК НомерБанковскогоСчета,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетКонтрагента.БИКБанка
| ИНАЧЕ КлассификаторБанков.Код
| КОНЕЦ КАК БИКБанк,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетКонтрагента.НаименованиеБанка
| ИНАЧЕ КлассификаторБанков.Наименование
| КОНЕЦ КАК НаименованиеБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаМеждународное
| ИНАЧЕ КлассификаторБанков.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаМеждународное,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетКонтрагента.КоррСчетБанка
| ИНАЧЕ КлассификаторБанков.КоррСчет
| КОНЕЦ КАК КоррСчетБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетКонтрагента.ГородБанка
| ИНАЧЕ КлассификаторБанков.Город
| КОНЕЦ КАК ГородБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанков.ГородМеждународный
| КОНЕЦ КАК ГородБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетКонтрагента.БИКБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
| КОНЕЦ КАК БИКБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетКонтрагента.НаименованиеБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетКонтрагента.КоррСчетБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
| КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетКонтрагента.ГородБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
| КОНЕЦ КАК ГородБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанка
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанков.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетКонтрагента.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанковКорреспондентовРФ.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанкаДляРасчетов,
| Документы.БанковскийСчетКонтрагента.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
| Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| Документы.Валюта КАК Валюта,
| Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
| Документы.СуммаДокумента КАК СуммаКВозврату,
| ЛОЖЬ КАК ЧастичнаяОплата,
| """" КАК НазначениеПлатежа,
| 100 КАК ПроцентОплаты,
| """" КАК ДополнительнаяИнформация,
| Документы.СуммаДокумента КАК СуммаДокумента,
| ВЫБОР
| КОГДА Документы.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА Документы.Контрагент
| ИНАЧЕ Документы.Грузоотправитель
| КОНЕЦ,
| ВЫБОР
| КОГДА Документы.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА Документы.ОрганизацияПолучатель
| ИНАЧЕ Документы.Грузополучатель
| КОНЕЦ КАК Грузополучатель,
| Документы.ИдентификаторПлатежа КАК ИдентификаторПлатежа,
| ЛОЖЬ КАК СчетКВозврату
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК Документы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанков
| ПО Документы.БанковскийСчетОрганизации.Банк = КлассификаторБанков.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанковКорреспондентовРФ
| ПО Документы.БанковскийСчетОрганизации.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Константы
| ПО ИСТИНА
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
| И Документы.РасчетыЧерезОтдельногоКонтрагента
| И Документы.ОрганизацияПолучатель <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Документы.Ссылка КАК Ссылка,
| Документы.Номер КАК Номер,
| Документы.Дата КАК Дата,
| НЕОПРЕДЕЛЕНО КАК ДокументОснование,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.Владелец, Документы.Организация) КАК Организация,
| Документы.Организация КАК ОрганизацияПоставщик,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК Руководитель,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ТаблицаОтветственныеЛица.ГлавныйБухгалтерНаименование КАК ГлавныйБухгалтер,
| ВЫБОР
| КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК УчитыватьНДС,
| Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя) КАК ОперацияОблагаетсяНДСУПокупателя,
| Документы.Контрагент КАК Контрагент,
| Документы.Контрагент.ЮрФизЛицо КАК КонтрагентЮрФизЛицо,
| Документы.БанковскийСчетОрганизации КАК БанковскийСчет,
|
| ВЫБОР КОГДА Документы.БанковскийСчетОрганизации.ИностранныйБанк
| ИЛИ Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств <> Документы.Организация.ВалютаРегламентированногоУчета
| ИЛИ Документы.БанковскийСчетКонтрагента.ИностранныйБанк ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ПлатежЗаРубеж,
| Документы.БанковскийСчетОрганизации.ВалютаДенежныхСредств КАК ВалютаДенежныхСредств,
| Документы.БанковскийСчетОрганизации.СВИФТБанка КАК СВИФТБанка,
| Документы.БанковскийСчетОрганизации.СВИФТБанкаДляРасчетов КАК СВИФТБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.АдресБанка КАК АдресБанка,
| Документы.БанковскийСчетОрганизации.АдресБанкаДляРасчетов КАК АдресБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.СчетВБанкеДляРасчетов КАК СчетВБанкеДляРасчетов,
| ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ) КАК СчетЦифровогоРубля,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА Документы.БанковскийСчетОрганизации.ИдентификаторСчетаЦифровогоРубля
| ИНАЧЕ Документы.БанковскийСчетОрганизации.НомерСчета
| КОНЕЦ КАК НомерБанковскогоСчета,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанка
| ИНАЧЕ КлассификаторБанков.Код
| КОНЕЦ КАК БИКБанк,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанка
| ИНАЧЕ КлассификаторБанков.Наименование
| КОНЕЦ КАК НаименованиеБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаМеждународное
| ИНАЧЕ КлассификаторБанков.МеждународноеНаименование
| КОНЕЦ КАК НаименованиеБанкаМеждународное,
| ВЫБОР
| КОГДА ЕСТЬNULL(Документы.БанковскийСчетОрганизации.СчетЦифровогоРубля, ЛОЖЬ)
| ТОГДА """"
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанка
| ИНАЧЕ КлассификаторБанков.КоррСчет
| КОНЕЦ КАК КоррСчетБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанка
| ИНАЧЕ КлассификаторБанков.Город
| КОНЕЦ КАК ГородБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетовМеждународный
| ИНАЧЕ КлассификаторБанков.ГородМеждународный
| КОНЕЦ КАК ГородБанкаМеждународный,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.БИКБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Код
| КОНЕЦ КАК БИКБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.НаименованиеБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Наименование
| КОНЕЦ КАК НаименованиеБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.КоррСчетБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.КоррСчет
| КОНЕЦ КАК КоррСчетБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА Документы.БанковскийСчетОрганизации.ГородБанкаДляРасчетов
| ИНАЧЕ КлассификаторБанковКорреспондентовРФ.Город
| КОНЕЦ КАК ГородБанкаДляРасчетов,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанка
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанков.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанка,
| ВЫБОР
| КОГДА Документы.БанковскийСчетОрганизации.РучноеИзменениеРеквизитовБанкаДляРасчетов
| ТОГДА """"
| ИНАЧЕ ЕСТЬNULL(КлассификаторБанковКорреспондентовРФ.БИКРКЦ.Наименование, """")
| КОНЕЦ КАК НаименованиеРКЦБанкаДляРасчетов,
| Документы.БанковскийСчетОрганизации.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
| Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| Документы.Валюта КАК Валюта,
| Документы.Менеджер.ФизическоеЛицо КАК Менеджер,
| Документы.СуммаДокумента КАК СуммаКВозврату,
| ЛОЖЬ КАК ЧастичнаяОплата,
| """" КАК НазначениеПлатежа,
| 100 КАК ПроцентОплаты,
| """" КАК ДополнительнаяИнформация,
| Документы.СуммаДокумента КАК СуммаДокумента,
| ВЫБОР
| КОГДА Документы.Грузоотправитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА Документы.Организация
| ИНАЧЕ Документы.Грузоотправитель
| КОНЕЦ КАК Грузоотправитель,
| ВЫБОР
| КОГДА Документы.Грузополучатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА Документы.ОрганизацияПолучатель
| ИНАЧЕ Документы.Грузополучатель
| КОНЕЦ КАК Грузополучатель,
| Документы.ИдентификаторПлатежа КАК ИдентификаторПлатежа,
| ЛОЖЬ КАК СчетКВозврату
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями КАК Документы
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО Документы.Ссылка = ТаблицаОтветственныеЛица.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанков
| ПО Документы.БанковскийСчетОрганизации.Банк = КлассификаторБанков.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторБанков КАК КлассификаторБанковКорреспондентовРФ
| ПО Документы.БанковскийСчетОрганизации.БанкДляРасчетов = КлассификаторБанковКорреспондентовРФ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Константы
| ПО ИСТИНА
|ГДЕ
| Документы.Ссылка В(&МассивОбъектов)
| И Документы.РасчетыЧерезОтдельногоКонтрагента
| И Документы.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|
|;
|
|
|ВЫБРАТЬ
| НЕОПРЕДЕЛЕНО КАК Ссылка,
| 0 КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК ДатаПлатежа,
| 0 КАК ПроцентПлатежа,
| 0 КАК СуммаПлатежа,
| ЛОЖЬ КАК ЭтоЗалогЗаТару
|ГДЕ
| ЛОЖЬ
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Номенклатура.Код КАК Код,
| Товары.Номенклатура.Артикул КАК Артикул,
| Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
| &ТекстЗапросаНаименованиеЕдиницыИзмерения КАК ЕдиницаИзмерения,
| Товары.КоличествоУпаковок КАК Количество,
| Товары.Цена КАК Цена,
| Товары.Сумма КАК Сумма,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.СуммаНДС КАК СуммаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидЦеныИсполнителя,
| ЕСТЬNULL(Товары.Характеристика.НаименованиеПолное, """") КАК Характеристика,
| ВЫБОР КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1 ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Товары.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| 0 КАК СуммаСкидки,
| Товары.Сумма КАК СуммаБезСкидки,
| ЛОЖЬ КАК ЭтоВозвратнаяТара
|ИЗ
| Документ.ВозвратТоваровМеждуОрганизациями.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В(&МассивОбъектов)
|УПОРЯДОЧИТЬ ПО
| Товары.НомерСтроки
|";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"Товары.Упаковка",
"Товары.Номенклатура"));
Если ЗначениеЗаполнено(КодЯзыка)
И Не КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка() Тогда
НаименованиеУпаковкиЕдиницыИзмерения = "МеждународноеСокращение";
Иначе
НаименованиеУпаковкиЕдиницыИзмерения = "Наименование";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстЗапросаНаименованиеЕдиницыИзмерения",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаЗначениеРеквизитаЕдиницыИзмерения(
НаименованиеУпаковкиЕдиницыИзмерения,
"Товары.Упаковка",
"Товары.Номенклатура"));
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[ПакетРезультатовЗапроса.Количество() - 1]);
Возврат СтруктураДанныхДляПечати;
КонецФункции
#КонецОбласти
#Область ИнициализацияИЗаполнение
Процедура ЗаполнитьПоПередачеТоваров(Объект, ИсточникСсылка) Экспорт
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ПТО.Организация КАК Организация,
| ПТО.ОрганизацияПолучатель КАК ОрганизацияПолучатель,
| ПТО.РасчетыЧерезОтдельногоКонтрагента КАК РасчетыЧерезОтдельногоКонтрагента,
| ПТО.Партнер КАК Партнер,
| ПТО.Контрагент КАК Контрагент
|ИЗ
| Документ.ПередачаТоваровМеждуОрганизациями КАК ПТО
|ГДЕ
| ПТО.Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка",ИсточникСсылка);
Реквизиты = Запрос.Выполнить().Выгрузить()[0];
Если Не ЗначениеЗаполнено(Объект.Организация) Тогда
Объект.Организация = Реквизиты.ОрганизацияПолучатель;
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.ОрганизацияПолучатель) Тогда
Объект.ОрганизацияПолучатель = Реквизиты.Организация;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект,Реквизиты,"РасчетыЧерезОтдельногоКонтрагента,Партнер,Контрагент");
КонецПроцедуры
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли