#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПодакцизныеТовары");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетИмпорта");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ТаможеннаяДекларацияИмпортЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ТаможеннаяДекларацияИмпорт") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаНДСПредъявленный(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииНДСКРаспределению(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ТаможеннаяДекларацияИмпортЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
#Область НеоперативноеДопроведение
Функция ПолучитьДанныеПоАкцизам(ДокументСсылка) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ВариантОформления = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаКатегории.Номенклатура КАК Номенклатура,
| ТаблицаКатегории.КоэффициентПересчета КАК КоэффициентПересчета,
| ТаблицаКатегории.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара
|ПОМЕСТИТЬ ВтКатегорииПодакцизныхТоваров
|ИЗ
| РегистрСведений.КатегорииПодакцизныхТоваров.СрезПоследних(
| &Период,
| Страна = &СтранаРегистрации
| И Номенклатура В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| Т.Номенклатура КАК Номенклатура
| ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК Т
| ГДЕ
| Т.Ссылка = &Ссылка)) КАК ТаблицаКатегории
|ГДЕ
| ТаблицаКатегории.ПодакцизныйТовар
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК ПодразделениеУплатыАкциза,
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| КатегорииПодакцизныхТоваров.КатегорияПодакцизногоТовара КАК КатегорияПодакцизногоТовара,
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСПодакцизнымТоваром.Импорт) КАК ВидОперацииСПодакцизнымТоваром,
| ТоварыДокумента.Количество КАК Количество,
| ВЫРАЗИТЬ(ТоварыДокумента.Количество * КатегорииПодакцизныхТоваров.КоэффициентПересчета КАК ЧИСЛО(15, 3)) КАК КоличествоАкциза,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * ТоварыДокумента.СуммаАкциза КАК ЧИСЛО(31, 2)) КАК СуммаАкцизаРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаАкциза КАК ЧИСЛО(31, 2)) КАК СуммаАкцизаУпр,
| ТоварыДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации_НачислениеАкцизов КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКатегорииПодакцизныхТоваров КАК КатегорииПодакцизныхТоваров
| ПО ТоварыДокумента.Номенклатура = КатегорииПодакцизныхТоваров.Номенклатура
|ГДЕ
| ТоварыДокумента.Ссылка = &Ссылка
| И КатегорииПодакцизныхТоваров.КатегорияПодакцизногоТовара <> ЗНАЧЕНИЕ(Справочник.КатегорииПодакцизныхТоваров.ПустаяСсылка)
| И (ТоварыДокумента.СуммаАкциза <> 0
| ИЛИ ВЫРАЗИТЬ(ТоварыДокумента.Количество * КатегорииПодакцизныхТоваров.КоэффициентПересчета КАК ЧИСЛО(15, 3)) <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК ПодразделениеУплатыАкциза,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
| ЗНАЧЕНИЕ(Справочник.КатегорииПодакцизныхТоваров.ПустаяСсылка) КАК КатегорияПодакцизногоТовара,
| ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСПодакцизнымТоваром.ПустаяСсылка) КАК ВидОперацииСПодакцизнымТоваром,
| 0 КАК Количество,
| 0 КАК КоличествоАкциза,
| СУММА(-ТоварыДокумента.СуммаАкциза) КАК СуммаАкцизаРегл,
| СУММА(-(ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаАкциза КАК ЧИСЛО(31, 2)))) КАК СуммаАкцизаУпр,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ТоварыДокумента.Ссылка = &Ссылка
| И ТоварыДокумента.СуммаАкциза <> 0
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор
|";
Запрос.Текст = ТекстЗапроса;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаВзаиморасчетов,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
СтранаРегистрации = ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Реквизиты.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
Запрос.УстановитьПараметр("СтранаРегистрации", СтранаРегистрации);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации_НачислениеАкцизов", Справочники.НастройкиХозяйственныхОпераций.НачислениеАкцизов);
Возврат Запрос.Выполнить();
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ТаможеннаяДекларацияИмпортЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ТаможеннаяДекларацияИмпорт) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ТаможеннаяДекларацияИмпорт.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ТаможеннаяДекларацияИмпорт);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьИмпортныеЗакупки";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
ТаможеннаяДекларацияИмпортЛокализация.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
ТаможеннаяДекларацияИмпортЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ТаможеннаяДекларацияИмпортЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(ХозяйственнаяОперация, ВсеРеквизиты, РеквизитыОперации) Экспорт
ВсеРеквизиты = Новый Массив;
РеквизитыОперации = Новый Массив;
ВсеРеквизиты.Добавить("Соглашение");
ВсеРеквизиты.Добавить("Договор");
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ОформлениеГТДБрокером Тогда
РеквизитыОперации.Добавить("Соглашение");
РеквизитыОперации.Добавить("Договор");
КонецЕсли;
КонецПроцедуры
Функция РеквизитыДокумента(ДокументСсылка) Экспорт
Реквизиты = Новый Структура;
Реквизиты.Вставить("Дата", '00010101');
Реквизиты.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ОформлениеГТДБрокером);
Реквизиты.Вставить("Организация", Справочники.Организации.ПустаяСсылка());
Реквизиты.Вставить("Партнер", Справочники.Партнеры.ПустаяСсылка());
Реквизиты.Вставить("Контрагент", Справочники.Контрагенты.ПустаяСсылка());
Реквизиты.Вставить("Договор", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
Реквизиты.Вставить("ПорядокРасчетов", Перечисления.ПорядокРасчетов.ПустаяСсылка());
Реквизиты.Вставить("ПоЗаказу", Ложь);
Реквизиты.Вставить("ВалютаВзаиморасчетов", Справочники.Валюты.ПустаяСсылка());
Реквизиты.Вставить("СуммаДокумента", 0);
Реквизиты.Вставить("СуммаВзаиморасчетов", 0);
Реквизиты.Вставить("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
Запрос = Новый Запрос("
|ВЫБРАТЬ
| Данные.Дата КАК Дата,
| Данные.ВариантОформления КАК ХозяйственнаяОперация,
| Данные.Организация КАК Организация,
| Данные.Партнер КАК Партнер,
| Данные.Контрагент КАК Контрагент,
| Данные.Договор КАК Договор,
| Данные.ПорядокРасчетов КАК ПорядокРасчетов,
| ЛОЖЬ КАК ПоЗаказу,
| Данные.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Данные.СуммаДокумента КАК СуммаДокумента,
| ВЫБОР КОГДА Данные.Проведен ТОГДА
| Данные.СуммаВзаиморасчетов
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| Данные.НаправлениеДеятельности КАК НаправлениеДеятельности
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК Данные
|ГДЕ
| Данные.Ссылка = &ДокументСсылка
|");
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(Реквизиты, Выборка);
КонецЕсли;
Возврат Реквизиты;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ТаможеннаяДекларацияИмпорт";
ПараметрыУказанияСерий.ИмяТЧСерии = "Товары";
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПолучитьФункциональнуюОпцию("УчитыватьСебестоимостьПоСериямСклад", Новый Структура());
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьСерииНоменклатурыСклад", Новый Структура());
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПустаяСсылка());
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Склад");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.ТолькоСерииДляСебестоимости = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ОперацииТоварыВПути = Новый Массив();
ОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
ОперацииТоварыВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
ПараметрыУказанияСерий.ПараметрыЗапроса.Вставить("ХозОперацииТоварыВПути", ОперацииТоварыВПути);
ПараметрыУказанияСерий.ИменаПолейДополнительные.Добавить("ХозяйственнаяОперация");
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Склад,
| Товары.Серия,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.ХозяйственнаяОперация,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО (ПолитикиУчетаСерий.Склад = Товары.Склад)
| И (ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка)
|ГДЕ
| НЕ Товары.ХозяйственнаяОперация В (&ХозОперацииТоварыВПути)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА
| ВЫБОР
| КОГДА ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям
| ТОГДА
| ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий
|ИЗ
| Товары КАК Товары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры КАК ВидНоменклатуры
| ПО ВидНоменклатуры.Ссылка = ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|ГДЕ
| Товары.ХозяйственнаяОперация В (&ХозОперацииТоварыВПути)
|
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| Статусы.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| Статусы.СтатусУказанияСерий <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Функция СтатусыДокументаИзменяемыеИзСписка() Экспорт
Таблица = ОбщегоНазначенияУТ.ТаблицаСтатусовИзменяемыхИзСписка();
Возврат Таблица;
КонецФункции
Функция ЕстьСчетаФактурыКОформлению(Параметры) Экспорт
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НаДату.ДокументПоступления) КАК КоличествоДокументовКОформлению
|ИЗ
| РегистрНакопления.ТоварыКОформлениюДокументовИмпорта.Остатки(&ДатаОкончания, ТипДокументаИмпорта = &ТипДокументаИмпорта) КАК НаДату
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКОформлениюДокументовИмпорта.Остатки(, ) КАК НаСейчас
| ПО НаДату.АналитикаУчетаНоменклатуры = НаСейчас.АналитикаУчетаНоменклатуры
| И НаДату.Поставщик = НаСейчас.Поставщик
| И НаДату.Организация = НаСейчас.Организация
| И НаДату.ВидЗапасов = НаСейчас.ВидЗапасов
| И НаДату.ДокументПоступления = НаСейчас.ДокументПоступления
| И НаДату.ТипДокументаИмпорта = НаСейчас.ТипДокументаИмпорта
|ГДЕ
| НаСейчас.КоличествоОстаток > 0
| И &УсловиеОтбора";
Если ЗначениеЗаполнено(Параметры.МассивОрганизаций) Тогда
УсловиеОтбора = "НаДату.Организация В (&МассивОрганизаций)";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбора", УсловиеОтбора);
Запрос.УстановитьПараметр("МассивОрганизаций", Параметры.МассивОрганизаций);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"И &УсловиеОтбора", "");
КонецЕсли;
Если Параметры.Свойство("БезОграниченияПериода") Тогда
Запрос.УстановитьПараметр("ДатаОкончания", ТекущаяДатаСеанса());
Иначе
Запрос.УстановитьПараметр("ДатаОкончания", Параметры.КонецПериода);
КонецЕсли;
Запрос.УстановитьПараметр("ТипДокументаИмпорта", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ТаможеннаяДекларацияИмпорт"));
Запрос.Текст = ТекстЗапроса;
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() И НЕ Выборка.КоличествоДокументовКОформлению = NULL Тогда
Возврат Выборка.КоличествоДокументовКОформлению;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ТаможеннаяДекларацияИмпортЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ТаможеннаяДекларацияИмпортЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик(Параметры) Экспорт
МассивПаметровВыбора = Новый Массив;
#Область СтатьяРасходовСбор
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовСбор";
Если Параметры.Свойство("ТаможенныйСбор") И
Параметры.ТаможенныйСбор = 0 И
Параметры.Свойство("ОбработкаПроверкиЗаполнения") И
Параметры.ОбработкаПроверкиЗаполнения Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовСбор";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовСбор");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовСбор");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область СтатьяРасходовШтраф
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходовШтраф";
Если Параметры.Свойство("ТаможенныйШтраф") И
Параметры.ТаможенныйШтраф = 0 И
Параметры.Свойство("ОбработкаПроверкиЗаполнения") И
Параметры.ОбработкаПроверкиЗаполнения Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходовШтраф";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовШтраф");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовШтраф");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.СуммаДокументаФорма = "Форма.СуммаДокумента";
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ДатаПлатежа = "Объект.ДатаПлатежа";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "Объект.РасшифровкаПлатежа";
СтруктураПараметров.Касса = "";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НалогообложениеНДС = Перечисления.ТипыНалогообложенияНДС.ПустаяСсылка();
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "ДекорацияВалюты";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "ЗачетОплатыФорма";
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "";
СтруктураПараметров.ЭлементыФормы.ГруппаФинансовогоУчета = "ГруппаФинансовогоУчета";
СтруктураПараметров.ЭлементыФормы.НаправлениеДеятельности = "НаправлениеДеятельности";
СтруктураПараметров.ВалютыИКурсДокументаТолькоПросмотр = Истина;
СтруктураПараметров.ОбъектРасчетов = "Объект.ОбъектРасчетов";
Возврат СтруктураПараметров;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Подразделение)
| И ( ЗначениеРазрешено(Партнер)
| ИЛИ ЗначениеРазрешено(Поставщик)
| ) ";
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция СуммаДокумента(Объект) Экспорт
СуммаДокумента = Объект.ТаможенныйСбор + Объект.ТаможенныйШтраф + Объект.Товары.Итог("СуммаПошлины")
+ Объект.Товары.Итог("СуммаНДС") + Объект.Товары.Итог("СуммаАкциза");
Возврат СуммаДокумента;
КонецФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос) Экспорт
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУпр")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуВзаиморасчетов") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаВзаиморасчетов,
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуВзаиморасчетов", Коэффициенты.КоэффициентПересчетаВВалютуВзаиморасчетов);
ВалютаРегламентированногоУчета =
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Запрос.Параметры.Организация);
Если Запрос.Параметры.Валюта = ВалютаРегламентированногоУчета Тогда
Запрос.УстановитьПараметр("КоэффициентПересчетаИзРеглВУпр", Коэффициенты.КоэффициентПересчетаВВалютуУпр);
Иначе
ВалютаУправленческогоУчета = ЗначениеНастроекПовтИсп.ВалютаУправленческогоУчета();
ПериодКурса = Запрос.Параметры.Период;
КоэффициентПересчетаИзРеглВУпр = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентПересчетаИзВалютыВВалюту(
ВалютаРегламентированногоУчета, ВалютаУправленческогоУчета, ПериодКурса, ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("КоэффициентПересчетаИзРеглВУпр", КоэффициентПересчетаИзРеглВУпр);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.НомерДекларации КАК НомерДекларации,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР КОГДА ДанныеДокумента.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыТаможенныхДеклараций.ВыпущеноСТаможни) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ВыпущеноСТаможни,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ЕСТЬNULL(ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров, ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПустаяСсылка)) КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Соглашение КАК Соглашение,
| ДанныеДокумента.КонтрагентПоставщика КАК КонтрагентПоставщика,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
| ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетРасчетовСПоставщиками, ЛОЖЬ) КАК УчетРасчетовСПоставщикамиПоНД,
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ДанныеДокумента.Статус КАК Статус,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокумента.ДатаПлатежа КАК ДатаПлатежа,
| ДанныеДокумента.РучнаяКорректировкаЖурналаСФ КАК РучнаяКорректировкаЖурналаСФ,
| ДанныеДокумента.Автор КАК Автор,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ВариантОформления = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета", ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ТаможеннаяДекларацияИмпорт"));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ИдентификаторНеиспользуемойФинЗаписи", ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Запрос.УстановитьПараметр("РучнаяКорректировкаЖурналаСФ", Реквизиты.РучнаяКорректировкаЖурналаСФ);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации_НачислениеАкцизов", Справочники.НастройкиХозяйственныхОпераций.НачислениеАкцизов);
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.Организация, Реквизиты.Период);
Запрос.УстановитьПараметр("НалогообложениеОрганизации", ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи);
ДатаДекларации = Справочники.НомераГТД.ДатаПринятияДекларацииНаТовары(Реквизиты.НомерДекларации);
Запрос.УстановитьПараметр("ДатаДекларации", ?(ЗначениеЗаполнено(ДатаДекларации), ДатаДекларации, Реквизиты.Период));
ХозОперацииЗакупкаПоИмпорту = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту);
Запрос.УстановитьПараметр("ХозОперацииЗакупкаПоИмпорту", ХозОперацииЗакупкаПоИмпорту);
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = "ru = 'По договору ""%1""'";
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Ключи.Номенклатура КАК Номенклатура,
| Ключи.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Ключи.Серия КАК Серия,
| Ключи.МестоХранения КАК Склад,
| Ключи.СтатьяКалькуляции КАК СтатьяКалькуляции
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК Товары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Ключи
| ПО Товары.АналитикаУчетаНоменклатуры = Ключи.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Ключи.Номенклатура = Аналитика.Номенклатура
| И Ключи.Характеристика = Аналитика.Характеристика
| И Ключи.Серия = Аналитика.Серия
| И Ключи.МестоХранения = Аналитика.МестоХранения
| И &ПустоеНазначение = Аналитика.Назначение
| И Ключи.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
|ГДЕ
| Товары.Ссылка = &Ссылка
| И Аналитика.Номенклатура ЕСТЬ NULL
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Ключи.Номенклатура КАК Номенклатура,
| Ключи.Характеристика КАК Характеристика,
| Ключи.Назначение КАК Назначение,
| Ключи.Серия КАК Серия,
| Товары.Склад КАК Склад,
| Ключи.СтатьяКалькуляции КАК СтатьяКалькуляции
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК Товары
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Ключи
| ПО Товары.АналитикаУчетаНоменклатуры = Ключи.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоСкладам
| ПО АналитикаПоСкладам.Номенклатура = Ключи.Номенклатура
| И АналитикаПоСкладам.Характеристика = Ключи.Характеристика
| И АналитикаПоСкладам.Серия = Ключи.Серия
| И АналитикаПоСкладам.Назначение = Ключи.Назначение
| И АналитикаПоСкладам.СтатьяКалькуляции = Ключи.СтатьяКалькуляции
| И АналитикаПоСкладам.МестоХранения = Товары.Склад
|ГДЕ
| Товары.Ссылка = &Ссылка
| И АналитикаПоСкладам.Номенклатура ЕСТЬ NULL
| И &Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыТаможенныхДеклараций.ВыпущеноСТаможни)
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям", Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
ЗапросАналитик.УстановитьПараметр("Статус", Запрос.Параметры.Статус);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.СтатьяРасходовСбор КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовСбор КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) ТОГДА
| ДанныеДокумента.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДС,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДС,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ДанныеДокумента.ИдентификаторСтрокиСбор КАК ИдентификаторСтроки,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
|
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ДанныеДокумента.Ссылка = Суммы.Ссылка
| И ДанныеДокумента.ИдентификаторСтрокиСбор = Суммы.ИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйСбор <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.СтатьяРасходовШтраф КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовШтраф КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) ТОГДА
| ДанныеДокумента.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДС,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДС,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДС,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| ДанныеДокумента.ИдентификаторСтрокиШтраф КАК ИдентификаторСтроки,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
|
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ДанныеДокумента.Ссылка = Суммы.Ссылка
| И ДанныеДокумента.ИдентификаторСтрокиШтраф = Суммы.ИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйШтраф <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстВыборкаПоляАналитик =
"ВЫБРАТЬ
| ""Товары"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТаможенныеПлатежи) КАК ВидЦенности,
| 0 КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""Документ"" КАК ИмяТабличнойЧасти,
| 0 КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ЗНАЧЕНИЕ(Справочник.СтавкиНДС.БезНДС) КАК СтавкаНДС,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка) КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТаможенныеПлатежи) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТоварыДляСоединенияАналитик";
ТекстЗапроса =
"ВЫБРАТЬ
| ТЧТовары.Ссылка КАК Ссылка,
| ТЧТовары.НомерРаздела КАК НомерРаздела,
| ТЧТовары.Номенклатура КАК Номенклатура,
| ТЧТовары.Характеристика КАК Характеристика,
| ТЧТовары.Упаковка КАК Упаковка,
| ТЧТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТЧТовары.Количество КАК Количество,
| ТЧТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТЧТовары.ТаможеннаяСтоимость КАК ТаможеннаяСтоимость,
| ТЧТовары.СуммаПошлины КАК СуммаПошлины,
| ТЧТовары.СуммаНДС КАК СуммаНДС,
| ТЧТовары.Склад КАК Склад,
| ТЧТовары.ВидЗапасов КАК ВидЗапасов,
| ТЧТовары.ВидЗапасов.Организация КАК ВидЗапасовОрганизация,
| ТЧТовары.ВидЗапасов.ВладелецТовара КАК ВидЗапасовВладелецТовара,
| ТЧТовары.ВидЗапасов.НалогообложениеНДС КАК ВидЗапасовНалогообложениеНДС,
| ТЧТовары.ВидЗапасов.ГруппаФинансовогоУчета КАК ВидЗапасовГруппаФинансовогоУчета,
| ТЧТовары.ВидЗапасов.ГруппаПродукции КАК ВидЗапасовГруппаПродукции,
| ТЧТовары.ВидЗапасов.ВидЦены КАК ВидЗапасовВидЦены,
| ТЧТовары.ВидЗапасов.ОблагаетсяАкцизом КАК ВидЗапасовОблагаетсяАкцизом,
| ТЧТовары.СтранаПроисхождения КАКСтранаПроисхождения,
| ТЧТовары.НомерДляСФ КАК НомерДляСФ,
| ТЧТовары.НомерГТД КАК НомерГТД,
| ТЧТовары.Серия КАК Серия,
| ТЧТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТЧТовары.АналитикаУчетаНоменклатуры КАК КлючАналитики,
| ТЧТовары.АналитикаУчетаНоменклатуры.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТЧТовары.АналитикаУчетаНоменклатуры.МестоХранения КАК МестоХранения,
| ТЧТовары.ДокументПоступления КАК ДокументПоступления,
| ТЧТовары.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ТЧТовары.Назначение КАК Назначение,
| ТЧТовары.СтавкаНДС КАК СтавкаНДС,
| ТЧТовары.СтавкаПошлины КАК СтавкаПошлины,
| ТЧТовары.ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ПОМЕСТИТЬ ВтТоварыДляСоединенияАналитик
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТЧТовары
|ГДЕ
| ТЧТовары.Ссылка = &Ссылка
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура,
| Характеристика,
| Серия,
| Назначение,
| СтатьяКалькуляции,
| МестоХранения";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВидыЗапасовДляСоединенияАналитик", ТекстыЗапроса) Тогда
ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ТоварыДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ДанныеДокумента.Организация КАК Организация,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ТоварыДокумента.НомерГТД КАК НомерГТД,
| ТоварыДокумента.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТоварыДокумента.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО
| ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ТоварыДокумента.ХозяйственнаяОперация <>
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ТоварыДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ДанныеДокумента.Организация КАК Организация,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТоварыДокумента.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО
| ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ТоварыДокумента.ХозяйственнаяОперация =
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ЕСТЬNULL(Аналитика.КлючАналитики, ТоварыДокумента.КлючАналитики) КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ДанныеДокумента.Организация КАК Организация,
| ЕСТЬNULL(ВидыЗапасовСкладские.Ссылка, ТоварыДокумента.ВидЗапасов),
| ТоварыДокумента.НомерГТД КАК НомерГТД,
| ТоварыДокумента.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТоварыДокумента.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация
|ИЗ
| ВтТоварыДляСоединенияАналитик КАК ТоварыДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО
| ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТоварыДокумента.Номенклатура = Аналитика.Номенклатура
| И ТоварыДокумента.Характеристика = Аналитика.Характеристика
| И ТоварыДокумента.Серия = Аналитика.Серия
| И ТоварыДокумента.Назначение = Аналитика.Назначение
| И ТоварыДокумента.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
| И ТоварыДокумента.Склад = Аналитика.МестоХранения
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТоварыДокумента.ВидЗапасовОрганизация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТоварыДокумента.ВидЗапасовВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТоварыДокумента.ВидЗапасовНалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТоварыДокумента.ВидЗапасовГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТоварыДокумента.ВидЗапасовГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТоварыДокумента.ВидЗапасовВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТоварыДокумента.ВидЗапасовОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ТоварыДокумента.ХозяйственнаяОперация =
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
|
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ЕСТЬNULL(Аналитика.КлючАналитики, ТоварыДокумента.КлючАналитики) КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.Номенклатура КАК Номенклатура,
| ТоварыДокумента.Характеристика КАК Характеристика,
| ДанныеДокумента.Организация КАК Организация,
| ЕСТЬNULL(ВидыЗапасовСкладские.Ссылка, ТоварыДокумента.ВидЗапасов),
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ТоварыДокумента.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация
|ИЗ
| ВтТоварыДляСоединенияАналитик КАК ТоварыДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО
| ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТоварыДокумента.Номенклатура = Аналитика.Номенклатура
| И ТоварыДокумента.Характеристика = Аналитика.Характеристика
| И ТоварыДокумента.Серия = Аналитика.Серия
| И ТоварыДокумента.Назначение = Аналитика.Назначение
| И ТоварыДокумента.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
| И ТоварыДокумента.Склад = Аналитика.МестоХранения
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТоварыДокумента.ВидЗапасовОрганизация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТоварыДокумента.ВидЗапасовВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТоварыДокумента.ВидЗапасовНалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТоварыДокумента.ВидЗапасовГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТоварыДокумента.ВидЗапасовГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТоварыДокумента.ВидЗапасовВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТоварыДокумента.ВидЗапасовОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ТоварыДокумента.ХозяйственнаяОперация =
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДатыПоступленияТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПоступления,
| Строки.Номенклатура КАК Номенклатура,
| Строки.Характеристика КАК Характеристика,
| Строки.Серия КАК Серия,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| Строки.ВидЗапасов КАК ВидЗапасов,
| Строки.НомерГТД КАК НомерГТД
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК Строки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ДатыПоступленияТоваровОрганизаций КАК Даты
| ПО
| Строки.ВидЗапасов = Даты.ВидЗапасов
| И Строки.Номенклатура = Даты.Номенклатура
| И Строки.Характеристика = Даты.Характеристика
| И Строки.Серия = Даты.Серия
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Даты.Назначение
| И Строки.НомерГТД = Даты.НомерГТД
|ГДЕ
| Строки.Ссылка = &Ссылка И &ВыпущеноСТаможни
| И (Даты.ДатаПоступления ЕСТЬ NULL ИЛИ Даты.ДатаПоступления < &Период)
| И Строки.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка),
| &ХозОперацииЗакупкаПоИмпорту)
|
|СГРУППИРОВАТЬ ПО
| Строки.Номенклатура,
| Строки.Характеристика,
| Строки.Серия,
| Строки.ВидЗапасов,
| Строки.НомерГТД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса)
ИмяВременнойТаблицы = "ВТТоварыКОформлениюДокументовИмпорта";
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВЫБОР
| КОГДА ЕСТЬNULL(ТоварыКОформлениюДокументовИмпорта.ДокументПоступления, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Документ.ПриобретениеТоваровУслуг.ПустаяСсылка)
| И ЕСТЬNULL(ТоварыКОформлениюДокументовИмпорта.ДокументПоступления, НЕОПРЕДЕЛЕНО) <> НЕОПРЕДЕЛЕНО
| ТОГДА ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ДокументПоступленияЗаполнен,
| ВТПоступления.ДокументПоступления КАК ДокументПоступления
|ПОМЕСТИТЬ ВТТоварыКОформлениюДокументовИмпорта
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ВТПоступления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКОформлениюДокументовИмпорта КАК ТоварыКОформлениюДокументовИмпорта
| ПО ВТПоступления.ДокументПоступления = ТоварыКОформлениюДокументовИмпорта.Регистратор
|ГДЕ
| ВТПоступления.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяВременнойТаблицы);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюДокументовИмпорта";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВТТоварыКОформлениюДокументовИмпорта", ТекстыЗапроса) Тогда
ТекстЗапросаВТТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ВЫБОР
| КОГДА ТоварыДокумента.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту)) ТОГДА
| ТоварыДокумента.АналитикаУчетаНоменклатуры
| ИНАЧЕ
| ЕСТЬNULL(АналитикаУчетаНоменклатурыПоПартнерам.КлючАналитики, ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаНоменклатуры.ПустаяСсылка))
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| ДанныеДокумента.Поставщик КАК Поставщик,
| ДанныеДокумента.Организация КАК Организация,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА
| ЕСТЬNULL(ВтТоварыКОформлению.ДокументПоступленияЗаполнен,ЛОЖЬ) ТОГДА
| ТоварыДокумента.ДокументПоступления
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ДокументПоступления,
|
| &ИдентификаторМетаданных КАК ТипДокументаИмпорта,
| 0 КАК КоличествоПоРНПТ,
|
| ТоварыДокумента.Количество КАК Количество,
| ВЫБОР
| КОГДА
| ЕСТЬNULL(ВтТоварыКОформлению.ДокументПоступленияЗаполнен,ЛОЖЬ) ТОГДА
| ТоварыДокумента.ТаможеннаяСтоимость
| ИНАЧЕ
| 0
| КОНЕЦ КАК Сумма,
|
| ТоварыДокумента.НомерГТД КАК НомерГТД
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТТоварыКОформлениюДокументовИмпорта КАК ВтТоварыКОформлению
| ПО ВтТоварыКОформлению.ДокументПоступления = ТоварыДокумента.ДокументПоступления
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеПоступления
| ПО ТоварыДокумента.ДокументПоступления = ДанныеПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатурыПоПартнерам
| ПО ТоварыДокумента.Номенклатура = АналитикаУчетаНоменклатурыПоПартнерам.Номенклатура
| И ТоварыДокумента.Характеристика = АналитикаУчетаНоменклатурыПоПартнерам.Характеристика
| И ТоварыДокумента.Назначение = АналитикаУчетаНоменклатурыПоПартнерам.Назначение
| И ТоварыДокумента.Серия = АналитикаУчетаНоменклатурыПоПартнерам.Серия
| И ДанныеПоступления.Договор = АналитикаУчетаНоменклатурыПоПартнерам.МестоХранения
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ТоварыДокумента.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПустаяСсылка),
| &ХозОперацииЗакупкаПоИмпорту)
| И &ВыпущеноСТаможни
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииРасходовНаСебестоимостьТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ТоварыДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Ссылка КАК ДокументПоступления,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &Ссылка КАК ДокументПоступленияРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
|
| СУММА(ТоварыДокумента.Количество) КАК Количество,
| СУММА(&КоэффициентПересчетаВВалютуУпр
| * (ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС)) КАК Стоимость,
| СУММА(&КоэффициентПересчетаВВалютуУпр
| * ТоварыДокумента.СуммаПошлины) КАК СтоимостьБезНДС,
| СУММА(ТоварыДокумента.СуммаПошлины) КАК СтоимостьРегл,
| СУММА(
| ВЫБОР
| КОГДА ТаблицаАналитикУчетаПартий.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТоварыДокумента.СуммаНДС
| КОНЕЦ) КАК НДСРегл,
| &Подразделение КАК ПодразделениеРасходов,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО
| ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТоварыДокумента.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И &ПартионныйУчетВерсии21
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Организация,
| ТоварыДокумента.АналитикаУчетаНоменклатуры,
| ТоварыДокумента.ВидЗапасов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных = "
|ВЫБРАТЬ
| ""Товары"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &Период КАК ПериодБазыНДС,
| &Период КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаПошлины КАК СуммаБезНДС,
| ЕСТЬNULL(ТаблицаРазделы.СтавкаНДС, ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)) КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаПошлины + ТаблицаДокумента.СуммаНДС КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| &ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт.Разделы КАК ТаблицаРазделы
| ПО
| ТаблицаРазделы.Ссылка = ТаблицаДокумента.Ссылка
| И ТаблицаРазделы.НомерРаздела = ТаблицаДокумента.НомерРаздела
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ТаможенныйСбор"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ДанныеДокумента.Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &Период КАК ПериодБазыНДС,
| &Период КАК ДатаКурса,
|
| НЕОПРЕДЕЛЕНО КАК НомерСтроки,
| ДанныеДокумента.ИдентификаторСтрокиСбор КАК ИдентификаторСтроки,
| ДанныеДокумента.ТаможенныйСбор КАК СуммаБезНДС,
| ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка) КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ДанныеДокумента.ТаможенныйСбор КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| &ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйСбор <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ТаможенныйШтраф"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ДанныеДокумента.Ссылка КАК Ссылка,
| &Период КАК Дата,
| &Организация КАК Организация,
| &Валюта КАК ВалютаДокумента,
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| &Период КАК ПериодБазыНДС,
| &Период КАК ДатаКурса,
|
| НЕОПРЕДЕЛЕНО КАК НомерСтроки,
| ДанныеДокумента.ИдентификаторСтрокиШтраф КАК ИдентификаторСтроки,
| ДанныеДокумента.ТаможенныйШтраф КАК СуммаБезНДС,
| ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка) КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| ДанныеДокумента.ТаможенныйШтраф КАК СуммаВзаиморасчетов,
| 0 КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| &ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйШтраф <> 0
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ДанныеДокумента.СтатьяРасходовСбор КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовСбор КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) ТОГДА
| ДанныеДокумента.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &НалогообложениеОрганизации КАК ВидДеятельностиНДС,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК Стоимость,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация,
|
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Документ""
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ДанныеДокумента.Ссылка = Суммы.Ссылка
| И ДанныеДокумента.ИдентификаторСтрокиСбор = Суммы.ИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйСбор <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| ДанныеДокумента.СтатьяРасходовШтраф КАК СтатьяРасходов,
| ДанныеДокумента.АналитикаРасходовШтраф КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.НаправлениеДеятельности.УчетЗатрат, ЛОЖЬ) ТОГДА
| ДанныеДокумента.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &НалогообложениеОрганизации КАК ВидДеятельностиНДС,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК Стоимость,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ДанныеДокумента.ВариантОформления КАК ХозяйственнаяОперация,
|
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Документ""
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ДанныеДокумента.Ссылка = Суммы.Ссылка
| И ДанныеДокумента.ИдентификаторСтрокиШтраф = Суммы.ИдентификаторСтроки
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйШтраф <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииНДСКРаспределению(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииНДСКРаспределению";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ДанныеДокумента.Контрагент КАК Поставщик,
| &Ссылка КАК ДокументПоступленияРасходов,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТаможенныеПлатежи) КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий.СтавкаНДС КАК СтавкаНДС,
|
| ТоварыДокумента.СуммаПошлины КАК СтоимостьРегл,
| ТоварыДокумента.СуммаНДС КАК НДСРегл,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА &КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаНДС
| ИНАЧЕ 0 КОНЕЦ КАК НДСУпр
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ПО
| ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТоварыДокумента.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ТоварыДокумента.СуммаНДС <> 0
| И ТаблицаАналитикУчетаПартий.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "Закупки";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ТекстЗапроса =
"// Отражение пошлины.
|ВЫБРАТЬ
| &Период КАК Период,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТоварыДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.Склад КАК Склад,
| ТоварыДокумента.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ЕСТЬNULL(ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельностиНоменклатуры,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Соглашение КАК Соглашение,
| ВЫБОР КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Заказ,
|
| 0 КАК Количество,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * (ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС) КАК ЧИСЛО(31,2))) КАК Сумма,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаПошлины КАК ЧИСЛО(31,2))) КАК СуммаБезНДС,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * (ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС) КАК ЧИСЛО(31,2))) КАК СуммаРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * (ТоварыДокумента.СуммаПошлины) КАК ЧИСЛО(31,2))) КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТоварыДокумента.ЗакупкаПодДеятельность В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ЛьготноеНалогообложениеНДСНаУСН),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА
| ЕСТЬNULL(Суммы.СуммаСНДСРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * (ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС) КАК ЧИСЛО(31,2)))
| ИНАЧЕ
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * (ТоварыДокумента.СуммаПошлины) КАК ЧИСЛО(31,2)))
| КОНЕЦ КАК СтоимостьРегл,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * (ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС) КАК ЧИСЛО(31,2))) КАК ДопРасходы,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаПошлины КАК ЧИСЛО(31,2))) КАК ДопРасходыБезНДС,
|
| &Валюта КАК Валюта,
| ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС КАК СуммаВВалютеДокумента,
| ТоварыДокумента.СуммаПошлины КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫРАЗИТЬ((ТоварыДокумента.СуммаПошлины + ТоварыДокумента.СуммаНДС)
| * &КоэффициентПересчетаВВалютуВзаиморасчетов КАК ЧИСЛО(31,2)) КАК СуммаВВалютеВзаиморасчетов,
| ВЫРАЗИТЬ(ТоварыДокумента.СуммаПошлины
| * &КоэффициентПересчетаВВалютуВзаиморасчетов КАК ЧИСЛО(31,2)) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТоварыДокумента.ВидЗапасов
| ИНАЧЕ ТоварыДокумента.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| &ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТоварыДокумента.Ссылка = Суммы.Ссылка
| И ТоварыДокумента.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| ТоварыДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И (ТоварыДокумента.СуммаПошлины <> 0
| ИЛИ ТоварыДокумента.СуммаНДС<>0)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
#Область РасходыНаТаможенныеСборы
РасходыНаТаможенныеСборы =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РасходыНаТаможенныеСборыШтрафы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
|
| ВЫБОР КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
|
| ДанныеДокумента.СтатьяРасходовСбор КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходовСбор КАК АналитикаРасходов,
| ВЫБОР КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиСтатьи,
|
| ВЫРАЗИТЬ(ДанныеДокумента.ТаможенныйСбор * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма,
| 0 КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.ТаможенныйСбор * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| 0 КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ДанныеДокумента.ТаможенныйСбор КАК СуммаВВалюте,
| 0 КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫРАЗИТЬ(ДанныеДокумента.ТаможенныйСбор * &КоэффициентПересчетаВВалютуВзаиморасчетов КАК ЧИСЛО(31,2)) КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйСбор <> 0
|";
#КонецОбласти
#Область РасходыНаТаможенныеШтрафы
РасходыНаТаможенныеШтрафы =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РасходыНаТаможенныеСборыШтрафы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| ВЫБОР КОГДА &УчетРасчетовСПоставщикамиПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиКонтрагента,
| &Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК ОбъектРасчетов,
|
| ДанныеДокумента.СтатьяРасходовШтраф КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ДанныеДокумента.АналитикаРасходовШтраф КАК АналитикаРасходов,
| ВЫБОР КОГДА &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиСтатьи,
|
| ВЫРАЗИТЬ(ДанныеДокумента.ТаможенныйШтраф * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма,
| 0 КАК СуммаБезНДС,
| ВЫРАЗИТЬ(ДанныеДокумента.ТаможенныйШтраф * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(31,2)) КАК СуммаРегл,
| 0 КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ДанныеДокумента.ТаможенныйШтраф КАК СуммаВВалюте,
| 0 КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ВЫРАЗИТЬ(ДанныеДокумента.ТаможенныйШтраф * &КоэффициентПересчетаВВалютуВзаиморасчетов КАК ЧИСЛО(31,2)) КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ДанныеДокумента.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ДанныеДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ВыпущеноСТаможни
| И ДанныеДокумента.ТаможенныйШтраф <> 0
|";
#КонецОбласти
ТекстЗапроса = РасходыНаТаможенныеСборы
+ " ОБЪЕДИНИТЬ ВСЕ " + РасходыНаТаможенныеШтрафы;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаНДСПредъявленный(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "НДСПредъявленный";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
УчетНДСУПСлужебный.УстановитьПараметрТипыНалогообложенияНДСПоступления(Запрос);
Запрос.УстановитьПараметр("ДатаНачалаУчетаНДСПоНаправлениямДеятельности", УчетНДСУП.НастройкиУчета().ДатаНачалаУчетаНДСПоНаправлениямДеятельности);
ТекстЗапроса = "
|
|ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| Операция.Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| Операция.Контрагент КАК Поставщик,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТоварыДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| ВЫБОР КОГДА &Период >= &ДатаНачалаУчетаНДСПоНаправлениямДеятельности ТОГДА
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельности,
| СУММА(Суммы.СуммаБезНДСРегл) КАК СуммаБезНДС,
| СУММА(Суммы.СуммаНДСРегл) КАК НДС,
| СУММА(ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА Суммы.СуммаНДСУпр
| ИНАЧЕ 0
| КОНЕЦ) КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
|
| Операция.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ПО
| Операция.Ссылка = ТоварыДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТоварыДокумента.Ссылка = Суммы.Ссылка
| И ТоварыДокумента.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТоварыДокумента.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И Операция.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И Операция.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыТаможенныхДеклараций.ВыпущеноСТаможни)
| И (ТаблицаАналитикУчетаПартий.НалогообложениеНДС В (&ТипыНалогообложенияНДСПоступления)
| ИЛИ (ТаблицаАналитикУчетаПартий.НалогообложениеНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И &ФормироватьНДСПредъявленныйПриВключенииВСтоимость))
|
|СГРУППИРОВАТЬ ПО
| Операция.Организация,
| Операция.Контрагент,
| ТоварыДокумента.СтавкаНДС,
| ТаблицаАналитикУчетаПартий.ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС,
| ВЫБОР КОГДА &Период >= &ДатаНачалаУчетаНДСПоНаправлениямДеятельности ТОГДА
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ,
| Операция.ОбъектРасчетов
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| Операция.Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| Операция.Контрагент КАК Поставщик,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТоварыДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| ВЫБОР КОГДА &Период >= &ДатаНачалаУчетаНДСПоНаправлениямДеятельности ТОГДА
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельности,
| СУММА(Суммы.СуммаБезНДСРегл) КАК СуммаБезНДС,
| СУММА(Суммы.СуммаНДСРегл) КАК НДС,
| СУММА(ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА Суммы.СуммаНДСУпр
| ИНАЧЕ 0
| КОНЕЦ) КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| ЛОЖЬ КАК РегламентнаяОперация,
|
| ТоварыДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ПО
| Операция.Ссылка = ТоварыДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТоварыДокумента.Ссылка = Суммы.Ссылка
| И ТоварыДокумента.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТоварыДокумента.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И Операция.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И Операция.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыТаможенныхДеклараций.ВыпущеноСТаможни)
| И ТаблицаАналитикУчетаПартий.НалогообложениеНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
|
|СГРУППИРОВАТЬ ПО
| Операция.Организация,
| Операция.Контрагент,
| ТоварыДокумента.СтавкаНДС,
| ТаблицаАналитикУчетаПартий.ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС,
| ВЫБОР КОГДА &Период >= &ДатаНачалаУчетаНДСПоНаправлениямДеятельности ТОГДА
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ,
| Операция.ОбъектРасчетов,
| ТоварыДокумента.ИдентификаторСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтОснований", ТекстыЗапроса) Тогда
ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ДанныеДокумента.КоличествоМестХранения = 1
| ТОГДА ДанныеДокумента.МестоХранения
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| &Статус КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.ДополнительнаяЗапись КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерДекларации КАК НомерПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| ВтОснований КАК ДанныеДокумента";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтОснований";
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ЕСТЬNULL(ТоварыДокумента.ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту)) КАК ХозяйственнаяОперация,
| МАКСИМУМ(
| ЕСТЬNULL(ТоварыДокумента.ДокументПоступления.Склад,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка))) КАК МестоХранения,
| КОЛИЧЕСТВО(
| РАЗЛИЧНЫЕ ЕСТЬNULL(ТоварыДокумента.ДокументПоступления.Склад,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка))) КАК КоличествоМестХранения,
| (ТоварыДокумента.ХозяйственнаяОперация <> ТаблицаОсновныхОпераций.ОсновнаяОперация) КАК ДополнительнаяЗапись
|ПОМЕСТИТЬ ВтОснований
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТоварыДокумента
| ПО ДанныеДокумента.Ссылка = ТоварыДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| МАКСИМУМ(ДанныеДокумента.ХозяйственнаяОперация) КАК ОсновнаяОперация
| ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка) КАК ТаблицаОсновныхОпераций
| ПО ИСТИНА
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка,
| ЕСТЬNULL(ТоварыДокумента.ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту)),
| (ТоварыДокумента.ХозяйственнаяОперация <> ТаблицаОсновныхОпераций.ОсновнаяОперация)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ТаможеннаяДекларацияИмпорт";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерДекларации", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ПереопределениеРасчетаПараметров.Вставить("ВыпущеноСТаможни",
" ВЫБОР КОГДА ДанныеДокумента.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыТаможенныхДеклараций.ВыпущеноСТаможни) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ЗначенияПараметров.Вставить("ХозОперацииЗакупкаПоИмпорту",
ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту));
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ТекстыЗапросаВременныхТаблиц.Вставить("ВтОснований", ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса));
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "ТоварыОрганизаций" Тогда
ТекстыЗапросаВременныхТаблиц.Вставить("ВтТоварыДляСоединенияАналитик",
ТекстЗапросаВтТоварыДляСоединенияАналитик(Запрос, ТекстыЗапроса));
ТекстЗапроса = ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
ИначеЕсли ИмяРегистра = "ТоварыКОформлениюДокументовИмпорта" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, ИмяРегистра);
ТекстыЗапросаВременныхТаблиц.Вставить("ВТТоварыКОформлениюДокументовИмпорта",
ТекстЗапросаВТТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса));
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| ДанныеДокументаШапка.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокументаШапка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.РасшифровкаПлатежа КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| Таблица.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область Закупка
ТекстЗакупка = "
|ВЫБРАТЬ
| ДанныеШапки.Ссылка КАК Ссылка,
| ДанныеШапки.Организация КАК Организация,
| ДанныеШапки.Партнер КАК Партнер,
| ДанныеШапки.Дата КАК ДатаРегистратора,
| ДанныеШапки.Номер КАК НомерРегистратора,
|
| ДанныеШапки.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеШапки.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Неопределено КАК ЗаказЗакупки,
|
| ДанныеШапки.СуммаДокумента КАК Сумма,
| ДанныеШапки.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
|
| ДанныеШапки.ПорядокРасчетов КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ДанныеШапки.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеШапки.ВариантОформления КАК ХозяйственнаяОперация,
| ДанныеШапки.ФормаОплаты КАК ФормаОплаты,
| ДанныеШапки.Валюта КАК ВалютаДокумента,
| ДанныеШапки.Дата КАК ДатаКурса,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеШапки
|ГДЕ
| ДанныеШапки.Ссылка В (&Ссылка)
| И &ВыпущеноСТаможни
|";
#КонецОбласти
#Область УвеличениеПланаОплаты
ТекстПланОплаты = "
| ВЫБРАТЬ
| ДанныеШапки.Ссылка КАК Ссылка,
| ДанныеШапки.Организация КАК Организация,
| ДанныеШапки.Партнер КАК Партнер,
| ДанныеШапки.Дата КАК ДатаРегистратора,
| ДанныеШапки.Номер КАК НомерРегистратора,
| ДанныеШапки.ДатаПлатежа КАК ДатаПлатежа,
|
| ДанныеШапки.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеШапки.ПорядокРасчетов КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ЛОЖЬ КАК СверхЗаказа,
| Неопределено КАК ЗаказЗакупки,
| ДанныеШапки.СуммаДокумента КАК КОплате,
| ДанныеШапки.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеШапки.ВариантОформления КАК ХозяйственнаяОперация,
| ДанныеШапки.ФормаОплаты КАК ФормаОплаты,
| ДанныеШапки.Валюта КАК ВалютаДокумента,
| Неопределено КАК ВариантОплаты,
| Неопределено КАК СвязанныйДокумент
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеШапки
|ГДЕ
| ДанныеШапки.Ссылка В (&Ссылка)
|";
#КонецОбласти
#Область ЗачетАвансов
ТекстЗачетАванса = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетовИсточник,
| Таблица.Ссылка.ОбъектРасчетов КАК ОбъектРасчетовПриемник,
|
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Сумма КАК Сумма,
|
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса) КАК ХозяйственнаяОперация
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.РасшифровкаПлатежа КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты, ТекстЗачетАванса);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуУпр");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуРегл");
ДополнительныеПараметры.Добавить("ТипыНалогообложенияНДСУчитываетсяВСтоимости");
Если Запрос <> Неопределено Тогда
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Запрос.УстановитьПараметр("ТипыНалогообложенияНДСУчитываетсяВСтоимости",
УчетНДСУП.ВидыДеятельностиНДСУчитываетсяВСтоимости());
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтСуммыДокументовВВалютахУчета");
ДополнительныеТаблицы.Добавить("ВТТоварыКОформлениюДокументовИмпорта");
ДополнительныеТаблицы.Добавить("ВтТаблицаАналитикУчетаПартий");
ДополнительныеТаблицы.Добавить("ВтСуммыДокументовВВалютахУчета");
Если Запрос <> Неопределено Тогда
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВТТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[2], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[2], ТекстыЗапроса) Тогда
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВнешнееПоступление_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ДокументПоступления КАК ДокументИсточник,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВТТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.ДокументПоступления
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК Партия,
| ЕСТЬNULL(ТаблицаАналитикУчетаПартий.НалогообложениеНДС, ТаблицаВидыЗапасов.ЗакупкаПодДеятельность) КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.ДокументПоступления.Сделка КАК Сделка,
| ТаблицаВидыЗапасов.ДокументПоступления.Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.ДокументПоступления.Менеджер КАК Менеджер,
|
| 0 КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * ТаблицаВидыЗапасов.СуммаПошлины КАК ЧИСЛО(31,2)))
| КОНЕЦ КАК СтоимостьРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаАналитикУчетаПартий.НалогообложениеНДС, ТаблицаВидыЗапасов.ЗакупкаПодДеятельность)
| = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * ТаблицаВидыЗапасов.СуммаНДС КАК ЧИСЛО(31,2))
| КОНЕЦ) КАК НДСРегл,
| 0 КАК СтоимостьУпр,
| ЕСТЬNULL(Суммы.СуммаНДСУпр,
| ВЫБОР КОГДА ЕСТЬNULL(ТаблицаАналитикУчетаПартий.НалогообложениеНДС, ТаблицаВидыЗапасов.ЗакупкаПодДеятельность)
| = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТаблицаВидыЗапасов.СуммаНДС КАК ЧИСЛО(31,2))
| КОНЕЦ) КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ЕСТЬNULL(Суммы.СуммаСНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * (ТаблицаВидыЗапасов.СуммаПошлины + ТаблицаВидыЗапасов.СуммаНДС) КАК ЧИСЛО(31,2))) КАК ДопРасходы,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТаблицаВидыЗапасов.СуммаПошлины КАК ЧИСЛО(31,2))) КАК ДопРасходыБезНДС,
| ВЫБОР КОГДА НЕ &ПартионныйУчетВерсии22
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуРегл * ТаблицаВидыЗапасов.СуммаПошлины КАК ЧИСЛО(31,2)))
| КОНЕЦ КАК ДопРасходыРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр,
| ВЫРАЗИТЬ(&КоэффициентПересчетаВВалютуУпр * ТаблицаВидыЗапасов.СуммаПошлины КАК ЧИСЛО(31,2))) КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(ВТТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ДополнительныеРасходыСПартией)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ДополнительныеРасходыБезПартии)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаДокумента.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТаблицаВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт КАК ТаблицаДокумента
| ПО ТаблицаВидыЗапасов.Ссылка = ТаблицаДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТТоварыКОформлениюДокументовИмпорта КАК ВТТоварыКОформлениюДокументовИмпорта
| ПО ВТТоварыКОформлениюДокументовИмпорта.ДокументПоступления = ТаблицаВидыЗапасов.ДокументПоступления
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО ТаблицаВидыЗапасов.Ссылка = Суммы.Ссылка
| И ТаблицаВидыЗапасов.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ВыпущеноСТаможни
| И (ТаблицаВидыЗапасов.СуммаПошлины <> 0
| ИЛИ ТаблицаВидыЗапасов.СуммаНДС<>0)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Товар_ВключениеАкцизаВСтоимость
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ДокументПоступления КАК ДокументИсточник,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВТТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен, ЛОЖЬ)
| ТОГДА ТаблицаВидыЗапасов.ДокументПоступления
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК Партия,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ЕСТЬNULL(ТаблицаАналитикУчетаПартий.НалогообложениеНДС, ТаблицаВидыЗапасов.ЗакупкаПодДеятельность)
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.ДокументПоступления.Сделка КАК Сделка,
| ТаблицаВидыЗапасов.ДокументПоступления.Подразделение КАК Подразделение,
| ТаблицаВидыЗапасов.ДокументПоступления.Менеджер КАК Менеджер,
|
| 0 КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА &ПартионныйУчетВерсии22
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаАкциза
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК НДСРегл,
| 0 КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаИзРеглВУпр * ТаблицаВидыЗапасов.СуммаАкциза КАК ЧИСЛО(31,2)) КАК ДопРасходы,
| ВЫРАЗИТЬ(&КоэффициентПересчетаИзРеглВУпр * ТаблицаВидыЗапасов.СуммаАкциза КАК ЧИСЛО(31,2)) КАК ДопРасходыБезНДС,
| ВЫБОР КОГДА НЕ &ПартионныйУчетВерсии22
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаАкциза
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫРАЗИТЬ(&КоэффициентПересчетаИзРеглВУпр * ТаблицаВидыЗапасов.СуммаАкциза КАК ЧИСЛО(31,2)) КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ВключениеАкцизаВСтоимость) КАК ТипЗаписи,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВТТоварыКОформлениюДокументовИмпорта.ДокументПоступленияЗаполнен, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ДополнительныеРасходыСПартией)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ДополнительныеРасходыБезПартии)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации_НачислениеАкцизов КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт.Товары КАК ТаблицаВидыЗапасов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТаможеннаяДекларацияИмпорт КАК ТаблицаДокумента
| ПО ТаблицаВидыЗапасов.Ссылка = ТаблицаДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТТоварыКОформлениюДокументовИмпорта КАК ВТТоварыКОформлениюДокументовИмпорта
| ПО ВТТоварыКОформлениюДокументовИмпорта.ДокументПоступления = ТаблицаВидыЗапасов.ДокументПоступления
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &ВыпущеноСТаможни
| И ТаблицаВидыЗапасов.СуммаАкциза <> 0";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область ИнициализацияИЗаполнение
Процедура ЗаполнитьПоУмолчанию(Объект) Экспорт
Объект.Менеджер = Пользователи.ТекущийПользователь();
Объект.Подразделение = ЗначениеНастроекПовтИсп.ПодразделениеПользователя(Объект.Менеджер, Объект.Подразделение);
Объект.Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Объект.Организация);
Если Не ЗначениеЗаполнено(Объект.Валюта) Тогда
Объект.Валюта = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
КонецЕсли;
Объект.ВалютаВзаиморасчетов = Объект.Валюта;
СтруктураПараметров = ДенежныеСредстваСервер.ПараметрыЗаполненияБанковскогоСчетаОрганизацииПоУмолчанию();
СтруктураПараметров.Организация = Объект.Организация;
СтруктураПараметров.БанковскийСчет = Объект.БанковскийСчетОрганизации;
Объект.БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(СтруктураПараметров);
ВалютаОплаты = ДенежныеСредстваСервер.ПолучитьВалютуОплаты(Объект.ФормаОплаты, Объект.БанковскийСчетОрганизации);
Объект.ОплатаВВалюте = ВзаиморасчетыСервер.ПолучитьОплатуВВалютеПоУмолчанию(ВалютаОплаты, Объект.Организация);
КонецПроцедуры
Процедура ЗаполнитьПоУсловиямЗакупок(Объект, УсловияЗакупок) Экспорт
ЗаполнитьЗначенияСвойств(Объект, УсловияЗакупок, "ФормаОплаты, ГруппаФинансовогоУчета, НаправлениеДеятельности, ОплатаВВалюте");
Если Не ЗначениеЗаполнено(Объект.ВариантОформления) Тогда
Объект.ВариантОформления = Перечисления.ХозяйственныеОперации.ОформлениеГТДБрокером;
КонецЕсли;
Если Не ЗначениеЗаполнено(Объект.Партнер) Тогда
Объект.Партнер = УсловияЗакупок.Партнер;
КонецЕсли;
Если ЗначениеЗаполнено(УсловияЗакупок.Организация) И УсловияЗакупок.Организация<>Объект.Организация Тогда
Объект.Организация = УсловияЗакупок.Организация;
КонецЕсли;
Если ЗначениеЗаполнено(УсловияЗакупок.Контрагент) И УсловияЗакупок.Контрагент<>Объект.Контрагент Тогда
Объект.Контрагент = УсловияЗакупок.Контрагент;
КонецЕсли;
ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(Объект.Партнер, Объект.Контрагент);
Если УсловияЗакупок.ИспользуютсяДоговорыКонтрагентов <> Неопределено И УсловияЗакупок.ИспользуютсяДоговорыКонтрагентов Тогда
ДопПараметры = ЗакупкиСервер.ДополнительныеПараметрыОтбораДоговоров();
ДопПараметры.ВалютаВзаиморасчетов = Объект.ВалютаВзаиморасчетов;
Объект.Договор = ЗакупкиСервер.ПолучитьДоговорПоУмолчанию(
Объект, ОперацииОтбораСоглашенийДоговоров(), ДопПараметры);
ЗакупкиВызовСервера.ЗаполнитьБанковскиеСчетаПоДоговору(Объект.Договор, Объект.БанковскийСчетОрганизации, Объект.БанковскийСчетКонтрагента);
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетЗатратПоНаправлениямДеятельности")
Или ПолучитьФункциональнуюОпцию("ИспользоватьУчетРасчетовСПоставщикамиПоНаправлениямДеятельности") Тогда
НаправленияДеятельностиСервер.ЗаполнитьНаправлениеПоУмолчанию(Объект.НаправлениеДеятельности, Объект.Соглашение, Объект.Договор);
КонецЕсли;
КонецЕсли;
ЗначениеДатыПлатежа = ЗакупкиСервер.ПолучитьПоследнююДатуПоГрафику(Объект.Дата, УсловияЗакупок.Соглашение);
Если ЗначениеЗаполнено(ЗначениеДатыПлатежа) Тогда
Объект.ДатаПлатежа = ЗначениеДатыПлатежа;
КонецЕсли;
СтруктураПараметров = ДенежныеСредстваСервер.ПараметрыЗаполненияБанковскогоСчетаОрганизацииПоУмолчанию();
СтруктураПараметров.Организация = Объект.Организация;
СтруктураПараметров.БанковскийСчет = Объект.БанковскийСчетОрганизации;
СтруктураПараметров.НаправлениеДеятельности = Объект.НаправлениеДеятельности;
Объект.БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(СтруктураПараметров);
Объект.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(Объект.Контрагент, , Объект.БанковскийСчетКонтрагента);
КонецПроцедуры
Процедура ЗаполнитьПоПартнеру(Объект, Партнер) Экспорт
УсловияЗакупок = Неопределено;
Если Не ЗначениеЗаполнено(Объект.Партнер) Или (Объект.Партнер <> Партнер) Тогда
Объект.Партнер = Партнер;
КонецЕсли;
Если (Объект.ВариантОформления <> Перечисления.ХозяйственныеОперации.ОформлениеГТДСамостоятельно) Тогда
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ТолькоДляЗакупки", Ложь);
ПараметрыОтбора.Вставить("ХозяйственныеОперации", ОперацииОтбораСоглашенийДоговоров());
ПараметрыОтбора.Вставить("ВыбранноеСоглашение", Объект.Соглашение);
УсловияЗакупок =
ЗакупкиСервер.ПолучитьУсловияЗакупокПоУмолчанию(
Объект.Партнер,
ПараметрыОтбора);
КонецЕсли;
Если ЗначениеЗаполнено(УсловияЗакупок) Тогда
Если Объект.Соглашение <> УсловияЗакупок.Соглашение
И ЗначениеЗаполнено(УсловияЗакупок.Соглашение) Тогда
Объект.Соглашение = УсловияЗакупок.Соглашение;
ЗаполнитьПоУсловиямЗакупок(Объект, УсловияЗакупок);
Иначе
Объект.Соглашение = УсловияЗакупок.Соглашение;
КонецЕсли;
Иначе
Контрагент = Объект.Контрагент;
ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(Объект.Партнер, Объект.Контрагент);
БанковскийСчет = ?(Контрагент = Объект.Контрагент, Объект.БанковскийСчетКонтрагента, Неопределено);
Объект.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(Объект.Контрагент, , БанковскийСчет);
Объект.Соглашение = Неопределено;
КонецЕсли;
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетЗатратПоНаправлениямДеятельности") Тогда
НаправленияДеятельностиСервер.ЗаполнитьНаправлениеПоУмолчанию(Объект.НаправлениеДеятельности, Объект.Соглашение, Объект.Договор);
КонецЕсли;
КонецПроцедуры
Функция СтруктураЗаполнения() Экспорт
Результат = Новый Структура;
Результат.Вставить("Организация", Справочники.Организации.ПустаяСсылка());
Результат.Вставить("Поставщик", Справочники.Партнеры.ПустаяСсылка());
Результат.Вставить("КонтрагентПоставщика", Справочники.Контрагенты.ПустаяСсылка());
Результат.Вставить("ДатаПоступления", Неопределено);
Результат.Вставить("ВалютаПоступления", Справочники.Валюты.ПустаяСсылка());
Результат.Вставить("ЦенаВключаетНДС", Ложь);
Результат.Вставить("Товары", Неопределено);
Результат.Вставить("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
Возврат Результат;
КонецФункции
Процедура ЗаполнитьПоДанным(Объект, Данные) Экспорт
ЗаполнитьЗначенияСвойств(Объект, Данные);
ЗаполнитьПоУмолчанию(Объект);
Если Данные.Товары<>Неопределено Тогда
Если Ложь <> Данные.ЦенаВключаетНДС Тогда
Для Каждого Товар Из Данные.Товары Цикл
Ценообразование.ПересчитатьСуммыВСтрокеПоСуммеСНДС(Товар, Ложь, Ложь, Ложь);
КонецЦикла;
КонецЕсли;
Если Объект.Валюта <> Данные.ВалютаПоступления И ЗначениеЗаполнено(Данные.ВалютаПоступления) Тогда
ДатаДокумента = ?(ЗначениеЗаполнено(Объект.Дата),Объект.Дата,ТекущаяДатаСеанса());
ВалютаРегламентированногоУчета = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
КурсыСтарые = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(Данные.ВалютаПоступления, ДатаДокумента, ВалютаРегламентированногоУчета);
КурсыНовые = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(Объект.Валюта, ДатаДокумента, ВалютаРегламентированногоУчета);
Ценообразование.ПересчитатьСуммыТабличнойЧастиВВалюту(
Данные.Товары, Ложь, Данные.ВалютаПоступления, Объект.Валюта, КурсыСтарые, КурсыНовые);
ИначеЕсли Данные.Товары.Колонки.Найти("ВалютаПоступления") <> Неопределено
И Данные.Товары.Колонки.Найти("ДатаПоступления") <> Неопределено Тогда
БазоваяВалюта = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
Для Каждого Товар Из Данные.Товары Цикл
Если ЗначениеЗаполнено(Товар.ДатаПоступления)
И ЗначениеЗаполнено(Товар.ВалютаПоступления) Тогда
КурсНовойВалюты = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(Объект.Валюта, Товар.ДатаПоступления, БазоваяВалюта);
КурсСтаройВалюты = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(Товар.ВалютаПоступления, Товар.ДатаПоступления, БазоваяВалюта);
Товар.СуммаСНДС = РаботаСКурсамиВалютУТКлиентСервер.ПересчитатьПоКурсу(
Товар.СуммаСНДС,
КурсСтаройВалюты,
КурсНовойВалюты);
Ценообразование.ПересчитатьСуммыВСтрокеПоСуммеСНДС(
Товар,
Ложь,
Ложь,
Ложь);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Для каждого ЭлементБуфера Из Данные.Товары Цикл
Товар = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(Товар, ЭлементБуфера,
"Номенклатура, Характеристика, Серия, Склад, Назначение, ВидЗапасов, Упаковка, Количество, КоличествоУпаковок, ДокументПоступления, ЗакупкаПодДеятельность");
Товар.ХозяйственнаяОперация = ЭлементБуфера.ХозяйственнаяОперация;
Товар.ТаможеннаяСтоимость = ЭлементБуфера.Сумма;
КонецЦикла;
СтруктураДействий = Новый Структура;
Если УчетПодакцизныхТоваров.ИспользуетсяИмпортПодакцизныхТоваров(Объект.Организация, Объект.Дата) Тогда
ПараметрыПересчетаСуммыАкциза =
ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыАкциза(Объект, Истина);
СтруктураДействий.Вставить("ПересчитатьСуммуАкциза", ПараметрыПересчетаСуммыАкциза);
КонецЕсли;
Если ПолучитьФункциональнуюОпцию("ИспользоватьРазделыТаможеннойДекларацииИмпорт") Тогда
Если ЗначениеЗаполнено(СтруктураДействий) Тогда
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьТЧ(Объект.Товары, СтруктураДействий);
КонецЕсли;
Раздел = Объект.Разделы.Добавить();
Раздел.НомерРаздела = 1;
Для каждого СтрокаТовары Из Объект.Товары Цикл
СтрокаТовары.НомерРаздела = Раздел.НомерРаздела;
Раздел.ТаможеннаяСтоимость = Раздел.ТаможеннаяСтоимость + СтрокаТовары.ТаможеннаяСтоимость;
Раздел.СуммаАкциза = Раздел.СуммаАкциза + СтрокаТовары.СуммаАкциза;
КонецЦикла;
Иначе
НастройкиУчетаНДС = УчетНДСУП.НастройкиУчета();
ПараметрыЗаполнитьСтавкуНДС = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияСтавкиНДС(Объект);
ПараметрыЗаполнитьСтавкуНДС.НалогообложениеНДС = НастройкиУчетаНДС.ОсновнойВидДеятельностиНДСЗакупки;
СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", ПараметрыЗаполнитьСтавкуНДС);
КэшированныеЗначения = Новый Структура;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьТЧ(Объект.Товары, СтруктураДействий, КэшированныеЗначения);
Для каждого Строка Из Объект.Товары Цикл
Строка.СуммаНДС =
ЦенообразованиеКлиентСервер.РассчитатьСуммуНДС(
Строка.ТаможеннаяСтоимость + Строка.СуммаПошлины + Строка.СуммаАкциза,
Строка.СтавкаНДС,
Ложь);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Прочее
Функция ОперацииОтбораСоглашенийДоговоров() Экспорт
Операции = Новый Массив;
Операции.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика);
Возврат Операции;
КонецФункции
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеЗакупок
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
ЕстьПравоНаЧтениеПоступленийТоваровУслуг = ПравоДоступа("Чтение", Метаданные.Документы.ПриобретениеТоваровУслуг);
Если Не (ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыКОформлениюДокументовИмпорта)
И ЕстьПравоНаЧтениеПоступленийТоваровУслуг) Тогда
Возврат Неопределено;
КонецЕсли;
Параметры.Вставить("МассивОрганизаций",?(ЗначениеЗаполнено(Параметры.Организация),
ОбщегоНазначенияУТКлиентСервер.Массив(Параметры.Организация),
Неопределено));
Параметры.Вставить("БезОграниченияПериода");
ТекстГиперссылки = НСтр("ru = 'ТД импорт'");
Если ЕстьСчетаФактурыКОформлению(Параметры) Тогда
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,
ИмяФормыРабочееМестоТаможеннаяДекларацияИмпорт());
Иначе
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,ЦветаСтиля.НезаполненноеПолеТаблицы,,
ИмяФормыРабочееМестоТаможеннаяДекларацияИмпорт());
КонецЕсли;
КонецФункции
#КонецОбласти
Функция ИмяФормыРабочееМестоТаможеннаяДекларацияИмпорт() Экспорт
Возврат "Документ.ТаможеннаяДекларацияИмпорт.Форма.РабочееМесто";
КонецФункции
#КонецОбласти
#КонецЕсли