#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("УчетИмпорта");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ЗаявлениеОВвозеЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ЗаявлениеОВвозеТоваров") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстЗапросаТаблицаТоварыКОформлениюЗаявленийОВвозе(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииНДСКРаспределению(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаНДСПредъявленный(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоНДС(Запрос, ТекстыЗапроса, Регистры);
ЗаявлениеОВвозеЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ПроведениеДокументов.ДобавитьЗапросыСторноДвижений(Запрос, ТекстыЗапроса, Регистры, ПустаяСсылка().Метаданные());
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.СписаниеБезналичныхДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ЗаявлениеОВвозеТоваров) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ЗаявлениеОВвозеТоваров.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ЗаявлениеОВвозеТоваров);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьВвозТоваровИзТаможенногоСоюза";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КонецПроцедуры
Функция ПредставлениеЗаявленияОВвозеТоваров(Номер, Дата, Проведен, ДатаПодтвержденияОплаты) Экспорт
ДанныеШапки = Новый Структура();
ДанныеШапки.Вставить("Номер", Номер);
ДанныеШапки.Вставить("Дата", Дата);
МассивПодстрок = Новый Массив;
МассивПодстрок.Добавить(ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеШапки, НСтр("ru='Заявление о ввозе товаров'")));
Если ЗначениеЗаполнено(ДатаПодтвержденияОплаты) Тогда
МассивПодстрок.Добавить(СтрШаблон(НСтр("ru = '(подтверждено %1 г.)'"), Формат(ДатаПодтвержденияОплаты, "ДЛФ=D")));
КонецЕсли;
Если Не Проведен Тогда
МассивПодстрок.Добавить(НСтр("ru = '(не проведено)'"));
КонецЕсли;
Представление = СтрСоединить(МассивПодстрок, " ");
Возврат Представление;
КонецФункции
Функция ЗаявленияОВвозеТоваровПоОснованию(ДокументОснование, Организация = Неопределено, Проведен = Истина) Экспорт
Возврат ЗаявлениеОВвозеЛокализация.ЗаявленияОВвозеТоваровПоОснованию(ДокументОснование, Организация, Проведен);
КонецФункции
Функция ЗаявленияОВвозеТоваровПоИсправлению(ИсправительноеЗаявлениеОВвозе) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗаявлениеОВвозеТоваровТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ЗаявлениеОВвозеТоваровТовары.ДокументПоступления КАК ДокументПоступления
|ПОМЕСТИТЬ ВтТовары
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров КАК Операция
| ПО ЗаявлениеОВвозеТоваровТовары.Ссылка = Операция.Ссылка
|ГДЕ
| Операция.Ссылка = &Ссылка
| И Операция.Исправление
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1
| Операция.Ссылка КАК Ссылка,
| ЗаявлениеОВвозеТоваровТовары.ДокументПоступления КАК ДокументОснование
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров КАК Операция
| ПО ЗаявлениеОВвозеТоваровТовары.Ссылка = Операция.Ссылка
| И (Операция.Проведен)
| И (Операция.Организация = &Организация
| ИЛИ &Организация = НЕОПРЕДЕЛЕНО)
| И (НЕ Операция.Исправление)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТовары КАК ВтТовары
| ПО ЗаявлениеОВвозеТоваровТовары.АналитикаУчетаНоменклатуры = ВтТовары.АналитикаУчетаНоменклатуры
| И ЗаявлениеОВвозеТоваровТовары.ДокументПоступления = ВтТовары.ДокументПоступления";
Запрос.УстановитьПараметр("Ссылка", ИсправительноеЗаявлениеОВвозе);
Запрос.УстановитьПараметр("Организация", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ИсправительноеЗаявлениеОВвозе, "Организация"));
УстановитьПривилегированныйРежим(Истина);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Ссылка;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Функция ТаблицаОстатковТоваровКОформлениюЗаявленийОВвозеТоваров(ДокументПоступления, ЗаполнениеНаОсновании = Ложь, ПериодОформления = Неопределено) Экспорт
ОперацииРаздельнойЗакупки = Новый Массив;
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
РеквизитыДокументаПоступления = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПоступления, "Валюта, Дата");
Если ТипЗнч(ДокументПоступления) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг")
И ОперацииРаздельнойЗакупки.Найти(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументПоступления, "ХозяйственнаяОперация")) <> Неопределено Тогда
ИспользуетсяДокументПоступлениеТоваров = Истина;
Иначе
ИспользуетсяДокументПоступлениеТоваров = Ложь;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = ТекстЗапросаТоварыКОформлениюЗаявленийОВвозе();
Организация = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументПоступления, "Организация");
Запрос.УстановитьПараметр("ДокументПоступления", ДокументПоступления);
Запрос.УстановитьПараметр("ДоговорАренды", Неопределено);
ДолларСША = Справочники.Валюты.НайтиПоКоду("840");
ВалютаРегламентированногоУчета = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
Запрос.УстановитьПараметр("ПериодОформления", ?(ПериодОформления = Неопределено, Дата(3999,12,31), ПериодОформления));
Запрос.УстановитьПараметр("ДатаПринятияНаУчет", РеквизитыДокументаПоступления.Дата);
Запрос.УстановитьПараметр("ДолларСША", ДолларСША);
Запрос.УстановитьПараметр("ВидТранспорта", ОпределитьВидТранспортаПоСтатистике(ДокументПоступления));
Запрос.УстановитьПараметр("ЗаполнениеНаОсновании", ЗаполнениеНаОсновании);
Запрос.УстановитьПараметр("ИспользуетсяДокументПоступлениеТоваров", ИспользуетсяДокументПоступлениеТоваров);
Запрос.УстановитьПараметр("БазоваяВалюта",ВалютаРегламентированногоУчета);
Запрос.УстановитьПараметр("СтранаРегистрации", ЗначениеНастроекКлиентСерверПовтИсп.СтранаРегистрацииОрганизации(Организация));
Запрос.УстановитьПараметр("ТипЗаявлениеОВвозе", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъекта()));
Запрос.УстановитьПараметр("НоваяМеханика", ?(ТипЗнч(ДокументПоступления) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг"), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументПоступления, "НоваяМеханикаСозданияЗаявленийОВвозе"), Истина));
УстановитьПривилегированныйРежим(Истина);
ТаблицаТоваров = Запрос.Выполнить().Выгрузить();
Для каждого СтрокаТаблицыТовары Из ТаблицаТоваров Цикл
Если РеквизитыДокументаПоступления.Валюта <> ВалютаРегламентированногоУчета Тогда
СтруктураКурса = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(РеквизитыДокументаПоступления.Валюта, СтрокаТаблицыТовары.ДатаПринятияНаУчет);
Если СтруктураКурса.КурсЗнаменатель = 0 Тогда
СтруктураКурса.КурсЧислитель = 1;
СтруктураКурса.КурсЗнаменатель = 1;
КонецЕсли;
СтрокаТаблицыТовары.НалоговаяБазаНДС = СтрокаТаблицыТовары.ФактурнаяСтоимость * (СтруктураКурса.КурсЧислитель/СтруктураКурса.КурсЗнаменатель);
Иначе
СтрокаТаблицыТовары.НалоговаяБазаНДС = СтрокаТаблицыТовары.ФактурнаяСтоимость;
КонецЕсли;
СтрокаТаблицыТовары.НалоговаяБазаАкцизы = СтрокаТаблицыТовары.НалоговаяБазаНДС;
Если СтрокаТаблицыТовары.НалоговаяБазаНДС <> 0 Тогда
СтрокаТаблицыТовары.СуммаНДС = УчетНДСУПКлиентСервер.РассчитатьСуммуНДС(
СтрокаТаблицыТовары.НалоговаяБазаНДС,
УчетНДСУПКлиентСервер.ЗначениеСтавкиНДС(СтрокаТаблицыТовары.СтавкаНДС),
Ложь);
КонецЕсли;
Если ДолларСША <> Справочники.Валюты.ПустаяСсылка() Тогда
СтруктураКурса = РаботаСКурсамиВалютУТ.ПолучитьКурсВалюты(ДолларСША, СтрокаТаблицыТовары.ДатаПринятияНаУчет, ВалютаРегламентированногоУчета);
СтрокаТаблицыТовары.СтатСтоимостьДолларыСША = СтрокаТаблицыТовары.НалоговаяБазаНДС * (СтруктураКурса.КурсЗнаменатель/СтруктураКурса.КурсЧислитель);
КонецЕсли;
КонецЦикла;
Возврат ТаблицаТоваров;
КонецФункции
Функция ОпределитьВидТранспортаПоСтатистике(ДокументПоступления) Экспорт
РеквизитыДокументаПоступления = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПоступления, "Контрагент, Организация");
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 3
| ЗаявлениеОВвозеТоваровТовары.ВидТранспорта,
| ЗаявлениеОВвозеТоваровТовары.Ссылка.Дата КАК Период,
| 1 КАК Приоритет
|ПОМЕСТИТЬ ВТ_Документы
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
|ГДЕ
| ЗаявлениеОВвозеТоваровТовары.Ссылка.Контрагент = &Контрагент
| И ЗаявлениеОВвозеТоваровТовары.Ссылка.Организация = &Организация
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 3
| ЗаявлениеОВвозеТоваровТовары.ВидТранспорта,
| ЗаявлениеОВвозеТоваровТовары.Ссылка.Дата,
| 2
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
|ГДЕ
| ЗаявлениеОВвозеТоваровТовары.Ссылка.Организация = &Организация
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 3
| ЗаявлениеОВвозеТоваровТовары.ВидТранспорта,
| ЗаявлениеОВвозеТоваровТовары.Ссылка.Дата,
| 3
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &АвтодорожныйТранспорт,
| NULL,
| 4
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
|;
|
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| Подзапрос.ВидТранспорта КАК ВидТранспорта
|ИЗ
| (ВЫБРАТЬ
| ВТ_Документы.ВидТранспорта КАК ВидТранспорта,
| СУММА(1) КАК ЧастотаИспользования,
| ВТ_Документы.Приоритет КАК Приоритет
| ИЗ
| ВТ_Документы КАК ВТ_Документы
|
| СГРУППИРОВАТЬ ПО
| ВТ_Документы.ВидТранспорта,
| ВТ_Документы.Приоритет) КАК Подзапрос
|
|УПОРЯДОЧИТЬ ПО
| Подзапрос.Приоритет,
| Подзапрос.ЧастотаИспользования УБЫВ";
Запрос.УстановитьПараметр("Контрагент", РеквизитыДокументаПоступления.Контрагент);
Запрос.УстановитьПараметр("Организация", РеквизитыДокументаПоступления.Организация);
Запрос.УстановитьПараметр("АвтодорожныйТранспорт",
НСтр("ru = '30 - Автодорожный транспорт, за исключением транспортных средств, указанных под кодами 31, 32'"));
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Возврат Выборка.ВидТранспорта;
КонецФункции
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
ЗаявлениеОВвозеЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ЗаявлениеОВвозеЛокализация.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
КонецПроцедуры
Функция ЕстьСчетаФактурыКОформлению(Параметры) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИдентификаторМетаданныхЗаявлениеОВвозе", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявлениеОВвозеТоваров"));
Если Параметры.Свойство("ПоОрганизациям") Тогда
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
| ТоварыКОформлениюДокументовИмпортаОстатки.Организация КАК Организация
|ИЗ
| РегистрНакопления.ТоварыКОформлениюДокументовИмпорта.Остатки(, &УсловиеОтбораОрганизации
| И ТипДокументаИмпорта = &ИдентификаторМетаданныхЗаявлениеОВвозе
| И ТипЗначения(ДокументПоступления) В (&МассивТипов)) КАК ТоварыКОформлениюДокументовИмпортаОстатки
|ГДЕ
| ТоварыКОформлениюДокументовИмпортаОстатки.КоличествоОстаток > 0
|";
МассивИменДокументов = ТипыДокументовОснованийКОформлению();
МассивТипов = Новый Массив;
Для Каждого ИмяТипа Из МассивИменДокументов Цикл
Если Не ПравоДоступа("Чтение", Метаданные.Документы[ИмяТипа]) Тогда
Продолжить;
КонецЕсли;
МассивТипов.Добавить(Тип("ДокументСсылка." + ИмяТипа));
КонецЦикла;
Запрос.УстановитьПараметр("МассивТипов", МассивТипов);
Иначе
ТекстЗапросаОснования = ТекстЗапросаОснованияКОформлениюЗаявленийОВвозеТоваров();
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
| ТоварыКОформлениюДокументовИмпортаОстатки.ДокументПоступления КАК ДокументПоступления
|ПОМЕСТИТЬ ВтРаспоряженияНаОформлениеЗаявленийОВвозе
|ИЗ
| РегистрНакопления.ТоварыКОформлениюДокументовИмпорта.Остатки(, &УсловиеОтбораОрганизации
| И ТипДокументаИмпорта = &ИдентификаторМетаданныхЗаявлениеОВвозе) КАК ТоварыКОформлениюДокументовИмпортаОстатки
|ГДЕ
| ТоварыКОформлениюДокументовИмпортаОстатки.КоличествоОстаток > 0
|
|ИНДЕКСИРОВАТЬ ПО
| ДокументПоступления
|;
|
|ВЫБРАТЬ
| СУММА(ДанныеРаспоряжений.КоличествоДокументовКОформлению) КАК КоличествоДокументовКОформлению
|ИЗ
| #ТекстЗапросаОснования КАК ДанныеРаспоряжений";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТекстЗапросаОснования", "(" + ТекстЗапросаОснования + ")");
КонецЕсли;
Если ЗначениеЗаполнено(Параметры.МассивОрганизаций) Тогда
УсловиеОтбораОрганизации = "Организация В (&МассивОрганизаций)";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораОрганизации", УсловиеОтбораОрганизации);
Запрос.УстановитьПараметр("МассивОрганизаций", Параметры.МассивОрганизаций);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораОрганизации", "ИСТИНА");
КонецЕсли;
Если Параметры.Свойство("БезОграниченияПериода") Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораПериода", "ИСТИНА");
Запрос.УстановитьПараметр("КонецПериода", ТекущаяДатаСеанса());
Иначе
УсловиеОтбораПериода = "ДокументРаспоряжение.Дата <= &КонецПериода";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеОтбораПериода", УсловиеОтбораПериода);
Запрос.УстановитьПараметр("КонецПериода", Параметры.КонецПериода);
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Если Параметры.Свойство("ПоОрганизациям") Тогда
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Организация");
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() И НЕ Выборка.КоличествоДокументовКОформлению = NULL Тогда
Возврат Выборка.КоличествоДокументовКОформлению;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
Функция ТипыДокументовОснованийКОформлению() Экспорт
МассивТипов = Новый Массив;
МассивТипов.Добавить("ПриобретениеТоваровУслуг");
Возврат МассивТипов;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)";
КонецПроцедуры
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ПолноеИмяОбъекта()
Возврат "Документ.ЗаявлениеОВвозеТоваров";
КонецФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст =
"ВЫБРАТЬ
| ЗаявлениеОВвозеТоваров.Ссылка,
| ЗаявлениеОВвозеТоваров.Дата,
| ЗаявлениеОВвозеТоваров.Организация,
| ЗаявлениеОВвозеТоваров.Контрагент,
| ЗаявлениеОВвозеТоваров.Валюта,
| ЗаявлениеОВвозеТоваров.СуммаДокумента,
| ЗаявлениеОВвозеТоваров.РучнаяКорректировкаЖурналаСФ,
| ЕСТЬNULL(СпрКонтрагенты.Партнер, ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)) КАК Поставщик,
| ЗаявлениеОВвозеТоваров.Номер КАК Номер,
| ЗаявлениеОВвозеТоваров.Договор КАК Договор,
| ЗаявлениеОВвозеТоваров.Ответственный КАК Ответственный,
| ЗаявлениеОВвозеТоваров.Подразделение КАК Подразделение,
| ЗаявлениеОВвозеТоваров.Комментарий КАК Комментарий,
| ЗаявлениеОВвозеТоваров.Исправление КАК Исправление,
| ЗаявлениеОВвозеТоваров.СторнируемыйДокумент КАК СторнируемыйДокумент,
| ЗаявлениеОВвозеТоваров.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ЗаявлениеОВвозеТоваров.ПометкаУдаления КАК ПометкаУдаления,
| ЗаявлениеОВвозеТоваров.Проведен КАК Проведен,
| ЗаявлениеОВвозеТоваров.Организация.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета,
| ЗаявлениеОВвозеТоваров.Организация.СтранаРегистрации КАК СтранаРегистрации
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров КАК ЗаявлениеОВвозеТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК СпрКонтрагенты
| ПО ЗаявлениеОВвозеТоваров.Контрагент = СпрКонтрагенты.Ссылка
|ГДЕ
| ЗаявлениеОВвозеТоваров.Ссылка = &Ссылка";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("Период", Реквизиты.Дата);
Запрос.УстановитьПараметр("КодВидаОперации", "19");
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета",
ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("НомерНаПечать", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер,Истина));
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъекта()));
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации", Справочники.НастройкиХозяйственныхОпераций.ЗакупкаВСтранахЕАЭС);
Запрос.УстановитьПараметр("НастройкаХозяйственнойОперации_ВключениеНДСВСтоимость", Справочники.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость);
Запрос.УстановитьПараметр("СуммаНДС", ДокументСсылка.Товары.Итог("СуммаНДС"));
Запрос.УстановитьПараметр("НалоговаяБазаНДС", ДокументСсылка.Товары.Итог("НалоговаяБазаНДС"));
Запрос.УстановитьПараметр("РучнаяКорректировкаЖурналаСФ", Реквизиты.РучнаяКорректировкаЖурналаСФ);
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ШаблонСтроки = НСтр("ru = 'По договору ""%1""'");
ИнформацияПоДоговору = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСтроки, Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос;
ЗапросАналитик.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения КАК МестоХранения
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = Аналитика.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = Аналитика.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия = Аналитика.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = Аналитика.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = Аналитика.Назначение
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям";
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям", Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура ИнициализироватьКурсыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУПР") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамивалютУТ.ПолучитьКоэффициентыПересчетаВалюты(
ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Запрос.Параметры.Организация),
Константы.ВалютаУправленческогоУчета.Получить(),
Запрос.Параметры.Период,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУПР", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Функция ТекстЗапросаТаблицаТоварыКОформлениюЗаявленийОВвозе(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюЗаявленийОВвозе";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗаявлениеОВвозеТоваровТовары.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ЗаявлениеОВвозеТоваровТовары.ДокументПоступления КАК ДокументПоступления,
| ЗаявлениеОВвозеТоваровТовары.Номенклатура КАК Номенклатура,
| ЗаявлениеОВвозеТоваровТовары.Характеристика КАК Характеристика,
| ЗаявлениеОВвозеТоваровТовары.Серия КАК Серия,
| ЗаявлениеОВвозеТоваровТовары.Склад КАК Склад,
| ЗаявлениеОВвозеТоваровТовары.Количество КАК КОформлению,
| ЗаявлениеОВвозеТоваровТовары.ФактурнаяСтоимость КАК ФактурнаяСтоимость
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ЗаявлениеОВвозеТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
| ПО ЗаявлениеОВвозеТоваровТовары.ДокументПоступления = ПриобретениеТоваровУслуг.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО ЗаявлениеОВвозеТоваровТовары.Номенклатура = СпрНоменклатура.Ссылка
|ГДЕ
| ЗаявлениеОВвозеТоваровТовары.Ссылка = &Ссылка
| И НЕ ПриобретениеТоваровУслуг.НоваяМеханикаСозданияЗаявленийОВвозе
| И ЗаявлениеОВвозеТоваровТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И СпрНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыКОформлениюДокументовИмпорта";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Поставщик КАК Поставщик,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.ДокументПоступления КАК ДокументПоступления,
| &ИдентификаторМетаданных КАК ТипДокументаИмпорта,
| ТаблицаТовары.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ТаблицаТовары.ФактурнаяСтоимость КАК Сумма,
| ТаблицаТовары.НомерТД КАК НомерГТД,
| ЛОЖЬ КАК Первичное,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДокументПриобретенияСтараяМеханика
| ПО ТаблицаТовары.ДокументПоступления = ДокументПриобретенияСтараяМеханика.Ссылка
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И ТаблицаТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ЕСТЬNULL(ДокументПриобретенияСтараяМеханика.НоваяМеханикаСозданияЗаявленийОВвозе, ИСТИНА)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстВыборкаПоляАналитик =
"ВЫБРАТЬ
| ""Товары"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТаможенныйСоюз) КАК ВидЦенности,
| 0 КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ТоварыПоступления"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокументаПоступления.Партнер КАК Поставщик,
| ДанныеДокументаПоступления.Контрагент КАК Контрагент,
| МИНИМУМ(ТаблицаДокументаПоступления.СтавкаНДС) КАК СтавкаНДС,
| ДанныеДокументаПоступления.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК ТаблицаДокументаПоступления
| ПО ТаблицаДокумента.ДокументПоступления = ТаблицаДокументаПоступления.Ссылка
| И ТаблицаДокумента.Номенклатура = ТаблицаДокументаПоступления.Номенклатура
| И ТаблицаДокумента.Характеристика = ТаблицаДокументаПоступления.Характеристика
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеДокументаПоступления
| ПО ТаблицаДокумента.ДокументПоступления = ДанныеДокументаПоступления.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = ТаблицаДокумента.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаДокумента.НомерСтроки,
| ДанныеДокументаПоступления.Партнер,
| ДанныеДокументаПоступления.Контрагент,
| ДанныеДокументаПоступления.ЗакупкаПодДеятельность,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары))
|
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТаблицаДокументаПоступления.СтавкаНДС) = 1
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииРасходовНаСебестоимостьТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКурсыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ТоварыДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.ДокументПоступления КАК ДокументПоступления,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ДанныеДокумента.Ссылка КАК ДокументПоступленияРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
|
| СУММА(ТоварыДокумента.Количество) КАК Количество,
| СУММА(&КоэффициентПересчетаВВалютуУпр
| * ТоварыДокумента.СуммаНДС) КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| СУММА(ВЫБОР
| КОГДА ТаблицаАналитикУчетаПартий.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТоварыДокумента.СуммаНДС
| КОНЕЦ) КАК НДСРегл,
| ТоварыДокумента.Подразделение КАК ПодразделениеРасходов,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница
|
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТоварыДокумента
| ПО ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТоварыДокумента.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И &ПартионныйУчетВерсии21
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.Дата,
| ДанныеДокумента.Организация,
| ТоварыДокумента.ДокументПоступления,
| ТоварыДокумента.АналитикаУчетаНоменклатуры,
| ТоварыДокумента.ВидЗапасов,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий,
| ТоварыДокумента.Подразделение
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииНДСКРаспределению(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииНДСКРаспределению";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ДанныеДокумента.Контрагент КАК Поставщик,
| &Ссылка КАК ДокументПоступленияРасходов,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТаможенныйСоюз) КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий.СтавкаНДС КАК СтавкаНДС,
|
| 0 КАК СтоимостьРегл,
| ТоварыДокумента.СуммаНДС КАК НДСРегл,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА &КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаНДС
| ИНАЧЕ 0 КОНЕЦ КАК НДСУпр,
|
| ТоварыДокумента.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТоварыДокумента
| ПО ТоварыДокумента.Ссылка = ДанныеДокумента.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТоварыДокумента.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
| И ТоварыДокумента.СуммаНДС <> 0
| И ТаблицаАналитикУчетаПартий.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКурсыВалют(Запрос);
Запрос.УстановитьПараметр("НДС_ВвозимыеТовары", Справочники.ВидыНалоговВзносов.ПолучитьСсылкуПредопределенногоЭлемента("НДС_ВвозимыеТовары"));
ТекстЗапроса =
"ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ДанныеДокумента.Организация КАК Организация,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК Подразделение,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиАктивовПассивов.Налоги) КАК Статья,
| &НДС_ВвозимыеТовары КАК Аналитика,
| ВЫРАЗИТЬ(ДанныеДокумента.СуммаДокумента
| * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(31,2)) КАК Сумма
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "Закупки";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ИнициализироватьКурсыВалют(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| Операция.Дата КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС) КАК ХозяйственнаяОперация,
| Операция.Организация КАК Организация,
| ПриобретениеТоваровУслугТовары.Подразделение КАК Подразделение,
| ПриобретениеТоваровУслуг.Менеджер КАК Менеджер,
| ТоварыДокумента.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыДокумента.Склад КАК Склад,
| ТоварыДокумента.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТоварыДокумента.ВидЗапасов КАК ВидЗапасов,
| ПриобретениеТоваровУслуг.Партнер КАК Партнер,
| ПриобретениеТоваровУслуг.Контрагент КАК Контрагент,
| ПриобретениеТоваровУслуг.Соглашение КАК Соглашение,
| ПриобретениеТоваровУслуг.Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Заказ,
|
| ТоварыДокумента.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| ПриобретениеТоваровУслуг.НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| 0 КАК Количество,
| &КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаНДС КАК Сумма,
| 0 КАК СуммаБезНДС,
| ТоварыДокумента.СуммаНДС КАК СуммаРегл,
| 0 КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
| &КоэффициентПересчетаВВалютуУпр * ТоварыДокумента.СуммаНДС КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| ТоварыДокумента.СуммаНДС КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| ТоварыДокумента.СуммаНДС КАК СуммаВВалютеДокумента,
| 0 КАК СуммаБезНДСВВалютеДокумента,
| &ВалютаРегламентированногоУчета КАК ВалютаВзаиморасчетов,
| ТоварыДокумента.СуммаНДС КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТоварыДокумента.ВидЗапасов
| ИНАЧЕ ТоварыДокумента.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ПриобретениеТоваровУслугТовары.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТоварыДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
| ПО ПриобретениеТоваровУслугТовары.Ссылка = ПриобретениеТоваровУслуг.Ссылка
| ПО ТоварыДокумента.ДокументПоступления = ПриобретениеТоваровУслугТовары.Ссылка
| И ВЫБОР
| КОГДА ПриобретениеТоваровУслугТовары.ИдентификаторСтроки <> """" ТОГДА
| ТоварыДокумента.ИдентификаторСтроки = ПриобретениеТоваровУслугТовары.ИдентификаторСтроки
| ИНАЧЕ
| ТоварыДокумента.АналитикаУчетаНоменклатуры = ПриобретениеТоваровУслугТовары.АналитикаУчетаНоменклатуры
| КОНЕЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров КАК Операция
| ПО ТоварыДокумента.Ссылка = Операция.Ссылка
|ГДЕ
| ТоварыДокумента.Ссылка = &Ссылка
| И ТоварыДокумента.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтОснований", ТекстыЗапроса) Тогда
ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА ДанныеДокумента.КоличествоНаправленийДеятельности = 1
| ТОГДА ДанныеДокумента.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ДанныеДокумента.КоличествоМестХранения = 1
| ТОГДА ДанныеДокумента.МестоХранения
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Ответственный КАК Ответственный,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &Период КАК ДатаПервичногоДокумента,
| &НомерНаПечать КАК НомерПервичногоДокумента,
| &Исправление КАК СторноИсправление,
| &СторнируемыйДокумент КАК СторнируемыйДокумент,
| &ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| ВтОснований КАК ДанныеДокумента";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ТекстЗапросаВтНДСПоЗаявлениюОВвозе(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтНДСПоЗаявлениюОВвозе";
Если ПроведениеДокументов.ЕстьТаблицаЗапроса(ИмяРегистра, ТекстыЗапроса) Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ИнициализироватьКурсыВалют(Запрос);
УчетНДСУПСлужебный.УстановитьПараметрТипыНалогообложенияНДСПоступления(Запрос);
Запрос.УстановитьПараметр("ДатаНачалаУчетаНДСПоНаправлениямДеятельности", УчетНДСУП.НастройкиУчета().ДатаНачалаУчетаНДСПоНаправлениямДеятельности);
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Регистратор,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| &Ссылка КАК СчетФактура,
| Операция.Контрагент КАК Поставщик,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| Строки.СтавкаНДС КАК СтавкаНДС,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ВЫБОР КОГДА Операция.Дата >= &ДатаНачалаУчетаНДСПоНаправлениямДеятельности ТОГДА
| Строки.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельности,
| 0 КАК СуммаБезНДС,
| Строки.СуммаНДС КАК НДС,
| ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА Строки.СуммаНДС * &КоэффициентПересчетаВВалютуУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| Строки.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Строки.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.НачислениеНДСНалоговымАгентом) КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ВтНДСПоЗаявлениюОВвозе
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров КАК Операция
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
| И Строки.НалоговаяБазаНДС <> 0
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = Строки.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| Операция.Ссылка = &Ссылка
| И Операция.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
КонецПроцедуры
Функция ТекстЗапросаТаблицаНДСПредъявленный(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "НДСПредъявленный";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтНДСПоЗаявлениюОВвозе", ТекстыЗапроса) Тогда
ТекстЗапросаВтНДСПоЗаявлениюОВвозе(Запрос, ТекстыЗапроса)
КонецЕсли;
ТекстЗапроса = "
|
|ВЫБРАТЬ
| НДСПоЗаявлениюОВвозе.Регистратор КАК Регистратор,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| НДСПоЗаявлениюОВвозе.Период КАК Период,
| НДСПоЗаявлениюОВвозе.Организация КАК Организация,
| НДСПоЗаявлениюОВвозе.СчетФактура КАК СчетФактура,
| НДСПоЗаявлениюОВвозе.Поставщик КАК Поставщик,
| НДСПоЗаявлениюОВвозе.ВидЦенности КАК ВидЦенности,
| НДСПоЗаявлениюОВвозе.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС =
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| И НЕ &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| ИЛИ НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС =
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ИНАЧЕ
| НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС
| КОНЕЦ КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| НДСПоЗаявлениюОВвозе.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НДСПоЗаявлениюОВвозе.СуммаБезНДС КАК СуммаБезНДС,
| НДСПоЗаявлениюОВвозе.НДС КАК НДС,
| НДСПоЗаявлениюОВвозе.НДСУпр КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| ЛОЖЬ КАК РегламентнаяОперация,
| """" КАК ИдентификаторСтроки,
|
| НДСПоЗаявлениюОВвозе.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| НДСПоЗаявлениюОВвозе.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтНДСПоЗаявлениюОВвозе КАК НДСПоЗаявлениюОВвозе
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| НДСПоЗаявлениюОВвозе.Регистратор КАК Регистратор,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| НДСПоЗаявлениюОВвозе.Период КАК Период,
| НДСПоЗаявлениюОВвозе.Организация КАК Организация,
| НДСПоЗаявлениюОВвозе.СчетФактура КАК СчетФактура,
| НДСПоЗаявлениюОВвозе.Поставщик КАК Поставщик,
| НДСПоЗаявлениюОВвозе.ВидЦенности КАК ВидЦенности,
| НДСПоЗаявлениюОВвозе.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС =
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
| И НЕ &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| ИЛИ НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС =
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ИНАЧЕ
| НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС
| КОНЕЦ КАК ВидДеятельностиНДС,
| НЕОПРЕДЕЛЕНО КАК ИсправленныйСчетФактура,
| НЕОПРЕДЕЛЕНО КАК РеализацияЭкспорт,
| НДСПоЗаявлениюОВвозе.НаправлениеДеятельности КАК НаправлениеДеятельности,
| НДСПоЗаявлениюОВвозе.СуммаБезНДС КАК СуммаБезНДС,
| НДСПоЗаявлениюОВвозе.НДС КАК НДС,
| НДСПоЗаявлениюОВвозе.НДСУпр КАК НДСУпр,
| НЕОПРЕДЕЛЕНО КАК Событие,
| НЕОПРЕДЕЛЕНО КАК КорВидДеятельностиНДС,
| ЛОЖЬ КАК РегламентнаяОперация,
| НДСПоЗаявлениюОВвозе.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| НДСПоЗаявлениюОВвозе.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации_ВключениеНДСВСтоимость КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтНДСПоЗаявлениюОВвозе КАК НДСПоЗаявлениюОВвозе
|ГДЕ
| НДСПоЗаявлениюОВвозе.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоНДС(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоНДС";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтНДСПоЗаявлениюОВвозе", ТекстыЗапроса) Тогда
ТекстЗапросаВтНДСПоЗаявлениюОВвозе(Запрос, ТекстыЗапроса)
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| НДСПоЗаявлениюОВвозе.Регистратор КАК Регистратор,
| НДСПоЗаявлениюОВвозе.Период КАК Период,
| НДСПоЗаявлениюОВвозе.Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейДвиженийПоНДС.Исходящий) КАК ТипЗаписи,
| НДСПоЗаявлениюОВвозе.Поставщик КАК Контрагент,
| НДСПоЗаявлениюОВвозе.СчетФактура КАК СчетФактура,
| НДСПоЗаявлениюОВвозе.СтавкаНДС КАК СтавкаНДС,
| НДСПоЗаявлениюОВвозе.ВидЦенности КАК ВидЦенности,
| НДСПоЗаявлениюОВвозе.СуммаБезНДС КАК СуммаБезНДС,
| НДСПоЗаявлениюОВвозе.НДС КАК НДС,
| НДСПоЗаявлениюОВвозе.НДСУпр КАК НДСУпр,
| ЛОЖЬ КАК РегламентнаяОперация,
| НДСПоЗаявлениюОВвозе.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| НДСПоЗаявлениюОВвозе.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ЛОЖЬ КАК Сторно
|ИЗ
| ВтНДСПоЗаявлениюОВвозе КАК НДСПоЗаявлениюОВвозе";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТоварыКОформлениюЗаявленийОВвозе(ЗаполнениеНаОсновании = Ложь)
ТекстЗапроса =
"ВЫБРАТЬ
| ПриобретениеТоваровУслуг.Ссылка КАК Ссылка,
| ПриобретениеТоваровУслуг.Контрагент КАК Контрагент,
| ПриобретениеТоваровУслуг.Договор КАК Договор,
| ПриобретениеТоваровУслуг.Валюта КАК Валюта,
| ПриобретениеТоваровУслуг.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ПриобретениеТоваровУслуг.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ПриобретениеТоваровУслуг.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента
|ПОМЕСТИТЬ ВТ_Операция
|ИЗ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
|ГДЕ
| ПриобретениеТоваровУслуг.Ссылка = &ДокументПоступления
|;
|
|
|ВЫБРАТЬ
| ТоварыПриобретения.Ссылка КАК Ссылка,
| ТоварыПриобретения.НомерСтроки КАК НомерСтроки,
| ТоварыПриобретения.Номенклатура КАК Номенклатура,
| ТоварыПриобретения.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыПриобретения.Характеристика КАК Характеристика,
| ТоварыПриобретения.Серия КАК Серия,
| ТоварыПриобретения.Склад КАК Склад,
| ЕСТЬNULL(ТоварыПриобретения.Назначение.ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) КАК ВидДеятельностиНДС,
| ПриобретениеТоваровУслуг.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ТоварыПриобретения.НомерГТД.СтранаПроисхождения КАК СтранаПроисхождения,
| ТоварыПриобретения.НомерГТД КАК НомерТД,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыПриобретения.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА &НоваяМеханика
| ТОГДА """"
| ИНАЧЕ ТоварыПриобретения.ИдентификаторСтроки
| КОНЕЦ КАК ИдентификаторСтроки,
| """" КАК Содержание
|ПОМЕСТИТЬ ВТ_ТоварыБезГруппировки
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТоварыПриобретения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
| ПО ТоварыПриобретения.Ссылка = ПриобретениеТоваровУслуг.Ссылка
|ГДЕ
| ТоварыПриобретения.Ссылка = &ДокументПоступления
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПриобретениеТоваровУслугВидыЗапасов.Ссылка,
| МИНИМУМ(ПриобретениеТоваровУслугВидыЗапасов.НомерСтроки),
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура,
| МИНИМУМ(ПриобретениеТоваровУслугТовары.НоменклатураПартнера),
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика,
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Серия,
| ВЫБОР
| КОГДА
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| ТОГДА ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ,
| ЕСТЬNULL(ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)),
| ПриобретениеТоваровУслуг.ЗакупкаПодДеятельность,
| ПриобретениеТоваровУслугВидыЗапасов.НомерГТД.СтранаПроисхождения,
| ПриобретениеТоваровУслугВидыЗапасов.НомерГТД,
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры,
| ПриобретениеТоваровУслугВидыЗапасов.ВидЗапасов,
| ВЫБОР
| КОГДА &НоваяМеханика
| ТОГДА """"
| ИНАЧЕ ПриобретениеТоваровУслугВидыЗапасов.ИдентификаторСтроки
| КОНЕЦ,
| """"
|ИЗ
| Документ.ПриобретениеТоваровУслуг.ВидыЗапасов КАК ПриобретениеТоваровУслугВидыЗапасов
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
| ПО
| ПриобретениеТоваровУслугВидыЗапасов.Ссылка = ПриобретениеТоваровУслуг.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
| ПО
| ПриобретениеТоваровУслугВидыЗапасов.Ссылка = ПриобретениеТоваровУслугТовары.Ссылка
| И ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = ПриобретениеТоваровУслугТовары.АналитикаУчетаНоменклатуры.Номенклатура
| И ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = ПриобретениеТоваровУслугТовары.АналитикаУчетаНоменклатуры.Характеристика
|ГДЕ
| &ИспользуетсяДокументПоступлениеТоваров
| И ПриобретениеТоваровУслугВидыЗапасов.Ссылка = &ДокументПоступления
|
|СГРУППИРОВАТЬ ПО
| ПриобретениеТоваровУслугВидыЗапасов.Ссылка,
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура,
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика,
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Серия,
| ВЫБОР
| КОГДА ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| ТОГДА ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| КОНЕЦ,
| ЕСТЬNULL(ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС, ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)),
| ПриобретениеТоваровУслуг.ЗакупкаПодДеятельность,
| ПриобретениеТоваровУслугВидыЗапасов.НомерГТД.СтранаПроисхождения,
| ПриобретениеТоваровУслугВидыЗапасов.НомерГТД,
| ПриобретениеТоваровУслугВидыЗапасов.АналитикаУчетаНоменклатуры,
| ПриобретениеТоваровУслугВидыЗапасов.ВидЗапасов,
| ВЫБОР
| КОГДА &НоваяМеханика
| ТОГДА """"
| ИНАЧЕ ПриобретениеТоваровУслугВидыЗапасов.ИдентификаторСтроки
| КОНЕЦ
|;
|
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТоварыБезГруппировки.Ссылка КАК Ссылка,
| ТоварыБезГруппировки.Номенклатура КАК Номенклатура,
| ТоварыБезГруппировки.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыБезГруппировки.Характеристика КАК Характеристика,
| ТоварыБезГруппировки.Серия КАК Серия,
| ТоварыБезГруппировки.Склад КАК Склад,
| ТоварыБезГруппировки.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТоварыБезГруппировки.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ТоварыБезГруппировки.СтранаПроисхождения КАК СтранаПроисхождения,
| ТоварыБезГруппировки.НомерТД КАК НомерТД,
| ТоварыБезГруппировки.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыБезГруппировки.ВидЗапасов КАК ВидЗапасов,
| ТоварыБезГруппировки.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТоварыБезГруппировки.Содержание КАК Содержание
|ПОМЕСТИТЬ ВТ_Товары
|ИЗ
| ВТ_ТоварыБезГруппировки КАК ТоварыБезГруппировки
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.Номенклатура КАК Номенклатура,
| ТоварыКОформлению.Характеристика КАК Характеристика,
| ТоварыКОформлению.Серия КАК Серия,
| ТоварыКОформлению.Склад КАК Склад,
| ТоварыКОформлению.КОформлениюОстаток КАК КОформлению
|ПОМЕСТИТЬ ОстаткиКОформлениюСтараяМеханика
|ИЗ
| РегистрНакопления.ТоварыКОформлениюЗаявленийОВвозе.Остатки(, ДокументПоступления = &ДокументПоступления) КАК
| ТоварыКОформлению
|ГДЕ
| ТоварыКОформлению.КОформлениюОстаток > 0
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.Номенклатура КАК Номенклатура,
| ТоварыКОформлению.Характеристика КАК Характеристика,
| ТоварыКОформлению.Серия КАК Серия,
| ТоварыКОформлению.Склад КАК Склад,
| ТоварыКОформлению.ФактурнаяСтоимость КАК ФактурнаяСтоимость,
| ТоварыКОформлению.КОформлению КАК КОформлению,
| ТоварыКОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ТоварыКОформлениюСтараяМеханика
|ИЗ
| РегистрНакопления.ТоварыКОформлениюЗаявленийОВвозе КАК ТоварыКОформлению
| ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиКОформлениюСтараяМеханика КАК ОстаткиКОформлениюСтараяМеханика
| ПО ТоварыКОформлению.ДокументПоступления = ОстаткиКОформлениюСтараяМеханика.ДокументПоступления
| И ТоварыКОформлению.Номенклатура = ОстаткиКОформлениюСтараяМеханика.Номенклатура
| И ТоварыКОформлению.Характеристика = ОстаткиКОформлениюСтараяМеханика.Характеристика
| И ТоварыКОформлению.Серия = ОстаткиКОформлениюСтараяМеханика.Серия
| И ТоварыКОформлению.Склад = ОстаткиКОформлениюСтараяМеханика.Склад
|ГДЕ
| ТоварыКОформлению.Активность
| И ТоварыКОформлению.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И ТоварыКОформлению.ДокументПоступления = &ДокументПоступления
| И (НЕ &ЗаполнениеНаОсновании
| ИЛИ НЕ ОстаткиКОформлениюСтараяМеханика.ДокументПоступления ЕСТЬ NULL)
| И НЕ &НоваяМеханика
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыКОформлению.ВидЗапасов КАК ВидЗапасов,
| ТоварыКОформлению.КоличествоОстаток КАК Количество,
| ТоварыКОформлению.СуммаОстаток КАК Сумма,
| """" КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ОстаткиКОформлениюНоваяМеханика
|ИЗ
| РегистрНакопления.ТоварыКОформлениюДокументовИмпорта.Остатки(
| &ПериодОформления,
| ДокументПоступления = &ДокументПоступления
| И ТипДокументаИмпорта = &ТипЗаявлениеОВвозе) КАК ТоварыКОформлению
|ГДЕ
| (ТоварыКОформлению.КоличествоОстаток > 0
| ИЛИ ТоварыКОформлению.СуммаОстаток > 0)
| И &НоваяМеханика
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| КлючАналитикиУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| КлючАналитикиУчетаНоменклатуры.Характеристика КАК Характеристика,
| КлючАналитикиУчетаНоменклатуры.Серия КАК Серия,
| КлючАналитикиУчетаНоменклатуры.МестоХранения КАК Склад,
| ТоварыКОформлению.ВидЗапасов КАК ВидЗапасов,
| ТоварыКОформлению.НомерГТД КАК НомерГТД,
| СУММА(ВЫБОР
| КОГДА ТоварыКОформлению.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ТоварыКОформлению.Количество
| ИНАЧЕ
| -ТоварыКОформлению.Количество
| КОНЕЦ) КАК Количество,
| СУММА(ВЫБОР
| КОГДА ТоварыКОформлению.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ТоварыКОформлению.Сумма
| ИНАЧЕ
| -ТоварыКОформлению.Сумма
| КОНЕЦ) КАК Сумма,
| """" КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ТоварыКОформлениюНоваяМеханика
|ИЗ
| РегистрНакопления.ТоварыКОформлениюДокументовИмпорта КАК ТоварыКОформлению
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК КлючАналитикиУчетаНоменклатуры
| ПО ТоварыКОформлению.АналитикаУчетаНоменклатуры = КлючАналитикиУчетаНоменклатуры.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиКОформлениюНоваяМеханика КАК ОстаткиКОформлениюНоваяМеханика
| ПО ТоварыКОформлению.АналитикаУчетаНоменклатуры = ОстаткиКОформлениюНоваяМеханика.АналитикаУчетаНоменклатуры
| И ТоварыКОформлению.ВидЗапасов = ОстаткиКОформлениюНоваяМеханика.ВидЗапасов
| И ТоварыКОформлению.ДокументПоступления = ОстаткиКОформлениюНоваяМеханика.ДокументПоступления
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Сторно КАК ДокументыСторно
| ПО ТоварыКОформлению.Регистратор = ДокументыСторно.Ссылка
| И ТИПЗНАЧЕНИЯ(ДокументыСторно.СторнируемыйДокумент) = ТИП(Документ.ЗаявлениеОВвозеТоваров)
| И ДокументыСторно.Проведен
|ГДЕ
| ТоварыКОформлению.Активность
| И ТоварыКОформлению.ДокументПоступления = &ДокументПоступления
| И ТоварыКОформлению.ТипДокументаИмпорта = &ТипЗаявлениеОВвозе
| И ТИПЗНАЧЕНИЯ(ТоварыКОформлению.Регистратор) <> ТИП(Документ.ЗаявлениеОВвозеТоваров)
| И ДокументыСторно.Ссылка ЕСТЬ NULL
| И (НЕ &ЗаполнениеНаОсновании
| ИЛИ НЕ ОстаткиКОформлениюНоваяМеханика.ДокументПоступления ЕСТЬ NULL)
| И &НоваяМеханика
|
|СГРУППИРОВАТЬ ПО
| ТоварыКОформлению.ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры,
| КлючАналитикиУчетаНоменклатуры.Номенклатура,
| КлючАналитикиУчетаНоменклатуры.Характеристика,
| КлючАналитикиУчетаНоменклатуры.Серия,
| КлючАналитикиУчетаНоменклатуры.МестоХранения,
| ТоварыКОформлению.ВидЗапасов,
| ТоварыКОформлению.НомерГТД
|
|ИМЕЮЩИЕ
| СУММА(ВЫБОР
| КОГДА ТоварыКОформлению.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ТоварыКОформлению.Количество
| ИНАЧЕ
| -ТоварыКОформлению.Количество
| КОНЕЦ) > 0
| ИЛИ СУММА(ВЫБОР
| КОГДА ТоварыКОформлению.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА ТоварыКОформлению.Сумма
| ИНАЧЕ
| -ТоварыКОформлению.Сумма
| КОНЕЦ) > 0
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыКОформлению.Номенклатура КАК Номенклатура,
| ТоварыКОформлению.Характеристика КАК Характеристика,
| ТоварыКОформлению.Серия КАК Серия,
| ТоварыКОформлению.Склад КАК Склад,
| ТоварыКОформлению.ВидЗапасов КАК ВидЗапасов,
| ТоварыКОформлению.НомерГТД КАК НомерГТД,
| СУММА(ТоварыКОформлению.Количество) КАК Количество,
| СУММА(ТоварыКОформлению.Сумма) КАК Сумма,
| ТоварыКОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ТоварыКОформлениюПредварительные
|ИЗ
| ТоварыКОформлениюНоваяМеханика КАК ТоварыКОформлению
|
|СГРУППИРОВАТЬ ПО
| ТоварыКОформлению.ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры,
| ТоварыКОформлению.Номенклатура,
| ТоварыКОформлению.Характеристика,
| ТоварыКОформлению.Серия,
| ТоварыКОформлению.Склад,
| ТоварыКОформлению.ВидЗапасов,
| ТоварыКОформлению.НомерГТД,
| ТоварыКОформлению.ИдентификаторСтроки
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыКОформлениюСтараяМеханика.ДокументПоступления,
| ПриобретениеТоваровУслугТовары.АналитикаУчетаНоменклатуры,
| ТоварыКОформлениюСтараяМеханика.Номенклатура,
| ТоварыКОформлениюСтараяМеханика.Характеристика,
| ТоварыКОформлениюСтараяМеханика.Серия,
| ТоварыКОформлениюСтараяМеханика.Склад,
| ПриобретениеТоваровУслугТовары.ВидЗапасов,
| НЕОПРЕДЕЛЕНО,
| ТоварыКОформлениюСтараяМеханика.КОформлению,
| ТоварыКОформлениюСтараяМеханика.ФактурнаяСтоимость,
| ТоварыКОформлениюСтараяМеханика.ИдентификаторСтроки
|ИЗ
| ТоварыКОформлениюСтараяМеханика КАК ТоварыКОформлениюСтараяМеханика
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Товары КАК ПриобретениеТоваровУслугТовары
| ПО ТоварыКОформлениюСтараяМеханика.ДокументПоступления = ПриобретениеТоваровУслугТовары.Ссылка
| И ТоварыКОформлениюСтараяМеханика.Номенклатура = ПриобретениеТоваровУслугТовары.Номенклатура
| И ТоварыКОформлениюСтараяМеханика.Характеристика = ПриобретениеТоваровУслугТовары.Характеристика
| И ТоварыКОформлениюСтараяМеханика.Серия = ПриобретениеТоваровУслугТовары.Серия
| И ТоварыКОформлениюСтараяМеханика.Склад = ПриобретениеТоваровУслугТовары.Склад
| И ТоварыКОформлениюСтараяМеханика.ИдентификаторСтроки = ПриобретениеТоваровУслугТовары.ИдентификаторСтроки
|ГДЕ
| ТоварыКОформлениюСтараяМеханика.КОформлению > 0
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыКОформлению.Номенклатура КАК Номенклатура,
| ТоварыКОформлению.ВидЗапасов КАК ВидЗапасов,
| ТоварыКОформлению.НомерГТД КАК НомерГТД,
| СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| СпрНоменклатура.КодТНВЭД КАК КодТНВЭД,
| СпрНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ЕСТЬNULL(СтавкиНДСНоменклатуры.СтавкаНДС, ЕСТЬNULL(ОсновныеСтавкиНДС.СтавкаНДС,
| ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка))) КАК СтавкаНДС,
| ТоварыКОформлению.Характеристика КАК Характеристика,
| ТоварыКОформлению.Серия КАК Серия,
| ТоварыКОформлению.Склад КАК Склад,
| ТоварыКОформлению.Сумма КАК Сумма,
| ТоварыКОформлению.Количество КАК Количество,
| ТоварыКОформлению.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ТоварыКОформлению
|ИЗ
| ТоварыКОформлениюПредварительные КАК ТоварыКОформлению
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО ТоварыКОформлению.Номенклатура = СпрНоменклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтавкиНДСНоменклатуры.СрезПоследних(
| &ДатаПринятияНаУчет,
| Страна = &СтранаРегистрации
| ИЛИ Страна = ЗНАЧЕНИЕ(Справочник.СтраныМира.ПустаяСсылка)) КАК СтавкиНДСНоменклатуры
| ПО ТоварыКОформлению.Номенклатура = СтавкиНДСНоменклатуры.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеСтавкиНДС.СрезПоследних(&ДатаПринятияНаУчет,
| Страна = &СтранаРегистрации) КАК ОсновныеСтавкиНДС
| ПО (ИСТИНА)
|;
|
|
|ВЫБРАТЬ
| ТоварыКОформлению.ДокументПоступления КАК ДокументПоступления,
| ТоварыКОформлению.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыКОформлению.Номенклатура КАК Номенклатура,
| ТоварыКОформлению.ВидЗапасов КАК ВидЗапасов,
| ТоварыКОформлению.КодТНВЭД КАК КодТНВЭД,
| ТоварыКОформлению.Характеристика КАК Характеристика,
| ТоварыКОформлению.Серия КАК Серия,
| ТоварыКОформлению.Склад КАК Склад,
| ТоварыКОформлению.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ТоварыКОформлению.Количество КАК Количество,
| ТоварыКОформлению.Сумма КАК ФактурнаяСтоимость,
| 0 КАК НалоговаяБазаНДС,
| ТоварыКОформлению.СтавкаНДС КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| 0 КАК СтатСтоимостьДолларыСША,
| &ТекстЗапросаВес * ТоварыКОформлению.Количество КАК ВесНеттоКг,
| ВЫБОР
| КОГДА ТоварыКОформлению.КодТНВЭД.ЕдиницаИзмерения = ТоварыКОформлению.ЕдиницаИзмерения
| ТОГДА 1
| КОГДА ТоварыКОформлению.ЕдиницаИзмерения.ЕдиницаИзмерения = ТоварыКОформлению.КодТНВЭД.ЕдиницаИзмерения
| И ТоварыКОформлению.ЕдиницаИзмерения.Знаменатель <> 0
| ТОГДА ТоварыКОформлению.ЕдиницаИзмерения.Числитель / ТоварыКОформлению.ЕдиницаИзмерения.Знаменатель
| КОГДА ТоварыКОформлению.КодТНВЭД.ЕдиницаИзмерения.Числитель = 0
| ТОГДА 0
| ИНАЧЕ ВЫБОР ТоварыКОформлению.КодТНВЭД.ЕдиницаИзмерения.ТипИзмеряемойВеличины
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Вес)
| ТОГДА &ТекстЗапросаВес
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Объем)
| ТОГДА &ТекстЗапросаОбъем
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Площадь)
| ТОГДА &ТекстЗапросаПлощадь
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Длина)
| ТОГДА &ТекстЗапросаДлина
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.КоличествоШтук)
| ТОГДА &ТекстЗапросаКоличествоШтук
| ИНАЧЕ 0
| КОНЕЦ * ТоварыКОформлению.КодТНВЭД.ЕдиницаИзмерения.Знаменатель /
| ТоварыКОформлению.КодТНВЭД.ЕдиницаИзмерения.Числитель
| КОНЕЦ * ТоварыКОформлению.Количество КАК КоличествоПоТНВЭД,
| 0 КАК НалоговаяБазаАкцизы,
| ЕСТЬNULL(ДокументПоступленияТовары.СтранаПроисхождения, Операция.Контрагент.СтранаРегистрации) КАК
| СтранаПроисхождения,
| ДокументПоступленияТовары.НомерТД КАК НомерТД,
| Операция.Валюта КАК Валюта,
| Операция.НомерВходящегоДокумента КАК СерияНомерТСД,
| Операция.ДатаВходящегоДокумента КАК ДатаТСД,
| Операция.Договор КАК Договор,
| ВЫБОР
| КОГДА ДокументПоступленияТовары.ВидДеятельностиНДС <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА ДокументПоступленияТовары.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ КАК ЗакупкаПодДеятельность,
| ДокументПоступленияТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ДокументПоступленияТовары.ИдентификаторСтроки КАК ИдентификаторСтроки,
| &ДатаПринятияНаУчет КАК ДатаПринятияНаУчет,
| &ВидТранспорта КАК ВидТранспорта
|ПОМЕСТИТЬ ВтТоварыЗаявления
|ИЗ
| ТоварыКОформлению КАК ТоварыКОформлению
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Товары КАК ДокументПоступленияТовары
| ПО ТоварыКОформлению.ДокументПоступления = ДокументПоступленияТовары.Ссылка
| И (ТоварыКОформлению.АналитикаУчетаНоменклатуры = ДокументПоступленияТовары.АналитикаУчетаНоменклатуры
| ИЛИ ТоварыКОформлению.АналитикаУчетаНоменклатуры = НЕОПРЕДЕЛЕНО)
| И ТоварыКОформлению.НомерГТД = ДокументПоступленияТовары.НомерТД
| И ТоварыКОформлению.ИдентификаторСтроки = ДокументПоступленияТовары.ИдентификаторСтроки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Операция КАК Операция
| ПО (ДокументПоступленияТовары.Ссылка = Операция.Ссылка)
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(
| &ДатаПринятияНаУчет,
| Валюта = &ДолларСША
| И БазоваяВалюта = &БазоваяВалюта) КАК КурсВалютыДолларСША
| ПО (ИСТИНА)
|ГДЕ
| (ТоварыКОформлению.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| ИЛИ ТоварыКОформлению.АналитикаУчетаНоменклатуры = НЕОПРЕДЕЛЕНО)
|;
|
|
|ВЫБРАТЬ
| *
|ИЗ
| ВтТоварыЗаявления КАК ВтТоварыЗаявления";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаВес",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаВесУпаковки(
"ТоварыКОформлению.ЕдиницаИзмерения",
"ТоварыКОформлению.Номенклатура"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаОбъем",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаОбъемУпаковки(
"ТоварыКОформлению.ЕдиницаИзмерения",
"ТоварыКОформлению.Номенклатура"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаПлощадь",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаПлощадьУпаковки(
"ТоварыКОформлению.ЕдиницаИзмерения",
"ТоварыКОформлению.Номенклатура"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаДлина",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаДлинаУпаковки(
"ТоварыКОформлению.ЕдиницаИзмерения",
"ТоварыКОформлению.Номенклатура"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекстЗапросаКоличествоШтук",
Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаКоэффициентаУпаковки(
"ТоварыКОформлению.ЕдиницаИзмерения",
"ТоварыКОформлению.Номенклатура"));
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтОснований";
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| МАКСИМУМ(
| ЕСТЬNULL(ТаблицаТовары.ДокументПоступления.НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))) КАК НаправлениеДеятельности,
| МАКСИМУМ(
| ЕСТЬNULL(ТаблицаТовары.ДокументПоступления.Склад,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка))) КАК МестоХранения,
| КОЛИЧЕСТВО(
| РАЗЛИЧНЫЕ ЕСТЬNULL(ТаблицаТовары.ДокументПоступления.НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))) КАК КоличествоНаправленийДеятельности,
| КОЛИЧЕСТВО(
| РАЗЛИЧНЫЕ ЕСТЬNULL(ТаблицаТовары.ДокументПоступления.Склад,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка))) КАК КоличествоМестХранения
|ПОМЕСТИТЬ ВтОснований
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТаблицаТовары
| ПО ДанныеДокумента.Ссылка = ТаблицаТовары.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьТоварыКОформлениюЗаявленийОВвозеТоваров(ДополнительныеСвойства, Движения, Отказ) Экспорт
ТаблицаТоварыКОформлениюЗаявленийОВвозе = ДополнительныеСвойства.ТаблицыДляДвижений.ТаблицаТоварыКОформлениюЗаявленийОВвозеТоваров;
Если Отказ ИЛИ ТаблицаТоварыКОформлениюЗаявленийОВвозе.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ДвиженияТоварыКОформлениюЗаявленийОВвозе = Движения.ТоварыКОформлениюЗаявленийОВвозе;
ДвиженияТоварыКОформлениюЗаявленийОВвозе.Записывать = Истина;
ДвиженияТоварыКОформлениюЗаявленийОВвозе.Загрузить(ТаблицаТоварыКОформлениюЗаявленийОВвозе);
КонецПроцедуры
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.ЗаявлениеОВвозеТоваров";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("НомерНаПечать", """""");
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ЗначенияПараметров.Вставить("ХозяйственнаяОперация", Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
ТекстыЗапросаВременныхТаблиц.Вставить("ВтОснований", ТекстЗапросаВтОснований(Запрос, ТекстыЗапроса));
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуУпр");
ДополнительныеПараметры.Добавить("КоэффициентПересчетаВВалютуРегл");
ДополнительныеПараметры.Добавить("ТипыНалогообложенияНДСУчитываетсяВСтоимости");
Если Запрос <> Неопределено Тогда
ИнициализироватьКурсыВалют(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Запрос.УстановитьПараметр("ТипыНалогообложенияНДСУчитываетсяВСтоимости",
УчетНДСУП.ВидыДеятельностиНДСУчитываетсяВСтоимости());
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтТаблицаАналитикУчетаПартий");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВнешнееПоступление_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаВидыЗапасов.ДокументПоступления КАК ДокументИсточник,
| ПриобретениеТоваровУслуг.Дата КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ЕСТЬNULL(ТоварыПоступления.ВидЗапасов, ТаблицаВидыЗапасов.ВидЗапасов) КАК ВидЗапасов,
| ТаблицаВидыЗапасов.ДокументПоступления КАК Партия,
| ТаблицаАналитикУчетаПартийПоступления.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартийПоступления.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаАналитикУчетаПартийПоступления.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ПриобретениеТоваровУслуг.Сделка КАК Сделка,
| ПриобретениеТоваровУслуг.Подразделение КАК Подразделение,
| ПриобретениеТоваровУслуг.Менеджер КАК Менеджер,
|
| 0 КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаАналитикУчетаПартийПоступления.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСРегл,
| 0 КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаАналитикУчетаПартийПоступления.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ &КоэффициентПересчетаВВалютуУпр * ТаблицаВидыЗапасов.СуммаНДС
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| &КоэффициентПересчетаВВалютуУпр * ТаблицаВидыЗапасов.СуммаНДС КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| (ВЫБОР
| КОГДА ПриобретениеТоваровУслуг.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС) КОНЕЦ) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации_ВключениеНДСВСтоимость КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ЗаявлениеОВвозеТоваров.Товары КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг.Товары КАК ТоварыПоступления
| ПО ТоварыПоступления.Ссылка = ТаблицаВидыЗапасов.ДокументПоступления
| И ВЫБОР КОГДА ТоварыПоступления.ИдентификаторСтроки <> """"
| ТОГДА ТоварыПоступления.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
| ИНАЧЕ ТоварыПоступления.АналитикаУчетаНоменклатуры = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры
| КОНЕЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаявлениеОВвозеТоваров КАК ТаблицаДокумента
| ПО ТаблицаВидыЗапасов.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслуг
| ПО ТаблицаВидыЗапасов.ДокументПоступления = ПриобретениеТоваровУслуг.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартийПоступления
| ПО ТаблицаАналитикУчетаПартийПоступления.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартийПоступления.ИмяТабличнойЧасти = ""ТоварыПоступления""
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.СуммаНДС <> 0
| И ТаблицаВидыЗапасов.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область ФормированиеГиперссылкиВЖурналеЗакупок
Функция СформироватьГиперссылкуКОформлению(Параметры) Экспорт
ЕстьПравоНаЧтениеПоступленийТоваровУслуг = ПравоДоступа("Чтение", Метаданные.Документы.ПриобретениеТоваровУслуг);
Если Не (ПравоДоступа("Чтение", Метаданные.РегистрыНакопления.ТоварыКОформлениюЗаявленийОВвозе)
И ЕстьПравоНаЧтениеПоступленийТоваровУслуг) Тогда
Возврат Неопределено;
КонецЕсли;
Параметры.Вставить("МассивОрганизаций",?(ЗначениеЗаполнено(Параметры.Организация),
ОбщегоНазначенияУТКлиентСервер.Массив(Параметры.Организация),
Неопределено));
Параметры.Вставить("БезОграниченияПериода");
ТекстГиперссылки = НСтр("ru = 'Заявления о ввозе'");
Если ЕстьСчетаФактурыКОформлению(Параметры) Тогда
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,,,
ИмяФормыЗаявленияОВвозеТоваров());
Иначе
Возврат Новый ФорматированнаяСтрока(ТекстГиперссылки,,ЦветаСтиля.НезаполненноеПолеТаблицы,,
ИмяФормыЗаявленияОВвозеТоваров());
КонецЕсли;
КонецФункции
Функция ИмяФормыЗаявленияОВвозеТоваров() Экспорт
Возврат "Документ.ЗаявлениеОВвозеТоваров.Форма.ФормаРабочееМесто";
КонецФункции
Функция ТекстЗапросаОснованияКОформлениюЗаявленийОВвозеТоваров()
МассивТекстовЗапроса = Новый Массив;
ШаблонЗапроса = "
|ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДокументРаспоряжение.Ссылка) КАК КоличествоДокументовКОформлению
| ИЗ
| #ДокументРаспоряжение КАК ДокументРаспоряжение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаспоряженияНаОформлениеЗаявленийОВвозе КАК ВтРаспоряженияНаОформлениеЗаявленийОВвозе
| ПО ДокументРаспоряжение.Ссылка = ВтРаспоряженияНаОформлениеЗаявленийОВвозе.ДокументПоступления
| ГДЕ
| &УсловиеОтбораПериода
|";
МассивТипов = ТипыДокументовОснованийКОформлению();
ТекстЗапроса = "";
Для Каждого ИмяТипа Из МассивТипов Цикл
Если Не ПравоДоступа("Чтение", Метаданные.Документы[ИмяТипа]) Тогда
Продолжить;
КонецЕсли;
ТекстЗапросаДляТипа = СтрЗаменить(ШаблонЗапроса, "#ДокументРаспоряжение", "Документ." + ИмяТипа);
МассивТекстовЗапроса.Добавить(ТекстЗапросаДляТипа);
КонецЦикла;
ТекстЗапроса = СтрСоединить(МассивТекстовЗапроса, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли