#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Закупки");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ПередачаНаОтветхранение");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ОтчетКомиссионераЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
#КонецОбласти
Процедура ЗадатьОписаниеЗаполняемыхРеквизитовПоСтатистике(ОписаниеРеквизитов) Экспорт
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Менеджер", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Партнер, Соглашение";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Организация", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Менеджер";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Подразделение", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Договор, Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "БанковскийСчет", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
Параметры.РазрезыСбораСтатистики.ИспользоватьТолькоЗаполненные = "Валюта";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Касса", Параметры);
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "Услуга, СпособРасчетаВознаграждения");
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Организация";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "СтавкаНДСВознаграждения", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "СпособРасчетаВознаграждения";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "СпособРасчетаВознаграждения";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов, "ПроцентВознаграждения", Параметры);
Параметры = ЗаполнениеОбъектовПоСтатистике.ПараметрыЗаполняемыхРеквизитов();
Параметры.РазрезыСбораСтатистики.ИспользоватьВсегда = "Контрагент";
Параметры.ЗаполнятьПриУсловии.ПоляОбъектаЗаполнены = "Контрагент";
ЗаполнениеОбъектовПоСтатистике.ДобавитьОписаниеЗаполняемыхРеквизитов(ОписаниеРеквизитов,
"НаименованиеВходящегоДокумента", Параметры);
КонецПроцедуры
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ДоверенностьВыданная.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПоступлениеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.ПриходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СчетНаОплатуКлиенту.ДобавитьКомандуСоздатьНаОснованииСчетаНаОплату(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ОтчетКомиссионераЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ОтчетКомиссионера) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ОтчетКомиссионера.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ОтчетКомиссионера);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьКомиссиюПриПродажах";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
Отчеты.СостояниеРасчетовСКомиссионерами.ДобавитьКомандуОтчета(КомандыОтчетов);
Отчеты.ТоварыПереданныеНаКомиссию.ДобавитьКомандуОтчета(КомандыОтчетов);
Отчеты.ТоварыПереданныеНаКомиссию2_5.ДобавитьКомандуОтчета(КомандыОтчетов);
ОтчетКомиссионераЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Процедура ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(СпособРасчетаВознаграждения, МассивВсехРеквизитов, МассивРеквизитовОперации, Самообслуживание = Ложь) Экспорт
МассивВсехРеквизитов = Новый Массив;
МассивВсехРеквизитов.Добавить("ПроцентВознаграждения");
МассивВсехРеквизитов.Добавить("СуммаВознаграждения");
МассивВсехРеквизитов.Добавить("Товары.СуммаВознаграждения");
Если НЕ Самообслуживание Тогда
МассивВсехРеквизитов.Добавить("СтавкаНДСВознаграждения");
МассивВсехРеквизитов.Добавить("СуммаНДСВознаграждения");
МассивВсехРеквизитов.Добавить("УдержатьВознаграждение");
МассивВсехРеквизитов.Добавить("Услуга");
МассивВсехРеквизитов.Добавить("ДатаПлатежа");
МассивВсехРеквизитов.Добавить("СтатьяРасходов");
КонецЕсли;
МассивРеквизитовОперации = Новый Массив;
Если СпособРасчетаВознаграждения <> Перечисления.СпособыРасчетаКомиссионногоВознаграждения.НеРассчитывается Тогда
МассивРеквизитовОперации.Добавить("ПроцентВознаграждения");
МассивРеквизитовОперации.Добавить("СуммаВознаграждения");
МассивРеквизитовОперации.Добавить("Товары.СуммаВознаграждения");
Если НЕ Самообслуживание Тогда
МассивРеквизитовОперации.Добавить("СтавкаНДСВознаграждения");
МассивРеквизитовОперации.Добавить("СуммаНДСВознаграждения");
МассивРеквизитовОперации.Добавить("УдержатьВознаграждение");
МассивРеквизитовОперации.Добавить("Услуга");
МассивРеквизитовОперации.Добавить("ДатаПлатежа");
МассивРеквизитовОперации.Добавить("СтатьяРасходов");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ПорядокРасчетов КАК ПорядокРасчетов,
|
| ВЫБОР КОГДА ДанныеДокумента.УдержатьВознаграждение ТОГДА
| ДанныеДокумента.СуммаДокумента - ДанныеДокумента.СуммаВознаграждения
| ИНАЧЕ
| ДанныеДокумента.СуммаДокумента
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ДанныеДокумента.СуммаВознаграждения КАК СуммаВознаграждения,
|
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.НачалоПериода КАК НачалоПериода,
| ДанныеДокумента.КонецПериода КАК КонецПериода
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Дата = Выборка.Дата;
Организация = Выборка.Организация;
Партнер = Выборка.Партнер;
Контрагент = Выборка.Контрагент;
Договор = Выборка.Договор;
НаправлениеДеятельности = Выборка.НаправлениеДеятельности;
ПорядокРасчетов = Выборка.ПорядокРасчетов;
ВалютаВзаиморасчетов = Выборка.ВалютаВзаиморасчетов;
СуммаДокумента = Выборка.СуммаДокумента;
СуммаВзаиморасчетов = ?(Выборка.Проведен, Выборка.СуммаВзаиморасчетов, 0);
СуммаВознаграждения = ?(Выборка.Проведен, Выборка.СуммаВознаграждения, 0);
НачалоПериода = Выборка.НачалоПериода;
КонецПериода = Выборка.КонецПериода;
Иначе
Дата = Дата(1,1,1);
Организация = Справочники.Организации.ПустаяСсылка();
Партнер = Справочники.Партнеры.ПустаяСсылка();
Контрагент = Справочники.Контрагенты.ПустаяСсылка();
Договор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
НаправлениеДеятельности = Справочники.НаправленияДеятельности.ПустаяСсылка();
ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПустаяСсылка();
ВалютаВзаиморасчетов = Справочники.Валюты.ПустаяСсылка();
СуммаДокумента = 0;
СуммаВзаиморасчетов = 0;
СуммаВознаграждения = 0;
НачалоПериода = Неопределено;
КонецПериода = Неопределено;
КонецЕсли;
СтруктураРеквизитов = Новый Структура;
СтруктураРеквизитов.Вставить("Дата", Дата);
СтруктураРеквизитов.Вставить("Организация", Организация);
СтруктураРеквизитов.Вставить("Партнер", Партнер);
СтруктураРеквизитов.Вставить("Контрагент", Контрагент);
СтруктураРеквизитов.Вставить("Договор", Договор);
СтруктураРеквизитов.Вставить("ПорядокРасчетов", ПорядокРасчетов);
СтруктураРеквизитов.Вставить("РасчетыПоДоговору", ПорядокРасчетов);
СтруктураРеквизитов.Вставить("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов);
СтруктураРеквизитов.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ОтчетКомиссионера);
СтруктураРеквизитов.Вставить("СуммаДокумента", СуммаДокумента);
СтруктураРеквизитов.Вставить("СуммаВзаиморасчетов", СуммаВзаиморасчетов);
СтруктураРеквизитов.Вставить("СуммаВознаграждения", СуммаВознаграждения);
СтруктураРеквизитов.Вставить("НачалоПериода", НачалоПериода);
СтруктураРеквизитов.Вставить("КонецПериода", КонецПериода);
СтруктураРеквизитов.Вставить("НаправлениеДеятельности", НаправлениеДеятельности);
Возврат СтруктураРеквизитов;
КонецФункции
Функция СтруктураЗначащихРеквизитов() Экспорт
Возврат Новый Структура("
|Партнер,
|Контрагент,
|Договор,
|Организация,
|Соглашение,
|Валюта,
|Подразделение,
|НалогообложениеНДС,
|ЦенаВключаетНДС,
|НаправлениеДеятельности
|");
КонецФункции
Функция ПараметрыЗаполненияНалогообложенияНДСПродажи(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.Договор = Объект.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
ПараметрыЗаполнения.ОтчетКомиссионера = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурКомиссионеру(Документ) Экспорт
Реквизиты = Новый Структура("Ссылка, Дата, Контрагент, Организация, НалогообложениеНДС, ХозяйственнаяОперация");
Если ТипЗнч(Документ) = Тип("ДокументСсылка.ОтчетКомиссионера") Тогда
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, Реквизиты);
Иначе
ЗаполнитьЗначенияСвойств(Реквизиты, Документ);
КонецЕсли;
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурКомиссионеру();
ПараметрыРегистрации.Ссылка = Реквизиты.Ссылка;
ПараметрыРегистрации.Организация = Реквизиты.Организация;
ПараметрыРегистрации.Контрагент = Реквизиты.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Реквизиты.НалогообложениеНДС;
ПараметрыРегистрации.РеализацияЧерезКомиссионера =
КомиссионнаяТорговляСервер.РеализацияЧерезКомиссионера(Реквизиты.ХозяйственнаяОперация);
ПараметрыРегистрации.Дата = Реквизиты.Дата;
ПараметрыРегистрации.РеализацияТоваров = Истина;
ПараметрыРегистрации.РеализацияРаботУслуг = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
МассивНаименований.Добавить(НСтр("ru='Отчет комиссионера'"));
ОтчетКомиссионераЛокализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
Функция СформироватьГиперссылкуСмТакжеВРаботе(Параметры) Экспорт
Если Не ПравоДоступа("Изменение", Метаданные.Документы.ОтчетКомиссионера) Тогда
Возврат Неопределено;
КонецЕсли;
ТекстГиперссылки = НСтр("ru = 'Отчеты комиссионеров'");
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,"Документ.ОтчетКомиссионера.Форма.ФормаСписка");
КонецФункции
#Область УчетНДС
Функция ПараметрыРегистрацииСчетовФактурПолученных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
ПараметрыРегистрации.ПриобретениеТоваровРаботУслуг = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)";
Ограничение.ТекстДляВнешнихПользователей =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК ЭтотСписок
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнешниеПользователи КАК ВнешниеПользователиПартнеры
| ПО ВнешниеПользователиПартнеры.ОбъектАвторизации = ЭтотСписок.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КонтактныеЛицаПартнеров КАК КонтактныеЛицаПартнеров
| ПО КонтактныеЛицаПартнеров.Владелец = ЭтотСписок.Партнер
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнешниеПользователи КАК ВнешниеПользователиКонтактныеЛица
| ПО ВнешниеПользователиКонтактныеЛица.ОбъектАвторизации = КонтактныеЛицаПартнеров.Ссылка
|;
|РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(ВнешниеПользователиПартнеры.Ссылка)
| ИЛИ ЗначениеРазрешено(ВнешниеПользователиКонтактныеЛица.Ссылка)";
КонецПроцедуры
#КонецОбласти
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначенияУТКлиентСервер.АвторизованВнешнийПользователь() Тогда
Возврат ПараметрыВзаиморасчетыСамообслуживание(ДанныеЗаполнения);
КонецЕсли;
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"УдержатьВознаграждение,
|ХозяйственнаяОперация,
|СпособРасчетаВознаграждения");
УдержатьВознаграждение = СтруктураДанныеЗаполнения.УдержатьВознаграждение;
ХозяйственнаяОперация = СтруктураДанныеЗаполнения.ХозяйственнаяОперация;
РасчетВознаграждения = СтруктураДанныеЗаполнения.СпособРасчетаВознаграждения <> Перечисления.СпособыРасчетаКомиссионногоВознаграждения.НеРассчитывается;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
УдержатьВознаграждение = Ложь;
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПустаяСсылка();
РасчетВознаграждения = Ложь;
Иначе
УдержатьВознаграждение = ДанныеЗаполнения.УдержатьВознаграждение;
ХозяйственнаяОперация = ДанныеЗаполнения.ХозяйственнаяОперация;
РасчетВознаграждения = ДанныеЗаполнения.СпособРасчетаВознаграждения <> Перечисления.СпособыРасчетаКомиссионногоВознаграждения.НеРассчитывается;
КонецЕсли;
МассивСтруктур = Новый Массив;
#Область ОтчетКомиссионера
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.КурсЧислитель = "";
СтруктураПараметров.КурсЗнаменатель = "";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Товары";
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "СуммаПродажи";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежаСКлиентом";
СтруктураПараметров.БанковскийСчетОрганизации = "Объект.БанковскийСчет";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыФорма";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "Объект.ЭтапыГрафикаОплаты";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ГрафикОплаты = "Объект.ГрафикОплаты";
СтруктураПараметров.НетКонтроляПредоплаты = Истина;
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияЧерезКомиссионера Тогда
СтруктураПараметров.ДоговорКомиссионера = "Объект.Договор";
КонецЕсли;
МассивСтруктур.Добавить(СтруктураПараметров);
#КонецОбласти
#Область Вознаграждение
Если РасчетВознаграждения Тогда
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
Если ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов") Тогда
СтруктураПараметров.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоНакладным;
СтруктураПараметров.ГруппаФинансовогоУчета = "Объект.Договор.ГруппаФинансовогоУчета";
Иначе
СтруктураПараметров.ИзменяетПланОплаты = НЕ УдержатьВознаграждение;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = НЕ УдержатьВознаграждение;
КонецЕсли;
СтруктураПараметров.СуммаДокумента = "Объект.СуммаВознаграждения";
СтруктураПараметров.ДатаПлатежа = "Объект.ДатаПлатежа";
СтруктураПараметров.КурсЧислитель = "";
СтруктураПараметров.КурсЗнаменатель = "";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежаСПоставщиком";
СтруктураПараметров.БанковскийСчетОрганизации = "Объект.БанковскийСчет";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетовВознаграждение";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыПоВознаграждению";
СтруктураПараметров.УдержатьВознаграждение = УдержатьВознаграждение;
МассивСтруктур.Добавить(СтруктураПараметров);
КонецЕсли;
#КонецОбласти
Возврат МассивСтруктур;
КонецФункции
Функция ПараметрыВзаиморасчетыСамообслуживание(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"УдержатьВознаграждение");
УдержатьВознаграждение = СтруктураДанныеЗаполнения.УдержатьВознаграждение;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
УдержатьВознаграждение = Ложь;
Иначе
УдержатьВознаграждение = ДанныеЗаполнения.УдержатьВознаграждение;
КонецЕсли;
МассивСтруктур = Новый Массив;
#Область ОтчетКомиссионера
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.КурсЧислитель = "";
СтруктураПараметров.КурсЗнаменатель = "";
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Товары";
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "СуммаПродажи";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежаСКлиентом";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "Объект.ЭтапыГрафикаОплаты";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ГрафикОплаты = "Объект.ГрафикОплаты";
СтруктураПараметров.НеУказыватьИсточникиОплаты = Истина;
МассивСтруктур.Добавить(СтруктураПараметров);
#КонецОбласти
#Область Вознаграждение
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ИзменяетПланОплаты = НЕ УдержатьВознаграждение;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = НЕ УдержатьВознаграждение;
СтруктураПараметров.СуммаДокумента = "Объект.СуммаВознаграждения";
СтруктураПараметров.КурсЧислитель = "";
СтруктураПараметров.КурсЗнаменатель = "";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежаСПоставщиком";
СтруктураПараметров.БанковскийСчетОрганизации = "Объект.БанковскийСчет";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетовВознаграждение";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыПоВознаграждению";
МассивСтруктур.Добавить(СтруктураПараметров);
#КонецОбласти
Возврат МассивСтруктур;
КонецФункции
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура("Товары");
Возврат ТаблицыДокумента;
КонецФункции
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ОбщегоНазначенияУТКлиентСервер.АвторизованВнешнийПользователь() Тогда
СтандартнаяОбработка = Ложь;
Если ВидФормы = "ФормаОбъекта" Тогда
ВыбраннаяФорма = "ФормаДокументаСамообслуживание";
ИначеЕсли ВидФормы = "ФормаСписка" Тогда
ВыбраннаяФорма = "ФормаСпискаСамообслуживание";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "ОтчетКомиссионера");
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныйПрограммныйИнтерфейс
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос();
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = ПустаяСсылка().Метаданные().ПолноеИмя();
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ПереопределениеРасчетаПараметров = Новый Структура;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ВЗапросеЕстьИсточник = Ложь;
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ОтчетКомиссионера") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ОтчетКомиссионераЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Соглашение КАК Соглашение,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.Услуга КАК Номенклатура,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.Автор КАК Автор,
| ВЫБОР КОГДА ДанныеДокумента.КонецПериода = ДАТАВРЕМЯ(1, 1, 1)
| ИЛИ ДанныеДокумента.КонецПериода > ДанныеДокумента.Дата
| ИЛИ НАЧАЛОПЕРИОДА(ДанныеДокумента.КонецПериода, МЕСЯЦ) < НАЧАЛОПЕРИОДА(ДанныеДокумента.Дата, МЕСЯЦ)
| ТОГДА ДанныеДокумента.Дата
| ИНАЧЕ
| ДанныеДокумента.КонецПериода
| КОНЕЦ КАК КонецПериода,
| ДанныеДокумента.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.УдержатьВознаграждение КАК УдержатьВознаграждение,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторОбъектаРасчетов,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.ОбъектРасчетовВознаграждение КАК ОбъектРасчетовВознаграждение,
| ДанныеДокумента.ОбъектРасчетовВознаграждение.УникальныйИдентификатор КАК ИдентификаторОбъектаРасчетовВознаграждение
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.УстановитьПараметр("КонецПериода", КонецДня(Реквизиты.КонецПериода));
Запрос.УстановитьПараметр("ВалютаВзаиморасчетов", Реквизиты.Валюта);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации", Справочники.НастройкиХозяйственныхОпераций.ОтчетКомиссионера);
Запрос.УстановитьПараметр("ХозяйственнаяОперацияУдержание", Перечисления.ХозяйственныеОперации.УдержаниеВознагражденияКомиссионера);
Запрос.УстановитьПараметр("Договор", Реквизиты.Договор);
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета", ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("ИспользоватьПродажуАгентскихУслуг", ПолучитьФункциональнуюОпцию("ИспользоватьПродажуАгентскихУслуг"));
Запрос.УстановитьПараметр("ОбъектРасчетов", Реквизиты.ОбъектРасчетов);
Запрос.УстановитьПараметр("Комментарий", Реквизиты.Комментарий);
Запрос.УстановитьПараметр("СуммаДокумента", Реквизиты.СуммаДокумента);
Запрос.УстановитьПараметр("Проведен", Реквизиты.Проведен);
Запрос.УстановитьПараметр("ПометкаУдаления", Реквизиты.ПометкаУдаления);
Запрос.УстановитьПараметр("НаименованиеВходящегоДокумента", Реквизиты.НаименованиеВходящегоДокумента);
Запрос.УстановитьПараметр("НомерВходящегоДокумента", Реквизиты.НомерВходящегоДокумента);
Запрос.УстановитьПараметр("ДатаВходящегоДокумента", Реквизиты.ДатаВходящегоДокумента);
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ТипЗнч(ДокументСсылка)));
Запрос.УстановитьПараметр("НоваяАрхитектураВзаиморасчетов", ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов"));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
КонецПроцедуры
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| &Партнер КАК Отправитель,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка) КАК ПомещениеОтправителя,
| Неопределено КАК Получатель,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка) КАК ПомещениеПолучателя,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту) КАК СкладскаяОперация,
| &Ссылка КАК Документ,
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.ОтчетКомиссионера.Серии КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка),
| ТаблицаТовары.Серия,
| ТаблицаТовары.Количество,
| &Партнер,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка),
| Неопределено КАК Склад,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка),
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту),
| &Ссылка,
| &Период,
| &Ссылка,
| ИСТИНА
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Количество <> 0
| И ТаблицаТовары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюОтчетовКомитенту(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюОтчетовКомитенту";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаКомитента КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактуры,
| ТаблицаВидыЗапасов.НомерСчетаФактурыКомиссионера КАК НомерСчетаФактуры,
| ТаблицаВидыЗапасов.Покупатель КАК Покупатель,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.Валюта = &Валюта
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручки,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаВидыЗапасов.ВидЗапасов.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| ТаблицаВидыЗапасов.Количество КАК КоличествоКОформлению,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоКОформлениюПоРНПТ,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.Валюта = &Валюта
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДС * КурсыВалют.КоэффициентПересчета
| КОНЕЦ КАК СуммаВыручкиКОформлению,
| &ИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалют
| ПО ТаблицаВидыЗапасов.Валюта = КурсыВалют.Валюта
|
|ГДЕ
| ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыручкаИСебестоимостьПродаж";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
УстановитьПараметрЗапросаАналитикаУчетаПоПартнерам(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВТРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА &Период
| ИНАЧЕ &КонецПериода КОНЕЦ) КАК Период,
| &Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| КОНЕЦ КАК РазделУчета,
| ТаблицаВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК Стоимость,
|
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СтоимостьБезНДС,
|
| ВЫБОР КОГДА &УправленческийУчетОрганизаций
| И ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар) ТОГДА
| ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫРАЗИТЬ(
| (ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС
| ИНАЧЕ 0
| КОНЕЦ
| + ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА 0
| КОГДА &НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ТОГДА ТаблицаВидыЗапасов.СуммаВознаграждения
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаВознаграждения - ТаблицаВидыЗапасов.СуммаНДСВознаграждения
| КОНЕЦ) * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СтоимостьРегл,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК СуммаВыручки,
|
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК СуммаВыручкиБезНДС,
|
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаСНДС
| -ТаблицаВидыЗапасов.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))) КАК СуммаВыручкиРегл,
|
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаСНДС
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))) КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
|
| 0 КАК РасходыНаПродажуСНДС,
| 0 КАК РасходыНаПродажуБезНДС,
| 0 КАК РасходыНаПродажуРегл,
| 0 КАК РасходыНаПродажуУпр,
|
| &Партнер КАК Склад,
| &Договор КАК Договор,
| &Соглашение КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| ЕСТЬNULL(Суммы.СуммаВзаиморасчетов, ТаблицаВидыЗапасов.СуммаСНДС) КАК СуммаВВалютеВзаиморасчетов,
| ЕСТЬNULL(Суммы.СуммаВзаиморасчетов - Суммы.СуммаНДСВзаиморасчетов, ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
|
| &ОбъектРасчетов КАК ИсточникГФУРасчетов,
|
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = &Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
|ГДЕ
| НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА &Период
| ИНАЧЕ &КонецПериода КОНЕЦ) КАК Период,
| &Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| КОНЕЦ КАК РазделУчета,
| ТаблицаВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьУпр,
| 0 КАК СтоимостьРегл,
| 0 КАК Количество,
| 0 КАК СуммаВыручки,
| 0 КАК СуммаВыручкиБезНДС,
| 0 КАК СуммаВыручкиРегл,
| 0 КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
|
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
|
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаВознаграждения
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуСНДС,
|
| ВЫРАЗИТЬ((ТаблицаВидыЗапасов.СуммаВознаграждения
| - ТаблицаВидыЗапасов.СуммаНДСВознаграждения)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуБезНДС,
|
| ВЫРАЗИТЬ(
| ВЫБОР КОГДА НЕ &ПартионныйУчетВерсии22
| ТОГДА 0
| КОГДА &НалогообложениеНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| ТОГДА ТаблицаВидыЗапасов.СуммаВознаграждения
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаВознаграждения - ТаблицаВидыЗапасов.СуммаНДСВознаграждения
| КОНЕЦ * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуРегл,
|
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| КОГДА &НалогообложениеНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| ТОГДА ТаблицаВидыЗапасов.СуммаВознаграждения
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаВознаграждения - ТаблицаВидыЗапасов.СуммаНДСВознаграждения
| КОНЕЦ * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуУпр,
|
| &Партнер КАК Склад,
| &Договор КАК Договор,
| &Соглашение КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| 0 КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| 0 КАК СуммаВВалютеДокумента,
| 0 КАК СуммаБезНДСВВалютеДокумента,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
|
| &ОбъектРасчетовВознаграждение КАК ИсточникГФУРасчетов,
|
| &ИдентификаторОбъектаРасчетовВознаграждение КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА &Период
| ИНАЧЕ &КонецПериода КОНЕЦ) КАК Период,
| &Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеНаКомиссию)
| КОНЕЦ КАК РазделУчета,
| ТаблицаВидыЗапасов.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьУпр,
| 0 КАК СтоимостьРегл,
| 0 КАК Количество,
| 0 КАК СуммаВыручки,
| 0 КАК СуммаВыручкиБезНДС,
| 0 КАК СуммаВыручкиРегл,
| 0 КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
|
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
|
| 0 КАК РасходыНаПродажуСНДС,
|
| 0 КАК РасходыНаПродажуБезНДС,
|
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаНДСВознаграждения
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуРегл,
|
| ВЫРАЗИТЬ(ТаблицаВидыЗапасов.СуммаНДСВознаграждения
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуУпр,
|
| &Партнер КАК Склад,
| &Договор КАК Договор,
| &Соглашение КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| 0 КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| 0 КАК СуммаВВалютеДокумента,
| 0 КАК СуммаБезНДСВВалютеДокумента,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
|
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ
| ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
|
| &ОбъектРасчетовВознаграждение КАК ИсточникГФУРасчетов,
|
| &ИдентификаторОбъектаРасчетовВознаграждение КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| &ПартионныйУчетВерсии22
| И &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| И &НалогообложениеНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Подразделение КАК Подразделение,
| ТаблицаУслуги.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР
| КОГДА ТаблицаУслуги.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.АгентскаяУслуга)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| КОНЕЦ КАК ТипЗапасов,
|
| ТаблицаУслуги.ВидЗапасов КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ТаблицаУслуги.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПустаяССылка) КОНЕЦ) КАК РазделУчета,
| ТаблицаУслуги.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ТаблицаУслуги.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| ТаблицаУслуги.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ВЫБОР
| КОГДА ТаблицаУслуги.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ВЫРАЗИТЬ(ТаблицаУслуги.СуммаСНДС
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ТаблицаУслуги.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ВЫРАЗИТЬ((ТаблицаУслуги.СуммаСНДС - ТаблицаУслуги.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций И ТаблицаУслуги.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ВЫРАЗИТЬ((ТаблицаУслуги.СуммаСНДС - ТаблицаУслуги.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
|
| ВЫБОР
| КОГДА ТаблицаУслуги.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ВЫРАЗИТЬ((ТаблицаУслуги.СуммаСНДС - ТаблицаУслуги.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
|
| ТаблицаУслуги.Количество КАК Количество,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, ВЫРАЗИТЬ(ТаблицаУслуги.СуммаСНДС
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК СуммаВыручки,
|
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, ВЫРАЗИТЬ((ТаблицаУслуги.СуммаСНДС
| -ТаблицаУслуги.СуммаНДС)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))) КАК СуммаВыручкиБезНДС,
|
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, ВЫРАЗИТЬ((ТаблицаУслуги.СуммаСНДС
| -ТаблицаУслуги.СуммаНДС)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))) КАК СуммаВыручкиРегл,
|
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, ВЫРАЗИТЬ(ТаблицаУслуги.СуммаСНДС
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2))) КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
|
| 0 КАК РасходыНаПродажуСНДС,
| 0 КАК РасходыНаПродажуБезНДС,
| 0 КАК РасходыНаПродажуРегл,
| 0 КАК РасходыНаПродажуУпр,
|
| &Партнер КАК Склад,
| &Договор КАК Договор,
| &Соглашение КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| ЕСТЬNULL(Суммы.СуммаВзаиморасчетов, ТаблицаУслуги.СуммаСНДС) КАК СуммаВВалютеВзаиморасчетов,
| ЕСТЬNULL(Суммы.СуммаВзаиморасчетов - Суммы.СуммаНДСВзаиморасчетов, ТаблицаУслуги.СуммаСНДС - ТаблицаУслуги.СуммаНДС) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаУслуги.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаУслуги.СуммаСНДС - ТаблицаУслуги.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаУслуги.ВидДеятельностиНДС КАК НалогообложениеНДС,
|
| ТаблицаУслуги.Номенклатура КАК ИсточникГФУНоменклатуры,
|
| &ОбъектРасчетов КАК ИсточникГФУРасчетов,
|
| ТаблицаУслуги.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаботыУслуги КАК ТаблицаУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = &Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаУслуги.ИдентификаторСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Подразделение КАК Подразделение,
| ТаблицаУслуги.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР
| КОГДА ТаблицаУслуги.Принципал <> НЕОПРЕДЕЛЕНО
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.АгентскаяУслуга)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| КОНЕЦ КАК ТипЗапасов,
|
| ТаблицаУслуги.ВидЗапасов КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ТаблицаУслуги.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПустаяССылка) КОНЕЦ) КАК РазделУчета,
| ТаблицаУслуги.АналитикаФинансовогоУчета КАК АналитикаФинансовогоУчета,
| ТаблицаУслуги.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| &Менеджер КАК Менеджер,
|
| ТаблицаУслуги.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьУпр,
| 0 КАК СтоимостьРегл,
| 0 КАК Количество,
| 0 КАК СуммаВыручки,
| 0 КАК СуммаВыручкиБезНДС,
| 0 КАК СуммаВыручкиРегл,
| 0 КАК СуммаВыручкиСНДСРегл,
|
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
|
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
|
| ВЫРАЗИТЬ(ТаблицаУслуги.СуммаВознаграждения
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуСНДС,
|
| ВЫРАЗИТЬ((ТаблицаУслуги.СуммаВознаграждения
| - ТаблицаУслуги.СуммаНДСВознаграждения)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуБезНДС,
|
| ВЫРАЗИТЬ((ТаблицаУслуги.СуммаВознаграждения
| - ТаблицаУслуги.СуммаНДСВознаграждения)
| * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК РасходыНаПродажуРегл,
|
| ВЫБОР КОГДА &УправленческийУчетОрганизаций ТОГДА
| ВЫРАЗИТЬ((ТаблицаУслуги.СуммаВознаграждения
| - ТаблицаУслуги.СуммаНДСВознаграждения)
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2))
| ИНАЧЕ
| 0
| КОНЕЦ КАК РасходыНаПродажуУпр,
|
| &Партнер КАК Склад,
| &Договор КАК Договор,
| &Соглашение КАК Соглашение,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| 0 КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| &Валюта КАК ВалютаДокумента,
| 0 КАК СуммаВВалютеДокумента,
| 0 КАК СуммаБезНДСВВалютеДокумента,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаУслуги.ВидДеятельностиНДС КАК НалогообложениеНДС,
|
| ТаблицаУслуги.Номенклатура КАК ИсточникГФУНоменклатуры,
|
| &ОбъектРасчетовВознаграждение КАК ИсточникГФУРасчетов,
|
| &ИдентификаторОбъектаРасчетовВознаграждение КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтРаботыУслуги КАК ТаблицаУслуги
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыПереданныеНаКомиссию";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &КонецПериода КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Партнер,
| &Соглашение КАК Соглашение,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ВЫБОР
| КОГДА &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) >= &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА ТаблицаВидыЗапасов.КоличествоПоРНПТ
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВыручки,
| ТаблицаВидыЗапасов.СуммаВознаграждения КАК СуммаВознаграждения,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &НалогообложениеНДС КАК НалогообложениеНДС
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| НЕ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера)
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""ТоварыРаботыУслуги"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаПродажи - ТаблицаДокумента.СуммаПродажиНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаПродажиНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаПродажи КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаПродажиНДС КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионера КАК ДанныеШапкиДокумента
| ПО ТаблицаДокумента.Ссылка = ДанныеШапкиДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаДокумента.Номенклатура = ДанныеНоменклатуры.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаЗапасов
| ПО ТаблицаДокумента.Ссылка = ТаблицаЗапасов.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры = ТаблицаЗапасов.АналитикаУчетаНоменклатуры
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаЗапасов.Ссылка ЕСТЬ NULL
| И ТаблицаДокумента.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ТоварыРаботыУслуги"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаСНДС КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Вознаграждение"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| 0 КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаВознаграждения - ТаблицаДокумента.СуммаНДСВознаграждения КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДСВознаграждения КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДСВознаграждения КАК СуммаНДС,
| ТаблицаДокумента.СуммаВознаграждения КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДСВознаграждения КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ОтчетКомиссионера КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.СуммаВознаграждения <> 0
|";
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаУслугиКОформлениюОтчетовПринципалу(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "УслугиКОформлениюОтчетовПринципалу";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КОформлению.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| КОформлению.АналитикаНоменклатурыПринципала КАК АналитикаУчетаНоменклатуры,
| КОформлению.Соглашение КАК Соглашение,
| КОформлению.Валюта КАК Валюта,
| КОформлению.Количество КАК Количество,
| КОформлению.СуммаСНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаВыручки,
| КОформлению.СуммаНДС
| * КурсыВалют.КоэффициентПересчета КАК СуммаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА КОформлению.СуммаСНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(КОформлению.Соглашение.ПереоцениватьУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА КОформлению.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВыручкиУпр,
| КОформлению.ДатаСчетаФактуры КАК ДатаСчетаФактуры,
| КОформлению.Покупатель КАК Покупатель,
|
| КОформлению.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| КОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтРаботыУслуги КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалют
| ПО КОформлению.Валюта = КурсыВалют.Валюта
|ГДЕ
| КОформлению.Принципал <> НЕОПРЕДЕЛЕНО
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентКонтрагент(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентКонтрагент";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.УдержаниеВознагражденияКомиссионера) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
|
| &Партнер КАК КорПартнер,
| &Контрагент КАК КорКонтрагент,
| &Договор КАК КорДоговор,
| ДанныеДокумента.ОбъектРасчетовВознаграждение КАК КорОбъектРасчетов,
| &НаправлениеДеятельности КАК КорНаправлениеДеятельности,
|
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаВознаграждения * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма,
| ВЫРАЗИТЬ((ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения) * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
|
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаВознаграждения * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ДанныеДокумента.СуммаВознаграждения КАК СуммаВВалюте,
| ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения КАК СуммаБезНДСВВалюте,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаВознаграждения КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ОбъектРасчетовВознаграждение КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ОбъектРасчетов КАК КорИсточникГФУРасчетов,
| ДанныеДокумента.ОбъектРасчетовВознаграждение.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.СуммаВознаграждения <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионераКомиссия) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ДанныеДокумента.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ДанныеДокумента.СтатьяРасходов КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
|
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаВознаграждения * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма,
| ВЫРАЗИТЬ((ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения) * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК СуммаБезНДС,
|
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаВознаграждения * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ДанныеДокумента.СуммаВознаграждения КАК СуммаВВалюте,
| ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения КАК СуммаБезНДСВВалюте,
|
| &Валюта КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.СуммаВознаграждения КАК СуммаВВалютеВзаиморасчетов,
| ДанныеДокумента.СуммаВознаграждения - ДанныеДокумента.СуммаНДСВознаграждения КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ОбъектРасчетовВознаграждение КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ОбъектРасчетовВознаграждение.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ДанныеДокумента.СуммаВознаграждения <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаботыУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВТРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаУслуги.Номенклатура,
| ТаблицаУслуги.Характеристика,
| ТаблицаУслуги.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаУслуги.Количество КАК Количество,
| &НалогообложениеНДС КАК НалогообложениеНДС
|ИЗ
| ВтРаботыУслуги КАК ТаблицаУслуги
|ГДЕ
| ТаблицаУслуги.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаУслуги.Принципал = НЕОПРЕДЕЛЕНО
| И НЕ ТаблицаУслуги.ПрослеживаемыйТовар
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаВидыЗапасов";
УстановитьПараметрЗапросаТипыНалогообложенияНДСОблагаемые(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта КАК Валюта,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ТаблицаВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ТаблицаВидыЗапасов.СуммаВознаграждения КАК СуммаВознаграждения,
| ТаблицаВидыЗапасов.СуммаНДСВознаграждения КАК СуммаНДСВознаграждения,
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ТаблицаВидыЗапасов.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактурыКомиссионера,
| ТаблицаВидыЗапасов.НомерСчетаФактурыКомиссионера КАК НомерСчетаФактурыКомиссионера,
| ТаблицаВидыЗапасов.Покупатель КАК Покупатель,
| ТаблицаВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации КАК РеализацияЗапасовДругойОрганизации,
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца КАК ВидЗапасовВладельца,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| КлючиКомитента.КлючАналитики КАК АналитикаКомитента,
| КлючиСубКомитента.КлючАналитики КАК АналитикаСубКомитента,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (&ТипыНалогообложенияНДСОблагаемые)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ ЭтоПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасов
|ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиКомитента
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = КлючиКомитента.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = КлючиКомитента.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение = КлючиКомитента.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиКомитента.Серия
| И ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара = КлючиКомитента.МестоХранения
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиСубКомитента
| ПО
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = КлючиСубКомитента.Номенклатура
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = КлючиСубКомитента.Характеристика
| И ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение = КлючиСубКомитента.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиСубКомитента.Серия
| И ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ВладелецТовара = КлючиСубКомитента.МестоХранения
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТаблицаВидыЗапасов.Ссылка = Суммы.Ссылка
| И ТаблицаВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтАгентскиеУслуги(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтАгентскиеУслуги";
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР КОГДА НЕ Услуги.Ссылка ЕСТЬ NULL
| ТОГДА Услуги.Ссылка
| КОГДА НЕ Соглашение.Ссылка ЕСТЬ NULL
| ТОГДА Соглашение.Ссылка
| КОГДА НЕ УслугиСоглашениеЗакрытое.Ссылка ЕСТЬ NULL
| ТОГДА УслугиСоглашениеЗакрытое.Ссылка
| ИНАЧЕ ЕСТЬNULL(СоглашениеЗакрытое.Ссылка, НЕОПРЕДЕЛЕНО)
| КОНЕЦ КАК Соглашение,
| ВЫБОР КОГДА НЕ Услуги.Ссылка ЕСТЬ NULL
| ТОГДА Услуги.Ссылка.Валюта
| КОГДА НЕ Соглашение.Ссылка ЕСТЬ NULL
| ТОГДА Соглашение.Валюта
| КОГДА НЕ УслугиСоглашениеЗакрытое.Ссылка ЕСТЬ NULL
| ТОГДА УслугиСоглашениеЗакрытое.Ссылка.Валюта
| ИНАЧЕ ЕСТЬNULL(СоглашениеЗакрытое.Валюта, &Валюта)
| КОНЕЦ КАК Валюта,
| КОформлению.Номенклатура КАК Номенклатура,
| КОформлению.Характеристика КАК Характеристика,
| ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) КАК Принципал
|ПОМЕСТИТЬ ВтАгентскиеУслуги
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК КОформлению
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками КАК Соглашение
| ПО Соглашение.Партнер = ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал)
| И Соглашение.Организация = &Организация
| И Соглашение.ХозяйственнаяОперация
| = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг)
| И Соглашение.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Действует)
| И (&Период >= Соглашение.ДатаНачалаДействия
| И (&Период <= Соглашение.ДатаОкончанияДействия
| ИЛИ Соглашение.ДатаОкончанияДействия = ДАТАВРЕМЯ(1,1,1))
| )
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками.АгентскиеУслуги КАК Услуги
| ПО Соглашение.Ссылка = Услуги.Ссылка
| И КОформлению.Номенклатура = Услуги.Номенклатура
| И КОформлению.Характеристика = Услуги.Характеристика
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками КАК СоглашениеЗакрытое
| ПО СоглашениеЗакрытое.Партнер = ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал)
| И СоглашениеЗакрытое.Организация = &Организация
| И СоглашениеЗакрытое.ХозяйственнаяОперация
| = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОказаниеАгентскихУслуг)
| И СоглашениеЗакрытое.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСПоставщиками.Закрыто)
| И (&Период >= СоглашениеЗакрытое.ДатаНачалаДействия
| И (&Период <= СоглашениеЗакрытое.ДатаОкончанияДействия
| ИЛИ СоглашениеЗакрытое.ДатаОкончанияДействия = ДАТАВРЕМЯ(1,1,1))
| )
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СоглашенияСПоставщиками.АгентскиеУслуги КАК УслугиСоглашениеЗакрытое
| ПО СоглашениеЗакрытое.Ссылка = УслугиСоглашениеЗакрытое.Ссылка
| И КОформлению.Номенклатура = УслугиСоглашениеЗакрытое.Номенклатура
| И КОформлению.Характеристика = УслугиСоглашениеЗакрытое.Характеристика
|ГДЕ
| КОформлению.Ссылка = &Ссылка
| И КОформлению.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> &Организация
| И ЕСТЬNULL(КОформлению.Характеристика.Принципал, КОформлению.Номенклатура.Принципал) <> НЕОПРЕДЕЛЕНО
| И &ИспользоватьПродажуАгентскихУслуг
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтКурсыВалют";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтАгентскиеУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтАгентскиеУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КурсыВалют.Валюта КАК Валюта,
|
| (КурсВалютыДокумента.КурсЧислитель * КурсыВалют.КурсЗнаменатель)
| / (КурсВалютыДокумента.КурсЗнаменатель * КурсыВалют.КурсЧислитель) КАК КоэффициентПересчета
|
|ПОМЕСТИТЬ ВтКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период,
| Валюта В (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.ВидЗапасов.Валюта КАК Валюта
| ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.Валюта КАК Валюта
| ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Услуги.Валюта КАК Валюта
| ИЗ
| ВтАгентскиеУслуги КАК Услуги
| )
| И БазоваяВалюта = &ВалютаРегламентированногоУчета
| ) КАК КурсыВалют
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(&Период,
| Валюта = &Валюта И БазоваяВалюта = &ВалютаРегламентированногоУчета) КАК КурсВалютыДокумента
| ПО
| ИСТИНА
|
|ГДЕ
| КурсВалютыДокумента.КурсЗнаменатель <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРаботыУслуги(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтРаботыУслуги";
УстановитьПараметрЗапросаТипыНалогообложенияНДСОблагаемые(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтАгентскиеУслуги", ТекстыЗапроса) Тогда
ТекстЗапросаВтАгентскиеУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| КлючиАналитики.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| КлючиПринципала.КлючАналитики КАК АналитикаУчетаПринципала,
| СпрНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| СпрНоменклатура.ПрослеживаемыйТовар КАК ПрослеживаемыйТовар,
| ТаблицаУслуги.Номенклатура КАК Номенклатура,
| ТаблицаУслуги.Характеристика КАК Характеристика,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
|
| ТаблицаУслуги.Количество КАК Количество,
| ТаблицаУслуги.СуммаПродажи КАК СуммаСНДС,
| ТаблицаУслуги.СуммаПродажиНДС КАК СуммаНДС,
| ТаблицаУслуги.СуммаВознаграждения КАК СуммаВознаграждения,
| ТаблицаУслуги.СуммаНДСВознаграждения КАК СуммаНДСВознаграждения,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
|
| АгентскиеУслуги.Соглашение КАК Соглашение,
| АгентскиеУслуги.Валюта КАК Валюта,
| ЕСТЬNULL(КлючиПринципала.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаНоменклатурыПринципала,
| ТаблицаУслуги.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактуры,
| ТаблицаУслуги.Покупатель КАК Покупатель,
| ЕСТЬNULL(АгентскиеУслуги.Принципал, НЕОПРЕДЕЛЕНО) КАК Принципал,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА ТаблицаУслуги.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (&ТипыНалогообложенияНДСОблагаемые)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК ВидДеятельностиНДС,
| ТаблицаУслуги.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтРаботыУслуги
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК ТаблицаУслуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиАналитики
| ПО ТаблицаУслуги.Номенклатура = КлючиАналитики.Номенклатура
| И ТаблицаУслуги.Характеристика = КлючиАналитики.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = КлючиАналитики.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиАналитики.Серия
| И &Подразделение = КлючиАналитики.МестоХранения
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = ТаблицаУслуги.Номенклатура
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтАгентскиеУслуги КАК АгентскиеУслуги
| ПО ТаблицаУслуги.Номенклатура = АгентскиеУслуги.Номенклатура
| И ТаблицаУслуги.Характеристика = АгентскиеУслуги.Характеристика
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиПринципала
| ПО КлючиПринципала.Номенклатура = АгентскиеУслуги.Номенклатура
| И КлючиПринципала.Характеристика = АгентскиеУслуги.Характеристика
| И КлючиПринципала.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| И КлючиПринципала.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| И КлючиПринципала.МестоХранения = АгентскиеУслуги.Принципал
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТаблицаУслуги.Ссылка = Суммы.Ссылка
| И ТаблицаУслуги.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаУслуги.Ссылка = &Ссылка
| И СпрНоменклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
| И ТаблицаУслуги.АналитикаУчетаНоменклатуры НЕ В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВидыЗапасов.АналитикаУчетаНоменклатуры
| ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ВидыЗапасов
| ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| КлючиАналитики.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПринципала,
| СпрНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| СпрНоменклатура.ПрослеживаемыйТовар КАК ПрослеживаемыйТовар,
| Аналитика.Номенклатура КАК Номенклатура,
| Аналитика.Характеристика КАК Характеристика,
| ТаблицаУслуги.ВидЗапасов КАК ВидЗапасов,
|
| ТаблицаУслуги.Количество КАК Количество,
| ТаблицаУслуги.СуммаСНДС КАК СуммаСНДС,
| ТаблицаУслуги.СуммаНДС КАК СуммаНДС,
| ТаблицаУслуги.СуммаВознаграждения КАК СуммаВознаграждения,
| ТаблицаУслуги.СуммаНДСВознаграждения КАК СуммаНДСВознаграждения,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
|
| НЕОПРЕДЕЛЕНО КАК Соглашение,
| НЕОПРЕДЕЛЕНО КАК Валюта,
| НЕОПРЕДЕЛЕНО КАК АналитикаНоменклатурыПринципала,
| ТаблицаУслуги.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактуры,
| ТаблицаУслуги.Покупатель КАК Покупатель,
| НЕОПРЕДЕЛЕНО КАК Принципал,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| (ВЫБОР
| КОГДА ТаблицаУслуги.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| И &НалогообложениеНДС В (&ТипыНалогообложенияНДСОблагаемые)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ &НалогообложениеНДС
| КОНЕЦ) КАК ВидДеятельностиНДС,
| ТаблицаУслуги.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаУслуги.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиАналитики
| ПО Аналитика.Номенклатура = КлючиАналитики.Номенклатура
| И Аналитика.Характеристика = КлючиАналитики.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = КлючиАналитики.Назначение
| И ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) = КлючиАналитики.Серия
| И &Подразделение = КлючиАналитики.МестоХранения
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО Аналитика.Номенклатура = СпрНоменклатура.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТаблицаУслуги.Ссылка = Суммы.Ссылка
| И ТаблицаУслуги.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаУслуги.Ссылка = &Ссылка
| И СпрНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрЗапросаТипыНалогообложенияНДСОблагаемые(Запрос) Экспорт
Если Запрос.Параметры.Свойство("ТипыНалогообложенияНДСОблагаемые") Тогда
Возврат;
КонецЕсли;
Запрос.УстановитьПараметр("ТипыНалогообложенияНДСОблагаемые", УчетНДСУП.ВидыДеятельностиНДСПринимаетсяКВозмещению());
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос) Экспорт
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУПР")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.Валюта,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУПР", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Процедура УстановитьПараметрЗапросаАналитикаУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("АналитикаУчетаПоПартнерам") Тогда
Возврат;
КонецЕсли;
Запрос.УстановитьПараметр("АналитикаУчетаПоПартнерам", РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(Запрос.Параметры));
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Склад КАК Склад
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| &Серия КАК Серия,
| ТаблицаВидыЗапасов.ВидЗапасов.ВладелецТовара КАК Склад
| ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Услуги.Номенклатура КАК Номенклатура,
| Услуги.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| &Серия КАК Серия,
| ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) КАК Склад
| ИЗ
| Документ.ОтчетКомиссионера.Товары КАК Услуги
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Услуги.Номенклатура = Аналитика.Номенклатура
| И Услуги.Характеристика = Аналитика.Характеристика
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика.Назначение
| И &Серия = Аналитика.Серия
| И ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) = Аналитика.МестоХранения
| ГДЕ
| Услуги.Ссылка = &Ссылка
| И ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) <> НЕОПРЕДЕЛЕНО
| И ЕСТЬNULL(Услуги.Характеристика.Принципал, Услуги.Номенклатура.Принципал) <> &Организация
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И Услуги.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| &Серия КАК Серия,
| &Подразделение КАК Склад
| ИЗ
| Документ.ОтчетКомиссионера.Товары КАК Товары
| ГДЕ
| Товары.Ссылка = &Ссылка
| И Товары.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| )
|) КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО
| ТаблицаТовары.Номенклатура = Аналитика.Номенклатура
| И ТаблицаТовары.Характеристика = Аналитика.Характеристика
| И ТаблицаТовары.Назначение = Аналитика.Назначение
| И ТаблицаТовары.Серия = Аналитика.Серия
| И ТаблицаТовары.Склад = Аналитика.МестоХранения
|ГДЕ
| Аналитика.Номенклатура ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Склад
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("Серия", Справочники.СерииНоменклатуры.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("Подразделение", Запрос.Параметры.Подразделение);
ЗапросАналитик.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка)
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.Склад КАК Склад,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.Количество > 0
| И (ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
| Или &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера))
|
| ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.РеализацияЗапасовДругойОрганизации
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов.ВидЗапасовВладельца
| ИНАЧЕ ТаблицаВидыЗапасов.ВидЗапасов
| КОНЕЦ КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.Склад КАК Склад,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация
|ИЗ
| ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.Количество < 0
| И (ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
| Или &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияЧерезКомиссионера))";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("АналитикаУчетаПоПартнерам");
Если Запрос <> Неопределено Тогда
УстановитьПараметрЗапросаАналитикаУчетаПоПартнерам(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтТаблицаВидыЗапасов");
ДополнительныеТаблицы.Добавить("ВтРаботыУслуги");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВТРаботыУслуги(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область Реализация_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА &Период
| ИНАЧЕ &КонецПериода КОНЕЦ) КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетКомиссионера КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасов КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар))";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
#Область Реализация_Работа
ТекстЗапроса =
"ВЫБРАТЬ
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 ТОГДА &Период
| ИНАЧЕ &КонецПериода КОНЕЦ) КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаУслуги.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаУслуги.ВидЗапасов КАК ВидЗапасов,
| ТаблицаУслуги.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаУслуги.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаПартий,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаУслуги.Количество КАК Количество,
| ТаблицаУслуги.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ТаблицаУслуги.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетКомиссионера КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаботыУслуги КАК ТаблицаУслуги
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаУслуги.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаУслуги.Принципал = НЕОПРЕДЕЛЕНО
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
Функция ОписаниеОперацийУчетаВыручки(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область Реализация
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА &АктПоЗаказам ТОГДА
| ТаблицаВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.Ссылка
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ОтчетКомиссионера КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаботыУслуги КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#Конецобласти
КонецФункции
#КонецОбласти
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "ХозяйственнаяОперация,Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
НоваяКомиссия = ?(Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияЧерезКомиссионера,
Истина, Ложь);
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ОтчетКомиссионера";
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = НоваяКомиссия;
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = НоваяКомиссия;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ОтгрузкаКлиенту);
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ПараметрыУказанияСерий.ПланированиеОтбора = Истина;
ПараметрыУказанияСерий.ФактОтбора = Истина;
ПараметрыУказанияСерий.ИмяПоляСклад = Неопределено;
ПараметрыУказанияСерий.ИменаПолейСтатусУказанияСерий.Добавить("СтатусУказанияСерий");
ПараметрыУказанияСерий.РегистрироватьСерии = НоменклатураКлиентСервер.НеобходимоРегистрироватьСерии(
ПараметрыУказанияСерий);
ПараметрыУказанияСерий.ОперацияДокумента = Объект.ХозяйственнаяОперация;
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия КАК Серия,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.Количество КАК Количество
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия КАК Серия,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры,
| СУММА(Товары.Количество) КАК Количество
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Серия,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура КАК Номенклатура,
| Серии.Характеристика КАК Характеристика,
| Серии.Количество КАК Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура КАК Номенклатура,
| Серии.Характеристика КАК Характеристика,
| СУММА(Серии.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК Серии
|
|СГРУППИРОВАТЬ ПО
| Серии.Номенклатура,
| Серии.Характеристика
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВПереданныхНаКомиссиюТоваров
| ТОГДА
| ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО ТоварыДляЗапроса.Номенклатура = СерииДляЗапроса.Номенклатура
| И ТоварыДляЗапроса.Характеристика = СерииДляЗапроса.Характеристика
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ПО ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
ТекстТовары =
"ВЫБРАТЬ
| ТаблицаВидыЗапасов.Ссылка.Дата КАК Период,
| ТаблицаВидыЗапасов.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.Ссылка.Организация КАК Организация,
| ТаблицаВидыЗапасов.Ссылка.Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.Ссылка.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.Ссылка.Договор КАК Договор,
| ТаблицаВидыЗапасов.Ссылка.Грузоотправитель КАК Грузоотправитель,
| ТаблицаВидыЗапасов.Ссылка КАК ОтчетКомиссионера,
| ТаблицаВидыЗапасов.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ТаблицаВидыЗапасов.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактурыКомиссионера,
| ТаблицаВидыЗапасов.НомерСчетаФактурыКомиссионера КАК НомерСчетаФактурыКомиссионера,
| ТаблицаВидыЗапасов.Покупатель КАК ПокупательКомиссионногоТовара,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК ИсправлениеОшибок,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаВидыЗапасов.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| Документ.ОтчетКомиссионера.ВидыЗапасов КАК ТаблицаВидыЗапасов
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Товары.Ссылка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| Товары.Ссылка.Организация КАК Организация,
| Товары.Ссылка.Подразделение КАК Подразделение,
| Товары.Ссылка.Контрагент КАК Контрагент,
| Товары.Ссылка.Договор КАК Договор,
| Товары.Ссылка.Грузоотправитель КАК Грузоотправитель,
| Товары.Ссылка КАК ОтчетКомиссионера,
| Товары.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| Товары.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| Товары.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактурыКомиссионера,
| Товары.НомерСчетаФактурыКомиссионера КАК НомерСчетаФактурыКомиссионера,
| Товары.Покупатель КАК ПокупательКомиссионногоТовара,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Товары.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК ИсправлениеОшибок,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| Товары.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК Товары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО Товары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионера.ВидыЗапасов КАК ВидыЗапасов
| ПО Товары.Ссылка = ВидыЗапасов.Ссылка
| И Товары.АналитикаУчетаНоменклатуры = ВидыЗапасов.АналитикаУчетаНоменклатуры
|
|ГДЕ
| Товары.Ссылка В (&Ссылка)
| И Товары.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И ВидыЗапасов.Ссылка ЕСТЬ NULL
|";
УчетНДСУП.ОтразитьОтчетКомиссионера(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
ТекстВознаграждение =
"ВЫБРАТЬ
| ОтчетКомиссионера.Дата КАК Период,
| ОтчетКомиссионера.Ссылка КАК Ссылка,
| ОтчетКомиссионера.Организация КАК Организация,
| ОтчетКомиссионера.Подразделение КАК Подразделение,
| ОтчетКомиссионера.Контрагент КАК Контрагент,
| ОтчетКомиссионера.Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| ОтчетКомиссионера.Ссылка КАК ДокументПриобретения,
| ОтчетКомиссионера.Ссылка КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ЛОЖЬ КАК КорректировкаПоСогласованиюСторон,
| ЛОЖЬ КАК УменьшитьСуммуНДСКВычету,
| НЕОПРЕДЕЛЕНО КАК ДокументКорректировкиПриобретения,
| ВЫБОР КОГДА СтавкаНДСВознаграждения = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС)
| КОНЕЦ КАК НалогообложениеНДС,
| ОтчетКомиссионера.НалогообложениеНДС КАК ВидДеятельностиНДС,
|
| ОтчетКомиссионера.Услуга КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| ОтчетКомиссионера.СтавкаНДСВознаграждения КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
|
| ОтчетКомиссионера.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПриобретениеНаПартиюПроизводства,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиПартииПроизводства,
| НЕОПРЕДЕЛЕНО КАК СписатьНаРасходы,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК Назначение,
| ОтчетКомиссионера.Подразделение КАК ПодразделениеУчета,
| """" КАК ИдентификаторСтроки,
| &ИдентификаторОбъектаРасчетовВознаграждение КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетКомиссионера КАК ОтчетКомиссионера
|ГДЕ
| ОтчетКомиссионера.Ссылка В (&Ссылка)
|";
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстВознаграждение);
КонецПроцедуры
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетКомиссионера.РасшифровкаПлатежаСКлиентом КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионера КАК ДанныеДокументаШапка
| ПО Таблица.ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.Валюта КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ОтчетКомиссионера.РасшифровкаПлатежаСПоставщиком КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионера КАК ДанныеДокументаШапка
| ПО Таблица.ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область ОтчетПоКомиссии
ТекстПродажа = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| Неопределено КАК ЗаказПродажи,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.СуммаПлатежа КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| Таблица.СуммаПлатежа КАК Сумма,
|
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитСдвиг) КАК ВариантОплаты,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетКомиссионера.ЭтапыГрафикаОплаты КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаПлатежа > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.Дата КАК ДатаПлатежа,
| Неопределено КАК ЗаказПродажи,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.СуммаПродажи КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
| Таблица.СуммаПродажи КАК Сумма,
|
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитСдвиг) КАК ВариантОплаты,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаПродажи < 0";
ТекстПланированиеОплат = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| Неопределено КАК ФормаОплаты,
|
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитСдвиг) КАК ВариантОплаты,
| Таблица.СуммаПлатежа КАК КОплате,
|
| ИСТИНА КАК ИсключатьПриКонтроле,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Неопределено КАК ЗаказПродажи,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК СвязанныйДокумент
|
|ИЗ
| Документ.ОтчетКомиссионера.ЭтапыГрафикаОплаты КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаПлатежа > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| Неопределено КАК ФормаОплаты,
|
| Таблица.Ссылка.Дата КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(Перечисление.ВариантыКонтроляОплатыКлиентом.КредитСдвиг) КАК ВариантОплаты,
| Таблица.СуммаПродажи КАК КОплате,
|
| ИСТИНА КАК ИсключатьПриКонтроле,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Неопределено КАК ЗаказПродажи,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК СвязанныйДокумент
|
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаПродажи < 0";
ТекстЗачетАванса = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
|
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Сумма КАК Сумма,
|
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация
|
|ИЗ
| Документ.ОтчетКомиссионера.РасшифровкаПлатежаСКлиентом КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|";
ВзаиморасчетыСервер.ПроведениеПродажи(Запрос, ТекстыЗапроса, Регистры, ТекстПродажа, ТекстПланированиеОплат, ТекстЗачетАванса);
#КонецОбласти
#Область УдержаниеКомиссии
Если ПолучитьФункциональнуюОпцию("НоваяАрхитектураВзаиморасчетов") Тогда
ТекстОбязательстваКлиента =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
|
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
|
| Таблица.СуммаВознаграждения КАК Сумма,
| Таблица.СуммаВознаграждения КАК СуммаВзаиморасчетов,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
|
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК СчетНаОплату,
| Неопределено КАК ФормаОплаты,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент,
|
| Таблица.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.УдержаниеВознагражденияКомиссионера) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.УдержаниеВознагражденияКомиссионера) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетКомиссионера КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаВознаграждения <> 0
| И Таблица.УдержатьВознаграждение";
ТекстОбязательстваПоставщику =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
|
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
|
| Таблица.СуммаВознаграждения КАК Сумма,
| Таблица.СуммаВознаграждения КАК СуммаВзаиморасчетов,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
|
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| Неопределено КАК ФормаОплаты,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент,
|
| Таблица.ИдентификаторДокумента КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.УдержаниеВознагражденияКомиссионера) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.УдержаниеВознагражденияКомиссионера) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетКомиссионера КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаВознаграждения <> 0
| И Таблица.УдержатьВознаграждение";
ВзаиморасчетыСервер.ПроведениеЗачетаВстречнойЗадолженности(Запрос, ТекстыЗапроса, Регистры, ТекстОбязательстваКлиента, ТекстОбязательстваПоставщику);
Иначе
ТекстОплата =
"ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
|
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
|
| Таблица.СуммаВознаграждения КАК СуммаВзаиморасчетов,
| Таблица.СуммаВознаграждения КАК Сумма,
| 0 КАК УвеличениеОплачивается,
| 0 КАК УменьшениеОплачивается,
|
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Дата КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.УдержаниеВознагражденияКомиссионера) КАК ХозяйственнаяОперация,
| Неопределено КАК ФормаОплаты,
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК СчетНаОплату,
| Таблица.Валюта КАК ВалютаДокумента,
| Неопределено КАК СвязанныйДокумент,
| Таблица.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.УдержаниеВознагражденияКомиссионера) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетКомиссионера КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаВознаграждения <> 0
| И Таблица.УдержатьВознаграждение";
ВзаиморасчетыСервер.ПроведениеОплатыОтКлиента(Запрос, ТекстыЗапроса, Регистры, ТекстОплата, "2");
КонецЕсли;
#КонецОбласти
#Область НеУдержаниеКомиссии
ТекстЗакупка = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Неопределено КАК ЗаказЗакупки,
| Таблица.СуммаВознаграждения КАК Сумма,
| Таблица.СуммаВознаграждения КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
|
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА &НоваяАрхитектураВзаиморасчетов И Таблица.УдержатьВознаграждение
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионераКомиссия)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ОтчетКомиссионераКомиссия) КАК НастройкаХозяйственнойОперации,
| Неопределено КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетКомиссионера КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И (&НоваяАрхитектураВзаиморасчетов И Таблица.УдержатьВознаграждение И Таблица.Ссылка.СуммаВознаграждения <> 0
| ИЛИ НЕ Таблица.УдержатьВознаграждение И Таблица.Ссылка.СуммаВознаграждения > 0)
|";
ТекстПланОплаты = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
| Таблица.ДатаПлатежа КАК ДатаПлатежа,
|
| Таблица.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
|
| Таблица.ПорядокРасчетов КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК ЗаказЗакупки,
| Таблица.СуммаВознаграждения КАК КОплате,
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| ВЫБОР КОГДА &НоваяАрхитектураВзаиморасчетов И Таблица.УдержатьВознаграждение
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионераКомиссия)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера)
| КОНЕЦ КАК ХозяйственнаяОперация,
| Неопределено КАК ФормаОплаты,
| Таблица.Валюта КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ОтчетКомиссионера КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И (&НоваяАрхитектураВзаиморасчетов И Таблица.УдержатьВознаграждение И Таблица.Ссылка.СуммаВознаграждения <> 0
| ИЛИ НЕ Таблица.УдержатьВознаграждение И Таблица.Ссылка.СуммаВознаграждения > 0)
|";
ТекстЗачетАванса = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
| Таблица.Ссылка.ОбъектРасчетовВознаграждение КАК ОбъектРасчетовПриемник,
|
| Таблица.Ссылка.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Сумма КАК Сумма,
|
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация
|
|ИЗ
| Документ.ОтчетКомиссионера.РасшифровкаПлатежаСПоставщиком КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И (НЕ Таблица.Ссылка.УдержатьВознаграждение И Таблица.Ссылка.СуммаВознаграждения > 0 ИЛИ &НоваяАрхитектураВзаиморасчетов)
| И Таблица.Ссылка.СуммаВознаграждения <> 0
|";
ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты, ТекстЗачетАванса);
ТекстОплата = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Организация КАК Организация,
| Таблица.Партнер КАК Партнер,
| Таблица.Дата КАК ДатаРегистратора,
| Таблица.Номер КАК НомерРегистратора,
|
| Таблица.Валюта КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетовВознаграждение КАК ОбъектРасчетов,
|
| -Таблица.СуммаВознаграждения КАК Сумма,
| -Таблица.СуммаВознаграждения КАК СуммаВзаиморасчетов,
| 0 КАК УменьшениеОплачивается,
| 0 КАК УвеличениеОплачивается,
| 0 КАК СуммаУпр,
| 0 КАК СуммаРегл,
|
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| Неопределено КАК ФормаОплаты,
| Таблица.Валюта КАК ВалютаДокумента,
| Таблица.Дата КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Неопределено КАК СвязанныйДокумент,
|
| Таблица.ОбъектРасчетовВознаграждение.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОтчетКомиссионера) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ОтчетКомиссионера КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И НЕ Таблица.УдержатьВознаграждение
| И Таблица.СуммаВознаграждения < 0";
ВзаиморасчетыСервер.ПроведениеОплатыПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстОплата,"2");
#КонецОбласти
КонецПроцедуры
Функция ТекстЗапросаТоварыПереданные() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.НомерГТД КАК НомерГТД,
| Товары.Серия КАК Серия,
| Товары.Количество КАК Количество
|
|ПОМЕСТИТЬ ВтТовары
|ИЗ
| &Товары КАК Товары
|;
|
|ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.НомерГТД КАК НомерГТД,
| Товары.Серия КАК Серия,
| СУММА(Товары.Количество) КАК Количество
|
|ПОМЕСТИТЬ Товары
|ИЗ
| ВтТовары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.НомерГТД,
| Товары.Серия
|;
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КлючиАналитики.Ссылка КАК Ссылка
|ПОМЕСТИТЬ КлючиАналитики
|ИЗ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитики
|ГДЕ
| КлючиАналитики.МестоХранения = &Договор
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыПереданные.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА &КомиссионерНеВедетУчетПоРНПТ
| ИЛИ НЕ ЕСТЬNULL(ТоварыПереданные.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| ИНАЧЕ ТоварыПереданные.НомерГТД
| КОНЕЦ КАК НомерГТД,
| ЕСТЬNULL(ВидыЗапасов.ТипЗапасов,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ПустаяСсылка)) КАК ТипЗапасов,
| ТоварыПереданные.КоличествоОстаток КАК КоличествоОстаток
|ПОМЕСТИТЬ ТоварыПереданные
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(&Период,
| АналитикаУчетаНоменклатуры В
| (ВЫБРАТЬ
| КлючиАналитики.Ссылка
| ИЗ
| КлючиАналитики КАК КлючиАналитики)
| И Организация = &Организация) КАК ТоварыПереданные
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасов
| ПО (ТоварыПереданные.ВидЗапасов = ВидыЗапасов.Ссылка)
|
|ГДЕ
| ТоварыПереданные.КоличествоОстаток > 0
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЕСТЬNULL(КлючиАналитики.Номенклатура,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура,
| ЕСТЬNULL(КлючиАналитики.Характеристика,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика,
| ЕСТЬNULL(КлючиАналитики.Серия,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)) КАК Серия,
| ТоварыПереданные.НомерГТД КАК НомерГТД,
| ТоварыПереданные.НомерГТД.СтранаПроисхождения КАК СтранаПроисхождения,
| СУММА(ТоварыПереданные.КоличествоОстаток) КАК КоличествоОстаток
|ПОМЕСТИТЬ ТоварыПереданныеОстатки
|ИЗ
| ТоварыПереданные КАК ТоварыПереданные
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючиАналитики
| ПО ТоварыПереданные.АналитикаУчетаНоменклатуры = КлючиАналитики.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Товары
| ПО КлючиАналитики.Номенклатура = Товары.Ссылка
|
|ГДЕ
| (НЕ &ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНедостачЗаСчетПоклажедателя),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СписаниеНедостачЗаСчетКомитента))
| ИЛИ НЕ ТоварыПереданные.ТипЗапасов В (ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)))
|
|СГРУППИРОВАТЬ ПО
| ЕСТЬNULL(КлючиАналитики.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)),
| ЕСТЬNULL(КлючиАналитики.Характеристика, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)),
| ВЫБОР
| КОГДА Товары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИНАЧЕ КлючиАналитики.Назначение
| КОНЕЦ,
| ЕСТЬNULL(КлючиАналитики.Серия, ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)),
| ТоварыПереданные.НомерГТД
|;
|
|
|ВЫБРАТЬ
| ТоварыПереданныеОстатки.Номенклатура КАК Номенклатура,
| ТоварыПереданныеОстатки.Характеристика КАК Характеристика,
| ТоварыПереданныеОстатки.Серия КАК Серия,
| ТоварыПереданныеОстатки.НомерГТД КАК НомерГТД,
| ТоварыПереданныеОстатки.СтранаПроисхождения КАК СтранаПроисхождения,
| ТоварыПереданныеОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ТоварыПереданныеОстатки.КоличествоОстаток - ЕСТЬNULL(Товары.Количество,0) КАК КоличествоОсталосьПодобрать,
| ЕСТЬNULL(Товары.Количество,0) КАК КоличествоПодобрано,
| ВЫБОР
| КОГДА Товары.Номенклатура ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК Пометка
|
|ИЗ
| ТоварыПереданныеОстатки КАК ТоварыПереданныеОстатки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Товары КАК Товары
| ПО
| ТоварыПереданныеОстатки.Номенклатура = Товары.Номенклатура
| И ТоварыПереданныеОстатки.Характеристика = Товары.Характеристика
| И ТоварыПереданныеОстатки.НомерГТД = Товары.НомерГТД
| И ТоварыПереданныеОстатки.Серия = Товары.Серия
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура,
| Характеристика,
| Серия,
| НомерГТД
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ОбработчикДействий(ХозяйственнаяОперация = Неопределено) Экспорт
Обработчик = Документы.ОтчетКомиссионера;
Возврат Обработчик;
КонецФункции
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ЭтоПартнер = ПраваПользователяПовтИсп.ЭтоПартнер();
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Обработка.ПечатьОтчетовПоКомиссии";
КомандаПечати.Идентификатор = "ОтчетКомиссионера";
КомандаПечати.Представление = НСтр("ru = 'Отчет комиссионера о продажах'");
КомандаПечати.ПроверкаПроведенияПередПечатью = НЕ ЭтоПартнер;
КомандаПечати.ОсновнаяПечатнаяФорма = Истина;
КомандаПечати.НаименованиеПечатнойФормы = НСтр("ru = 'Отчет комиссионера о продажах'");
ОтчетКомиссионераЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ОтчетКомиссионераЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция ПолучитьДанныеДляПечатнойФормыОтчетПоКомиссии(ПараметрыПечати, МассивОбъектов) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Контрагент КАК Комиссионер,
| ДанныеДокумента.Организация КАК Комитент,
| ДанныеДокумента.Организация.Префикс КАК Префикс,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.СуммаВознаграждения КАК СуммаВознаграждения,
| ДанныеДокумента.Менеджер.ФизическоеЛицо КАК ПредставительКомитента,
| """" КАК ПредставительКомиссионера
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокумента
|
|ГДЕ
| ДанныеДокумента.Ссылка В(&МассивОбъектов)
| И ДанныеДокумента.Проведен
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| МАКСИМУМ(ВложенныйЗапрос.НомерСтроки) КАК НомерСтроки,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВЫБОР
| КОГДА ВложенныйЗапрос.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ВложенныйЗапрос.Номенклатура.ПрослеживаемыйТовар = ИСТИНА
| ТОГДА ВложенныйЗапрос.Номенклатура.ЕдиницаИзмерения.Представление
| ИНАЧЕ ВложенныйЗапрос.Номенклатура.ЕдиницаИзмеренияТНВЭД.Представление
| КОНЕЦ КАК ЕдиницаИзмеренияТНВЭД,
| ВложенныйЗапрос.Характеристика.НаименованиеПолное КАК Характеристика,
| ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмеренияНаименование,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
| КОНЕЦ КАК Упаковка,
| СУММА(ВложенныйЗапрос.Количество) КАК Количество,
| СУММА(ВложенныйЗапрос.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| ВложенныйЗапрос.Цена КАК Цена,
| СУММА(ВложенныйЗапрос.СуммаКомитента) КАК СуммаКомитента,
| СУММА(ВложенныйЗапрос.СуммаПродажи) КАК СуммаПродажи,
| СУММА(ВложенныйЗапрос.СуммаВознаграждения) КАК СуммаВознаграждения,
| ВложенныйЗапрос.НомерГТД КАК НомерГТД,
| ВложенныйЗапрос.НомерГТД.ТипНомераГТД КАК ТипНомераГТД,
| ВложенныйЗапрос.НомерГТД.Представление КАК НомерРНПТ,
| ВложенныйЗапрос.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактуры,
| ВложенныйЗапрос.Покупатель КАК Покупатель
|ИЗ
| (ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| ТОГДА ТаблицаТовары.Номенклатура.ЕдиницаИзмерения
| ИНАЧЕ ТаблицаТовары.Упаковка
| КОНЕЦ КАК ЕдиницаИзмерения,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(ТаблицаТовары.Ссылка.Дата, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.СуммаСНДС КАК СуммаКомитента,
| ТаблицаТовары.СуммаПродажи КАК СуммаПродажи,
| ТаблицаТовары.СуммаВознаграждения КАК СуммаВознаграждения,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(ТаблицаТовары.Ссылка.Дата, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.НомерГТД
| КОНЕЦ КАК НомерГТД,
| ТаблицаТовары.ДатаСчетаФактурыКомиссионера КАК ДатаСчетаФактурыКомиссионера,
| ТаблицаТовары.Покупатель КАК Покупатель
| ИЗ
| Документ.ОтчетКомиссионера.Товары КАК ТаблицаТовары
|
| ГДЕ
| ТаблицаТовары.Ссылка В(&МассивОбъектов)
|
| ) КАК ВложенныйЗапрос
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.Характеристика,
| ВложенныйЗапрос.ЕдиницаИзмерения,
| ВЫБОР
| КОГДА ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки, 1) = 1
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
| КОНЕЦ,
| ВложенныйЗапрос.Цена,
| ВложенныйЗапрос.НомерГТД,
| ВложенныйЗапрос.ДатаСчетаФактурыКомиссионера,
| ВложенныйЗапрос.Покупатель
|
|УПОРЯДОЧИТЬ ПО
| Ссылка,
| НомерСтроки
|
|ИТОГИ
| СУММА(СуммаКомитента),
| СУММА(СуммаПродажи),
| СУММА(СуммаВознаграждения)
|ПО
| Ссылка
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| МАКСИМУМ(ВЫБОР
| КОГДА &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(Товары.Ссылка.Соглашение.КомиссионерВедетУчетПоРНПТ, ЛОЖЬ)
| И ЕСТЬNULL(Товары.НомерГТД.ТипНомераГТД, НЕОПРЕДЕЛЕНО) В(ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.НомерРНПТ),
| ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.НомерРНПТКомплекта))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ) КАК ЕстьРНПТ
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК Товары
|
|ГДЕ
| Товары.Ссылка В(&МассивОбъектов)
|
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Товары.Ссылка
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаДокумента.НомерГТД КАК НомерГТД,
| ВЫБОР
| КОГДА Комплектующие.НомерРНПТ.РегистрационныйНомер = """"
| ТОГДА Комплектующие.НомерРНПТ
| ИНАЧЕ Комплектующие.НомерРНПТ.РегистрационныйНомер
| КОНЕЦ КАК НомерРНПТ,
| Комплектующие.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Комплектующие.ЕдиницаИзмеренияТНВЭД.Представление КАК ЕдиницаИзмеренияТНВЭД
|ИЗ
| Документ.ОтчетКомиссионера.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НомераГТД.ПрослеживаемыеКомплектующие КАК Комплектующие
| ПО ТаблицаДокумента.НомерГТД = Комплектующие.Ссылка";
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"&ТекстЗапросаКоэффициентУпаковки",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ВложенныйЗапрос.Упаковка",
"ВложенныйЗапрос.Номенклатура"));
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
Заголовок = НСтр("ru = 'Отчет комиссионера о продажах'", ОбщегоНазначения.КодОсновногоЯзыка());
МассивРезультатов = Запрос.ВыполнитьПакет();
РезультатПоШапке = МассивРезультатов[0];
РезультатПоТабличнойЧасти = МассивРезультатов[1];
ДанныеПрослеживаемостиДокументов = МассивРезультатов[2].Выгрузить();
ПрослеживаемыеКомплектующие = МассивРезультатов[3].Выгрузить();
СтруктураДанныхДляПечати = Новый Структура;
СтруктураДанныхДляПечати.Вставить("Заголовок", Заголовок);
СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", РезультатПоШапке);
СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", РезультатПоТабличнойЧасти);
СтруктураДанныхДляПечати.Вставить("ДанныеПрослеживаемостиДокументов", ДанныеПрослеживаемостиДокументов);
СтруктураДанныхДляПечати.Вставить("ПрослеживаемыеКомплектующие", ПрослеживаемыеКомплектующие);
Возврат СтруктураДанныхДляПечати;
КонецФункции
Процедура ЗаполнитьСтруктуруПолучателейПечатныхФорм(СтруктураДанныхОбъектаПечати) Экспорт
СтруктураДанныхОбъектаПечати.ОсновнойПолучатель = "Партнер";
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Партнер");
Если ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровИКонтрагентов") Тогда
СтруктураДанныхОбъектаПечати.МассивРеквизитовПолучателей.Добавить("Контрагент");
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ШаблоныСообщений
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриФормированииСообщения(Сообщение, ПредметСообщения, ДополнительныеПараметры) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
КонецПроцедуры
#КонецОбласти
#Область Проведение
#КонецОбласти
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| НЕОПРЕДЕЛЕНО КАК Дополнительно,
| &НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| &ДатаВходящегоДокумента КАК ДатаПервичногоДокумента,
| &НомерВходящегоДокумента КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#КонецЕсли