#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область Проведение
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОборотныеРегистрыУправленческогоУчета");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("СуммыДокументовВВалютахУчета");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетИмпорта");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ОформлениеОтчетовКомитентуОЗакупках");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
МеханизмыДокумента.Добавить("ПередачаВПереработку");
КорректировкаПриобретенияЛокализация.ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ДопПараметры = Неопределено Тогда
ДопПараметры = ПроведениеДокументов.ДопПараметрыИнициализироватьДанныеДокументаДляПроведения();
КонецЕсли;
Если ТипЗнч(Документ) = Тип("ДокументОбъект.КорректировкаПриобретения") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
Если Не ДопПараметры.ПолучитьТекстыЗапроса Тогда
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПринятаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыУслугиКОформлениюОтчетовКомитентуОЗакупках(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса, Регистры);
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
КорректировкаПриобретенияЛокализация.ДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
КонецЕсли;
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры);
ОформитьИзлишкиНедостачиНаСкладе(Запрос, ТекстыЗапроса, Регистры);
ОформитьКорректировкуТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Обработки.СправочноеРазмещениеНоменклатуры.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
Документы.КорректировкаГрафикаВзаиморасчетов.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
Справочники.Претензии.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КорректировкаПриобретенияЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
Документы.НачислениеРеверсивногоНДС.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КонецПроцедуры
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.КорректировкаПриобретения) Тогда
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.КорректировкаПриобретения.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.КорректировкаПриобретения);
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КомандаСоздатьНаОсновании.ФункциональныеОпции = "ИспользоватьКорректировкиПриобретений";
Возврат КомандаСоздатьНаОсновании;
КонецЕсли;
Возврат Неопределено;
КонецФункции
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
КомандаОтчет = Отчеты.СправкаРасчетНачисленияПроцентныхРасходовДисконтирования.ДобавитьКомандуОтчета(КомандыОтчетов);
Если КомандаОтчет <> Неопределено Тогда
КомандаОтчет.ВидимостьВФормах = "ФормаДокумента,ФормаСписка,СписокДокументов";
КонецЕсли;
ВзаиморасчетыСервер.КарточкаРасчетовСПоставщиком_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
ВзаиморасчетыСервер.ЗадолженностьПоставщикам_ДобавитьКомандуОтчетаПоДокументам(КомандыОтчетов);
КорректировкаПриобретенияЛокализация.ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
Функция НаименованияВходящихДокументов() Экспорт
МассивНаименований = Новый Массив();
КорректировкаПриобретенияЛокализация.ДополнитьНаименованияВходящихДокументов(МассивНаименований);
Возврат МассивНаименований
КонецФункции
#Область Заполнение
Процедура ЗаполнитьИменаРеквизитовПоОснованию(ДокументОснование, МассивВсехРеквизитов, МассивРеквизитовОперации, ТипКорректировки = Неопределено) Экспорт
МассивВсехРеквизитов = Новый Массив;
МассивВсехРеквизитов.Добавить("Склад");
МассивВсехРеквизитов.Добавить("Соглашение");
МассивВсехРеквизитов.Добавить("Договор");
МассивВсехРеквизитов.Добавить("Товары.НоменклатураПартнера");
МассивВсехРеквизитов.Добавить("Товары.Номенклатура");
МассивВсехРеквизитов.Добавить("Товары.Характеристика");
МассивВсехРеквизитов.Добавить("Товары.Назначение");
МассивВсехРеквизитов.Добавить("Товары.Содержание");
МассивВсехРеквизитов.Добавить("Товары.Упаковка");
МассивВсехРеквизитов.Добавить("Товары.КоличествоУпаковок");
МассивВсехРеквизитов.Добавить("Товары.Количество");
МассивВсехРеквизитов.Добавить("Товары.Цена");
МассивВсехРеквизитов.Добавить("Товары.Склад");
МассивВсехРеквизитов.Добавить("Товары.ЗаказПоставщику");
МассивВсехРеквизитов.Добавить("Товары.КодСтроки");
МассивВсехРеквизитов.Добавить("Товары.НомерГТД");
МассивВсехРеквизитов.Добавить("Товары.КодТНВЭД");
МассивВсехРеквизитов.Добавить("Товары.Сделка");
МассивВсехРеквизитов.Добавить("Товары.Серия");
МассивВсехРеквизитов.Добавить("Товары.СтатусУказанияСерий");
МассивВсехРеквизитов.Добавить("Товары.СписатьНаРасходы");
МассивВсехРеквизитов.Добавить("Товары.НаправлениеДеятельности");
МассивВсехРеквизитов.Добавить("Товары.НомерГруппыЗатрат");
МассивВсехРеквизитов.Добавить("Товары.СтатьяКалькуляции");
МассивВсехРеквизитов.Добавить("Расхождения.Серия");
МассивВсехРеквизитов.Добавить("Расхождения.Номенклатура");
МассивВсехРеквизитов.Добавить("Расхождения.Характеристика");
МассивВсехРеквизитов.Добавить("Расхождения.Назначение");
МассивВсехРеквизитов.Добавить("Расхождения.Содержание");
МассивВсехРеквизитов.Добавить("Расхождения.Упаковка");
МассивВсехРеквизитов.Добавить("Расхождения.КоличествоУпаковок");
МассивВсехРеквизитов.Добавить("Расхождения.Склад");
МассивВсехРеквизитов.Добавить("Расхождения.ЗаказПоставщику");
МассивВсехРеквизитов.Добавить("Расхождения.КодСтроки");
МассивВсехРеквизитов.Добавить("Расхождения.НомерГТД");
МассивВсехРеквизитов.Добавить("Расхождения.КодТНВЭД");
МассивВсехРеквизитов.Добавить("Расхождения.Сделка");
МассивВсехРеквизитов.Добавить("Расхождения.СписатьНаРасходы");
МассивВсехРеквизитов.Добавить("Расхождения.НаправлениеДеятельности");
МассивВсехРеквизитов.Добавить("Расхождения.НомерГруппыЗатрат");
МассивВсехРеквизитов.Добавить("Расхождения.СтатьяКалькуляции");
МассивРеквизитовОперации = Новый Массив;
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") Тогда
МассивРеквизитовОперации.Добавить("Склад");
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("Товары.НоменклатураПартнера");
МассивРеквизитовОперации.Добавить("Товары.Номенклатура");
МассивРеквизитовОперации.Добавить("Товары.Характеристика");
МассивРеквизитовОперации.Добавить("Товары.Назначение");
МассивРеквизитовОперации.Добавить("Товары.Упаковка");
МассивРеквизитовОперации.Добавить("Товары.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.Количество");
МассивРеквизитовОперации.Добавить("Товары.Склад");
МассивРеквизитовОперации.Добавить("Товары.Цена");
МассивРеквизитовОперации.Добавить("Товары.ЗаказПоставщику");
МассивРеквизитовОперации.Добавить("Товары.КодСтроки");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.Сделка");
МассивРеквизитовОперации.Добавить("Товары.Серия");
МассивРеквизитовОперации.Добавить("Товары.СтатусУказанияСерий");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Расхождения.Серия");
МассивРеквизитовОперации.Добавить("Расхождения.Номенклатура");
МассивРеквизитовОперации.Добавить("Расхождения.Характеристика");
МассивРеквизитовОперации.Добавить("Расхождения.Назначение");
МассивРеквизитовОперации.Добавить("Расхождения.Упаковка");
МассивРеквизитовОперации.Добавить("Расхождения.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Расхождения.Склад");
МассивРеквизитовОперации.Добавить("Расхождения.ЗаказПоставщику");
МассивРеквизитовОперации.Добавить("Расхождения.КодСтроки");
МассивРеквизитовОперации.Добавить("Расхождения.НомерГТД");
МассивРеквизитовОперации.Добавить("Расхождения.Сделка");
МассивРеквизитовОперации.Добавить("Расхождения.СписатьНаРасходы");
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПриобретениеУслугПрочихАктивов") Тогда
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("Товары.Содержание");
МассивРеквизитовОперации.Добавить("Товары.НаправлениеДеятельности");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Товары.Количество");
МассивРеквизитовОперации.Добавить("Товары.Цена");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.КодТНВЭД");
МассивРеквизитовОперации.Добавить("Расхождения.Содержание");
МассивРеквизитовОперации.Добавить("Расхождения.НаправлениеДеятельности");
МассивРеквизитовОперации.Добавить("Расхождения.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Расхождения.НомерГТД");
МассивРеквизитовОперации.Добавить("Расхождения.КодТНВЭД");
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ОтчетПереработчика2_5") Тогда
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("Товары.Номенклатура");
МассивРеквизитовОперации.Добавить("Товары.Характеристика");
МассивРеквизитовОперации.Добавить("Товары.Назначение");
МассивРеквизитовОперации.Добавить("Товары.Количество");
МассивРеквизитовОперации.Добавить("Товары.Цена");
МассивРеквизитовОперации.Добавить("Товары.ЗаказПоставщику");
МассивРеквизитовОперации.Добавить("Товары.КодСтроки");
МассивРеквизитовОперации.Добавить("Товары.Сделка");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Товары.НаправлениеДеятельности");
МассивРеквизитовОперации.Добавить("Товары.НомерГруппыЗатрат");
МассивРеквизитовОперации.Добавить("Товары.СтатьяКалькуляции");
МассивРеквизитовОперации.Добавить("Расхождения.Номенклатура");
МассивРеквизитовОперации.Добавить("Расхождения.Характеристика");
МассивРеквизитовОперации.Добавить("Расхождения.Назначение");
МассивРеквизитовОперации.Добавить("Расхождения.ЗаказПоставщику");
МассивРеквизитовОперации.Добавить("Расхождения.КодСтроки");
МассивРеквизитовОперации.Добавить("Расхождения.Сделка");
МассивРеквизитовОперации.Добавить("Расхождения.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Расхождения.НаправлениеДеятельности");
МассивРеквизитовОперации.Добавить("Расхождения.НомерГруппыЗатрат");
МассивРеквизитовОперации.Добавить("Расхождения.СтатьяКалькуляции");
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПервичныйДокумент") Тогда
МассивРеквизитовОперации.Добавить("Соглашение");
МассивРеквизитовОперации.Добавить("Договор");
МассивРеквизитовОперации.Добавить("Товары.Количество");
МассивРеквизитовОперации.Добавить("Товары.Цена");
МассивРеквизитовОперации.Добавить("Товары.СписатьНаРасходы");
МассивРеквизитовОперации.Добавить("Расхождения.СписатьНаРасходы");
Если ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг Тогда
МассивРеквизитовОперации.Добавить("Склад");
МассивРеквизитовОперации.Добавить("Товары.НоменклатураПартнера");
МассивРеквизитовОперации.Добавить("Товары.Номенклатура");
МассивРеквизитовОперации.Добавить("Товары.Характеристика");
МассивРеквизитовОперации.Добавить("Товары.Назначение");
МассивРеквизитовОперации.Добавить("Товары.Серия");
МассивРеквизитовОперации.Добавить("Товары.СтатусУказанияСерий");
МассивРеквизитовОперации.Добавить("Товары.Упаковка");
МассивРеквизитовОперации.Добавить("Товары.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.Склад");
МассивРеквизитовОперации.Добавить("Расхождения.Номенклатура");
МассивРеквизитовОперации.Добавить("Расхождения.Характеристика");
МассивРеквизитовОперации.Добавить("Расхождения.Назначение");
МассивРеквизитовОперации.Добавить("Расхождения.Серия");
МассивРеквизитовОперации.Добавить("Расхождения.Упаковка");
МассивРеквизитовОперации.Добавить("Расхождения.КоличествоУпаковок");
МассивРеквизитовОперации.Добавить("Расхождения.НомерГТД");
МассивРеквизитовОперации.Добавить("Расхождения.Склад");
Иначе
МассивРеквизитовОперации.Добавить("Товары.Содержание");
МассивРеквизитовОперации.Добавить("Товары.НаправлениеДеятельности");
МассивРеквизитовОперации.Добавить("Товары.НомерГТД");
МассивРеквизитовОперации.Добавить("Товары.КодТНВЭД");
МассивРеквизитовОперации.Добавить("Расхождения.Содержание");
МассивРеквизитовОперации.Добавить("Расхождения.НаправлениеДеятельности");
МассивРеквизитовОперации.Добавить("Расхождения.НомерГТД");
МассивРеквизитовОперации.Добавить("Расхождения.КодТНВЭД");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьТоварыПоАктуОРасхождениях(Объект) Экспорт
Объект.Товары.Очистить();
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ТоварыПриобретения.Ссылка КАК Ссылка,
| ТоварыПриобретения.НомерСтроки КАК НомерСтроки,
| ТоварыПриобретения.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыПриобретения.Назначение КАК Назначение,
| ТоварыПриобретения.Упаковка КАК Упаковка,
| ТоварыПриобретения.Цена КАК Цена,
| ТоварыПриобретения.СтавкаНДС КАК СтавкаНДС,
| ТоварыПриобретения.ЗаказПоставщику КАК ЗаказПоставщику,
| ТоварыПриобретения.КодСтроки КАК КодСтроки,
| ТоварыПриобретения.Склад КАК Склад,
| ТоварыПриобретения.Серия КАК Серия,
| ТоварыПриобретения.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТоварыПриобретения.СписатьНаРасходы КАК СписатьНаРасходы,
| ТоварыПриобретения.СтатьяРасходов КАК СтатьяРасходов,
| ТоварыПриобретения.АналитикаРасходов КАК АналитикаРасходов,
| ТоварыПриобретения.Сделка КАК Сделка,
| ТоварыПриобретения.Подразделение КАК Подразделение,
| ТоварыПриобретения.НомерГТД КАК НомерГТД,
|
| СУММА(ТоварыПриобретения.Сумма) КАК Сумма,
| СУММА(ТоварыПриобретения.СуммаНДС) КАК СуммаНДС,
| СУММА(ТоварыПриобретения.СуммаСНДС) КАК СуммаСНДС,
| СУММА(ТоварыПриобретения.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ТоварыПриобретения.Количество) КАК Количество,
| СУММА(ТоварыПриобретения.КоличествоПоРНПТ) КАК КоличествоПоРНПТ
|ПОМЕСТИТЬ ВТТоварыПолный
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТоварыПриобретения
|ГДЕ
| ТоварыПриобретения.Ссылка = &ДокументОснование
|СГРУППИРОВАТЬ ПО
| ТоварыПриобретения.Ссылка,
| ТоварыПриобретения.НомерСтроки,
| ТоварыПриобретения.НоменклатураПартнера,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры,
| ТоварыПриобретения.Назначение,
| ТоварыПриобретения.Упаковка,
| ТоварыПриобретения.Цена,
| ТоварыПриобретения.СтавкаНДС,
| ТоварыПриобретения.ЗаказПоставщику,
| ТоварыПриобретения.КодСтроки,
| ТоварыПриобретения.Склад,
| ТоварыПриобретения.Серия,
| ТоварыПриобретения.СтатусУказанияСерий,
| ТоварыПриобретения.СписатьНаРасходы,
| ТоварыПриобретения.СтатьяРасходов,
| ТоварыПриобретения.АналитикаРасходов,
| ТоварыПриобретения.Сделка,
| ТоварыПриобретения.Подразделение,
| ТоварыПриобретения.НомерГТД
|
|ИНДЕКСИРОВАТЬ ПО
| ТоварыПриобретения.Ссылка,
| ТоварыПриобретения.НомерГТД,
| ТоварыПриобретения.Назначение,
| ТоварыПриобретения.Серия,
| ТоварыПриобретения.ЗаказПоставщику,
| ТоварыПриобретения.Склад,
| ТоварыПриобретения.КодСтроки,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| Товары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Товары.НомерГТД КАК НомерГТД,
| Товары.Назначение КАК Назначение,
| Товары.Серия КАК Серия,
| Товары.ЗаказПоставщику КАК ЗаказПоставщику,
| Товары.Склад КАК Склад,
| Товары.КодСтроки КАК КодСтроки,
| СУММА(Товары.Количество) КАК Количество,
| СУММА(Товары.КоличествоПоРНПТ) КАК КоличествоПоРНПТ
|ПОМЕСТИТЬ ВТТовары
|ИЗ
| ВТТоварыПолный КАК Товары
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.АналитикаУчетаНоменклатуры,
| Товары.НомерГТД,
| Товары.Назначение,
| Товары.Серия,
| Товары.ЗаказПоставщику,
| Товары.Склад,
| Товары.КодСтроки
|
|ИНДЕКСИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.НомерГТД,
| Товары.Назначение,
| Товары.Серия,
| Товары.ЗаказПоставщику,
| Товары.Склад,
| Товары.КодСтроки,
| Товары.АналитикаУчетаНоменклатуры
|;
|
|
|ВЫБРАТЬ
| АктОРасхожденияхПослеПриемкиТовары.ДокументОснование КАК ДокументОснование,
| АктОРасхожденияхПослеПриемкиТовары.НомерСтроки КАК НомерСтроки,
| АктОРасхожденияхПослеПриемкиТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| АктОРасхожденияхПослеПриемкиТовары.Номенклатура КАК Номенклатура,
| АктОРасхожденияхПослеПриемкиТовары.Характеристика КАК Характеристика,
| АктОРасхожденияхПослеПриемкиТовары.Назначение КАК Назначение,
| АктОРасхожденияхПослеПриемкиТовары.Упаковка КАК Упаковка,
| АктОРасхожденияхПослеПриемкиТовары.Цена КАК Цена,
| АктОРасхожденияхПослеПриемкиТовары.СтавкаНДС КАК СтавкаНДС,
| АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| АктОРасхожденияхПослеПриемкиТовары.КодСтроки КАК КодСтроки,
| АктОРасхожденияхПослеПриемкиТовары.Склад КАК Склад,
| АктОРасхожденияхПослеПриемкиТовары.Серия КАК Серия,
| АктОРасхожденияхПослеПриемкиТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| АктОРасхожденияхПослеПриемкиТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| АктОРасхожденияхПослеПриемкиТовары.СтатьяРасходов КАК СтатьяРасходов,
| АктОРасхожденияхПослеПриемкиТовары.АналитикаРасходов КАК АналитикаРасходов,
| АктОРасхожденияхПослеПриемкиТовары.Сделка КАК Сделка,
| АктОРасхожденияхПослеПриемкиТовары.Подразделение КАК Подразделение,
| АктОРасхожденияхПослеПриемкиТовары.НомерГТД КАК НомерГТД,
| АктОРасхожденияхПослеПриемкиТовары.Действие КАК Действие,
| АктОРасхожденияхПослеПриемкиТовары.Сумма КАК Сумма,
| АктОРасхожденияхПослеПриемкиТовары.СуммаПоДокументу КАК СуммаПоДокументу,
| АктОРасхожденияхПослеПриемкиТовары.СуммаНДС КАК СуммаНДС,
| АктОРасхожденияхПослеПриемкиТовары.СуммаНДСПоДокументу КАК СуммаНДСПоДокументу,
| АктОРасхожденияхПослеПриемкиТовары.СуммаСНДС КАК СуммаСНДС,
| АктОРасхожденияхПослеПриемкиТовары.СуммаСНДСПоДокументу КАК СуммаСНДСПоДокументу,
| АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковокПоДокументу КАК КоличествоУпаковокПоДокументу,
| АктОРасхожденияхПослеПриемкиТовары.Количество КАК Количество,
| АктОРасхожденияхПослеПриемкиТовары.КоличествоПоДокументу КАК КоличествоПоДокументу,
| АктОРасхожденияхПослеПриемкиТовары.ЗаполненоПоОснованию КАК ЗаполненоПоОснованию
|ПОМЕСТИТЬ ВТАктОРасхожденияхПослеПриемкиТовары
|
|ИЗ
| Документ.АктОРасхожденияхПослеПриемки.Товары КАК АктОРасхожденияхПослеПриемкиТовары
|ГДЕ
| АктОРасхожденияхПослеПриемкиТовары.Ссылка = &АктОРасхожденияхПослеПриемкиОснование
| И АктОРасхожденияхПослеПриемкиТовары.ДокументОснование = &ДокументОснование
|
|ИНДЕКСИРОВАТЬ ПО
| АктОРасхожденияхПослеПриемкиТовары.ДокументОснование,
| АктОРасхожденияхПослеПриемкиТовары.НомерГТД,
| АктОРасхожденияхПослеПриемкиТовары.Назначение,
| АктОРасхожденияхПослеПриемкиТовары.Серия,
| АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику,
| АктОРасхожденияхПослеПриемкиТовары.Склад,
| АктОРасхожденияхПослеПриемкиТовары.КодСтроки,
| АктОРасхожденияхПослеПриемкиТовары.Номенклатура,
| АктОРасхожденияхПослеПриемкиТовары.Характеристика,
| АктОРасхожденияхПослеПриемкиТовары.Назначение,
| АктОРасхожденияхПослеПриемкиТовары.ЗаполненоПоОснованию
|;
|
|
|ВЫБРАТЬ
| АктОРасхожденияхПослеПриемкиТовары.НомерСтроки КАК НомерСтроки,
| АктОРасхожденияхПослеПриемкиТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| АктОРасхожденияхПослеПриемкиТовары.Номенклатура КАК Номенклатура,
| АктОРасхожденияхПослеПриемкиТовары.Характеристика КАК Характеристика,
| АктОРасхожденияхПослеПриемкиТовары.Назначение КАК Назначение,
| АктОРасхожденияхПослеПриемкиТовары.Упаковка КАК Упаковка,
| АктОРасхожденияхПослеПриемкиТовары.Цена КАК Цена,
| АктОРасхожденияхПослеПриемкиТовары.СтавкаНДС КАК СтавкаНДС,
| АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| АктОРасхожденияхПослеПриемкиТовары.КодСтроки КАК КодСтроки,
| АктОРасхожденияхПослеПриемкиТовары.Склад КАК Склад,
| АктОРасхожденияхПослеПриемкиТовары.Серия КАК Серия,
| АктОРасхожденияхПослеПриемкиТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| АктОРасхожденияхПослеПриемкиТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| АктОРасхожденияхПослеПриемкиТовары.СтатьяРасходов КАК СтатьяРасходов,
| АктОРасхожденияхПослеПриемкиТовары.АналитикаРасходов КАК АналитикаРасходов,
| АктОРасхожденияхПослеПриемкиТовары.Сделка КАК Сделка,
| АктОРасхожденияхПослеПриемкиТовары.Подразделение КАК Подразделение,
| АктОРасхожденияхПослеПриемкиТовары.НомерГТД КАК НомерГТД,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленноеИВернуть), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленное), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачуИОжидатьДопоставку), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачу))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.Сумма
| ИНАЧЕ АктОРасхожденияхПослеПриемкиТовары.СуммаПоДокументу
| КОНЕЦ КАК Сумма,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленноеИВернуть), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленное), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачуИОжидатьДопоставку), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачу))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.СуммаНДС
| ИНАЧЕ АктОРасхожденияхПослеПриемкиТовары.СуммаНДСПоДокументу
| КОНЕЦ КАК СуммаНДС,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленноеИВернуть), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленное), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачуИОжидатьДопоставку), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачу))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.СуммаСНДС
| ИНАЧЕ АктОРасхожденияхПослеПриемкиТовары.СуммаСНДСПоДокументу
| КОНЕЦ КАК СуммаСНДС,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОтнестиПерепоставленноеНаПрочиеДоходы), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОтнестиНедостачуНаПрочиеРасходы),ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ВернутьПерепоставленноеБезОформления), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОжидатьДопоставкуБезОформления))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковокПоДокументу
| ИНАЧЕ АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковок
| КОНЕЦ КАК КоличествоУпаковок,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОтнестиПерепоставленноеНаПрочиеДоходы), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОтнестиНедостачуНаПрочиеРасходы),ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ВернутьПерепоставленноеБезОформления), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОжидатьДопоставкуБезОформления))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.КоличествоПоДокументу
| ИНАЧЕ АктОРасхожденияхПослеПриемкиТовары.Количество
| КОНЕЦ КАК Количество,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОтнестиПерепоставленноеНаПрочиеДоходы), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОтнестиНедостачуНаПрочиеРасходы),ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ВернутьПерепоставленноеБезОформления), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОжидатьДопоставкуБезОформления))
| ТОГДА ЕСТЬNULL(ТоварыПриобретения.КоличествоПоРНПТ, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоПоРНПТ,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленноеИВернуть), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленное), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачуИОжидатьДопоставку), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачу))
| И (АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковок > АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковокПоДокументу
| ИЛИ АктОРасхожденияхПослеПриемкиТовары.КодСтроки <> 0
| И АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику В (НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка)))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковок - АктОРасхожденияхПослеПриемкиТовары.КоличествоУпаковокПоДокументу
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоУпаковокСверхЗаказа,
|
| ВЫБОР
| КОГДА АктОРасхожденияхПослеПриемкиТовары.Действие В (ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленноеИВернуть), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьПерепоставленное), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачуИОжидатьДопоставку), ЗНАЧЕНИЕ(Перечисление.ВариантыДействийПоРасхождениямВАктеПослеПриемки.ОформитьНедостачу))
| И (АктОРасхожденияхПослеПриемкиТовары.Количество > АктОРасхожденияхПослеПриемкиТовары.КоличествоПоДокументу
| ИЛИ АктОРасхожденияхПослеПриемкиТовары.КодСтроки <> 0
| И АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику В (НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка)))
| ТОГДА АктОРасхожденияхПослеПриемкиТовары.Количество - АктОРасхожденияхПослеПриемкиТовары.КоличествоПоДокументу
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоСверхЗаказа
|
|ИЗ
| ВТАктОРасхожденияхПослеПриемкиТовары КАК АктОРасхожденияхПослеПриемкиТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ВТТовары КАК ТоварыПриобретения
| ПО АктОРасхожденияхПослеПриемкиТовары.ДокументОснование = ТоварыПриобретения.Ссылка
| И АктОРасхожденияхПослеПриемкиТовары.НомерГТД = ТоварыПриобретения.НомерГТД
| И АктОРасхожденияхПослеПриемкиТовары.Назначение = ТоварыПриобретения.Назначение
| И АктОРасхожденияхПослеПриемкиТовары.Серия = ТоварыПриобретения.Серия
| И АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику = ТоварыПриобретения.ЗаказПоставщику
| И АктОРасхожденияхПослеПриемкиТовары.Склад = ТоварыПриобретения.Склад
| И АктОРасхожденияхПослеПриемкиТовары.КодСтроки = ТоварыПриобретения.КодСтроки
| И АктОРасхожденияхПослеПриемкиТовары.Номенклатура = ТоварыПриобретения.АналитикаУчетаНоменклатуры.Номенклатура
| И АктОРасхожденияхПослеПриемкиТовары.Характеристика = ТоварыПриобретения.АналитикаУчетаНоменклатуры.Характеристика
| И АктОРасхожденияхПослеПриемкиТовары.Назначение = ТоварыПриобретения.АналитикаУчетаНоменклатуры.Назначение
| И АктОРасхожденияхПослеПриемкиТовары.ЗаполненоПоОснованию
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТоварыПриобретения.НомерСтроки КАК НомерСтроки,
| ТоварыПриобретения.НоменклатураПартнера КАК НоменклатураПартнера,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТоварыПриобретения.Упаковка КАК Упаковка,
| ТоварыПриобретения.Цена КАК Цена,
| ТоварыПриобретения.СтавкаНДС КАК СтавкаНДС,
| ТоварыПриобретения.ЗаказПоставщику КАК ЗаказПоставщику,
| ТоварыПриобретения.КодСтроки КАК КодСтроки,
| ТоварыПриобретения.Склад КАК Склад,
| ТоварыПриобретения.Серия КАК Серия,
| ТоварыПриобретения.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТоварыПриобретения.СписатьНаРасходы КАК СписатьНаРасходы,
| ТоварыПриобретения.СтатьяРасходов КАК СтатьяРасходов,
| ТоварыПриобретения.АналитикаРасходов КАК АналитикаРасходов,
| ТоварыПриобретения.Сделка КАК Сделка,
| ТоварыПриобретения.Подразделение КАК Подразделение,
| ТоварыПриобретения.НомерГТД КАК НомерГТД,
| ТоварыПриобретения.Сумма КАК Сумма,
| ТоварыПриобретения.СуммаНДС КАК СуммаНДС,
| ТоварыПриобретения.СуммаСНДС КАК СуммаСНДС,
| ТоварыПриобретения.КоличествоУпаковок КАК КоличествоУпаковок,
| ТоварыПриобретения.Количество КАК Количество,
| ТоварыПриобретения.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
|
| ВЫБОР
| КОГДА ТоварыПриобретения.КодСтроки = 0
| ТОГДА ТоварыПриобретения.КоличествоУпаковок
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоУпаковокСверхЗаказа,
|
| ВЫБОР
| КОГДА ТоварыПриобретения.КодСтроки = 0
| ТОГДА ТоварыПриобретения.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК КоличествоСверхЗаказа
|
|ИЗ
| ВТТоварыПолный КАК ТоварыПриобретения
|
|ГДЕ
| (ТоварыПриобретения.Ссылка, ТоварыПриобретения.АналитикаУчетаНоменклатуры.Номенклатура, ТоварыПриобретения.АналитикаУчетаНоменклатуры.Характеристика,
| ТоварыПриобретения.АналитикаУчетаНоменклатуры.Назначение, ТоварыПриобретения.Серия, ТоварыПриобретения.ЗаказПоставщику, ТоварыПриобретения.КодСтроки)
| НЕ В (ВЫБРАТЬ
| АктОРасхожденияхПослеПриемкиТовары.ДокументОснование,
| АктОРасхожденияхПослеПриемкиТовары.Номенклатура,
| АктОРасхожденияхПослеПриемкиТовары.Характеристика,
| АктОРасхожденияхПослеПриемкиТовары.Назначение,
| АктОРасхожденияхПослеПриемкиТовары.Серия,
| АктОРасхожденияхПослеПриемкиТовары.ЗаказПоставщику,
| АктОРасхожденияхПослеПриемкиТовары.КодСтроки
| ИЗ
| ВТАктОРасхожденияхПослеПриемкиТовары КАК АктОРасхожденияхПослеПриемкиТовары)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Запрос.УстановитьПараметр("АктОРасхожденияхПослеПриемкиОснование", Объект.АктОРасхожденияхПослеПриемкиОснование);
Запрос.УстановитьПараметр("ДокументОснование", Объект.ДокументОснование);
КэшированныеЗначения = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения();
СтруктураДействий = Новый Структура;
СтруктураПересчетаСуммы = ПакетнаяОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);
СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
СтруктураДействий.Вставить("ПересчитатьСумму");
ОбрабатываемыеСтроки = Новый Массив;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если (Выборка.Количество - Выборка.КоличествоСверхЗаказа) > 0 Тогда
НоваяСтрокаТовары = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаТовары, Выборка);
Если Выборка.КоличествоСверхЗаказа > 0 Тогда
НоваяСтрокаТовары.КоличествоУпаковок = Выборка.КоличествоУпаковок - Выборка.КоличествоУпаковокСверхЗаказа;
НоваяСтрокаТовары.Количество = Выборка.Количество - Выборка.КоличествоСверхЗаказа;
ОбрабатываемыеСтроки.Добавить(НоваяСтрокаТовары);
КонецЕсли;
КонецЕсли;
Если Выборка.КоличествоСверхЗаказа > 0 Тогда
ДополнительнаяСтрокаТовары = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(ДополнительнаяСтрокаТовары, Выборка);
ДополнительнаяСтрокаТовары.КоличествоУпаковок = Выборка.КоличествоУпаковокСверхЗаказа;
ДополнительнаяСтрокаТовары.Количество = Выборка.КоличествоСверхЗаказа;
ДополнительнаяСтрокаТовары.КодСтроки = 0;
ОбрабатываемыеСтроки.Добавить(ДополнительнаяСтрокаТовары);
КонецЕсли;
КонецЦикла;
ПакетнаяОбработкаТабличнойЧастиСервер.ОбработатьСтрокиТЧ(ОбрабатываемыеСтроки, СтруктураДействий, Объект.Товары, КэшированныеЗначения);
Если ЗначениеЗаполнено(Объект.ДокументОснование)
И ТипЗнч(Объект.ДокументОснование) <> Тип("ДокументСсылка.ПриобретениеУслугПрочихАктивов") Тогда
ПараметрыОтбора = Новый Структура("КоличествоПоРНПТ", 0);
СтрокиДляЗаполнения = Объект.Товары.НайтиСтроки(ПараметрыОтбора);
ПараметрыПолученияКоэффициентаРНПТ = УчетПрослеживаемыхТоваровКлиентСерверЛокализация.ПараметрыПолученияКоэффициентаРНПТ(
Объект,
"Склад",
Истина);
УчетПрослеживаемыхТоваровЛокализация.ЗаполнитьКоличествоПоРНПТВТабличнойЧасти(ПараметрыПолученияКоэффициентаРНПТ,
Объект.Товары,
СтрокиДляЗаполнения);
КонецЕсли;
ОперацииРаздельнойЗакупки = Новый Массив;
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ОперацииРаздельнойЗакупки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
ОперацияОснования = ?(ЗначениеЗаполнено(Объект.ДокументОснование)
И ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг"),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДокументОснование, "ХозяйственнаяОперация"),
Перечисления.ХозяйственныеОперации.ПустаяСсылка());
ИспользуетсяДокументПоступлениеТоваров = ОперацииРаздельнойЗакупки.Найти(ОперацияОснования) <> Неопределено;
Объект.ЗаполнитьРасхождения(ИспользуетсяДокументПоступлениеТоваров);
КонецПроцедуры
#КонецОбласти
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Склад,Дата,ДокументОснование";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.КорректировкаПриобретения";
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Истина);
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям;
ПараметрыУказанияСерий.ИмяТЧСерии = "Товары";
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ПустаяСсылка());
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Склад");
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ЭтоТоварыВПути = Ложь;
ХозОперацияТоварыВПутиИНеотфактуровка = Ложь;
Если ЗначениеЗаполнено(Объект.ДокументОснование)
И ТипЗнч(Объект.ДокументОснование) <> Тип("ДокументСсылка.ПервичныйДокумент") Тогда
ХозОперацияДокументаОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДокументОснование, "ХозяйственнаяОперация");
ОперацииВПути = Новый Массив();
ОперацииВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
ОперацииВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
ОперацииВПути.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
ОперацииНеотфактуровки = Новый Массив();
ОперацииНеотфактуровки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
ОперацииНеотфактуровки.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ХозОперацияТоварыВПутиИНеотфактуровка = ОперацииВПути.Найти(ХозОперацияДокументаОснования) <> Неопределено
Или ОперацииНеотфактуровки.Найти(ХозОперацияДокументаОснования) <> Неопределено;
ЭтоТоварыВПути = ОперацииВПути.Найти(ХозОперацияДокументаОснования) <> Неопределено;
КонецЕсли;
ПараметрыУказанияСерий.ПараметрыЗапроса.Вставить("ЭтоТоварыВПути", ЭтоТоварыВПути);
ПараметрыУказанияСерий.ПараметрыЗапроса.Вставить("ИспользуетсяДокументПоступлениеТоваров", ХозОперацияТоварыВПутиИНеотфактуровка);
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| Товары.Серия,
| Товары.Количество,
| Товары.СтатусУказанияСерий,
| Товары.НомерСтроки
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Склад,
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтарыйСтатусУказанияСерий,
| ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ИЛИ &ИспользуетсяДокументПоступлениеТоваров
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерий,
| ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| И &ИспользуетсяДокументПоступлениеТоваров
| ТОГДА
| ВЫБОР
| КОГДА ((ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВНеотфактурованныхПоставкахТоваров
| И НЕ &ЭтоТоварыВПути)
| ИЛИ (ТоварыДляЗапроса.ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям)
| И &ЭтоТоварыВПути)
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 18
| ИНАЧЕ 17
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| КОНЕЦ КАК СтатусУказанияСерийТоварыУПартнеров
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО (ПолитикиУчетаСерий.Склад = ТоварыДляЗапроса.Склад)
| И ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| И Товары.Назначение = ТоварыДляЗапроса.Назначение
| И Товары.Склад = ТоварыДляЗапроса.Склад
|;
|
|
|ВЫБРАТЬ
| Статусы.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА Статусы.СтатусУказанияСерий = 0
| ТОГДА Статусы.СтатусУказанияСерийТоварыУПартнеров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ КАК СтатусУказанияСерий
|ИЗ
| Статусы КАК Статусы
|ГДЕ
| ВЫБОР
| КОГДА &ИспользуетсяДокументПоступлениеТоваров
| ТОГДА Статусы.СтатусУказанияСерийТоварыУПартнеров
| ИНАЧЕ Статусы.СтатусУказанияСерий
| КОНЕЦ <> Статусы.СтарыйСтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Функция ПараметрыРегистрацииСчетовФактурПолученных(Объект) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = Объект.Ссылка;
ПараметрыРегистрации.Дата = Объект.Дата;
ПараметрыРегистрации.Организация = Объект.Организация;
ПараметрыРегистрации.Контрагент = Объект.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = Объект.НалогообложениеНДС;
Если Объект.ВидКорректировки = Перечисления.ХозяйственныеОперации.ИсправлениеОшибок Тогда
ПараметрыРегистрации.ИсправлениеОшибок = Истина;
ИначеЕсли Объект.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон Тогда
ПараметрыРегистрации.КорректировкаПоСогласованиюСторон = Истина;
КонецЕсли;
ВвозИзЕАЭС = Ложь;
Если ЗначениеЗаполнено(Объект.ДокументОснование)
И ТипЗнч(Объект.ДокументОснование) <> Тип("ДокументСсылка.ПервичныйДокумент") Тогда
ХозОперацияДокументаОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДокументОснование, "ХозяйственнаяОперация");
ХозОперацииЗакупкаВСтранахЕАЭС = ЗакупкиВызовСервера.ХозяйственныеОперацииПоОсновной(
ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС"));
ХозОперацииЗакупкаВСтранахЕАЭС.Добавить(Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5);
Если ХозОперацииЗакупкаВСтранахЕАЭС.Найти(ХозОперацияДокументаОснования) <> Неопределено Тогда
ВвозИзЕАЭС = Истина;
КонецЕсли;
КонецЕсли;
ПараметрыРегистрации.ВвозТоваровИзТаможенногоСоюза = ВвозИзЕАЭС;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПараметрыРегистрацииУведомленийОВвозеПрослеживаемыхТоваров(Объект) Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Ссылка", Объект.ДокументОснование);
ПараметрыРегистрации.Вставить("Дата", Объект.Дата);
ПараметрыРегистрации.Вставить("Организация", Объект.Организация);
ПараметрыРегистрации.Вставить("Контрагент", Объект.Контрагент);
ПараметрыРегистрации.Вставить("Склад", Объект.Склад);
ПараметрыРегистрации.Вставить("НалогообложениеНДС", Объект.НалогообложениеНДС);
ПараметрыРегистрации.Вставить("ВвозТоваровИзТаможенногоСоюза", Ложь);
ПараметрыРегистрации.Вставить("ВедетсяУчетПоРНПТ", Ложь);
ПараметрыРегистрации.Вставить("КорректировочноеУведомление", Истина);
ЗакупкаВСтранахЕАЭС = ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС);
Если ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") Тогда
ХозяйственнаяОперацияОснования = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.ДокументОснование, "ХозяйственнаяОперация");
Если ЗакупкаВСтранахЕАЭС.Найти(ХозяйственнаяОперацияОснования) <> Неопределено Тогда
ПараметрыРегистрации.ВвозТоваровИзТаможенногоСоюза = Истина;
Если Объект.Товары.НайтиСтроки(Новый Структура("ВедетсяУчетПоРНПТ", Истина)).Количество() Тогда
ПараметрыРегистрации.ВедетсяУчетПоРНПТ = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область ПроводкиРеглУчета
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат КорректировкаПриобретенияЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат КорректировкаПриобретенияЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
Функция ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности(Форма) Экспорт
Если Форма.Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг Тогда
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТаблицЗначенийДляОчисткиНекорректныхНазначений = "ТаблицаКорректировки";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры,НомерСтроки");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("ТаблицаКорректировки", ТаблицаУсловий);
Иначе
ПорядокОбработкиДокумента = НаправленияДеятельностиСервер.ПорядокОбработкиДокументаПриИзмененииНаправленияДеятельности();
ПорядокОбработкиДокумента.ИменаТабличныхЧастейДляОчисткиНекорректныхНазначений = "Товары";
ТаблицаУсловий = НаправленияДеятельностиСервер.УсловияОбработкиНазначенийВСтроках("ТипНоменклатуры,КодСтроки");
ПорядокОбработкиДокумента.УсловияОбработкиСтрок.Вставить("Товары", ТаблицаУсловий);
КонецЕсли;
Возврат ПорядокОбработкиДокумента;
КонецФункции
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ШаблонНазначения = Справочники.Назначения.ДобавитьШаблонНазначений(МакетФормы);
ШаблонНазначения.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказов", Истина, "ТаблицаКорректировки.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "&ТаблицаКорректировки.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "ТаблицаКорректировки.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "ТаблицаКорректировки.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "ТаблицаКорректировки.Склад";
ОписаниеКолонок.ПутиКДанным.Регистратор = "РегистраторДляВыбораНазначения";
ОписаниеКолонок.ПутьКТабличнойЧасти = "ТаблицаКорректировки";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказовРаботами", Истина, "ТаблицаКорректировки.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "&ТаблицаКорректировки.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "ТаблицаКорректировки.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "ТаблицаКорректировки.Характеристика";
ОписаниеКолонок.ПутиКДанным.Подразделение = "ТаблицаКорректировки.Подразделение";
ОписаниеКолонок.ПутиКДанным.Регистратор = "РегистраторДляВыбораНазначения";
ОписаниеКолонок.ПутьКТабличнойЧасти = "ТаблицаКорректировки";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказов", Истина, "Объект.Товары.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.Товары.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Товары.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Товары.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "Объект.Товары.Склад";
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказовРаботами", Истина, "Объект.Товары.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.УсловиеИспользования = "Объект.Товары.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Товары.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Товары.Характеристика";
ОписаниеКолонок.ПутиКДанным.Подразделение = "Объект.Товары.Подразделение";
Возврат МакетФормы;
КонецФункции
Функция ПараметрыНастройкиСчетовУчета(ПараметрыДляДоступности) Экспорт
МассивПараметров = Новый Массив();
ТипКорректировки = Неопределено;
ПараметрыДляДоступности.Свойство("ТипКорректировки", ТипКорректировки);
КорректировкаПриобретенияУслугПрочихАктивов = (ТипЗнч(ПараметрыДляДоступности.ДокументОснование) = Тип("ДокументСсылка.ПриобретениеУслугПрочихАктивов"))
Или ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
#Область СчетУчетаАктивов
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект";
ПараметрыНастройки.НастройкаСчетовУчета = "НастройкаСчетовУчетаАктивов";
ПараметрыНастройки.Представление = "ТекстНастроитьОтражениеВРеглУчетеАктивов";
ПараметрыНастройки.ТипСтатьи = "СтатьяРасходовТипСтатьи";
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.АналитикаАктивовПассивов = "АналитикаАктивов";
ПараметрыНастройки.ЭлементыФормы.Добавить("ТекстНастроитьОтражениеВРеглУчетеАктивов");
ПараметрыНастройки.ЭлементыФормы.Добавить("ТекстНастроитьОтражениеВРеглУчетеАктивовКорректировкаЗадолженности");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область СчетУчетаПассивов
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект";
ПараметрыНастройки.НастройкаСчетовУчета = "НастройкаСчетовУчетаПассивов";
ПараметрыНастройки.Представление = "ТекстНастроитьОтражениеВРеглУчетеПассивов";
ПараметрыНастройки.ТипСтатьи = "СтатьяДоходовТипСтатьи";
ПараметрыНастройки.СтатьяАктивовПассивов = "СтатьяДоходов";
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.АналитикаАктивовПассивов = "АналитикаПассивов";
ПараметрыНастройки.ЭлементыФормы.Добавить("ТекстНастроитьОтражениеВРеглУчетеПассивов");
ПараметрыНастройки.ЭлементыФормы.Добавить("ТекстНастроитьОтражениеВРеглУчетеПассивовКорректировкаЗадолженности");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область ТоварыСчетУчета
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект.Товары";
ПараметрыНастройки.Представление = "ПредставлениеОтраженияВРеглУчете";
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ДоступностьПоОперации = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыНастройки.СкрыватьНедоступныйСчетУчетаВСтроках = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("ТоварыСчетРеглУчетаАктивовПассивов");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область РасхожденияСчетУчета
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект.Расхождения";
ПараметрыНастройки.Представление = "ПредставлениеОтраженияВРеглУчете";
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ДоступностьПоОперации = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыНастройки.СкрыватьНедоступныйСчетУчетаВСтроках = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("РасхожденияСчетРеглУчетаАктивовПассивов");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
Возврат МассивПараметров;
КонецФункции
Функция ПараметрыНастройкиСчетовУчетаКорректировкаДоВводаОстатков(ПараметрыДляДоступности) Экспорт
МассивПараметров = Новый Массив();
КорректировкаПриобретенияУслугПрочихАктивов = ПараметрыДляДоступности.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
#Область СчетУчетаАктивов
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект";
ПараметрыНастройки.НастройкаСчетовУчета = "НастройкаСчетовУчетаАктивов";
ПараметрыНастройки.Представление = "ТекстНастроитьОтражениеВРеглУчетеАктивов";
ПараметрыНастройки.ТипСтатьи = "СтатьяРасходовТипСтатьи";
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.АналитикаАктивовПассивов = "АналитикаАктивов";
ПараметрыНастройки.ЭлементыФормы.Добавить("ТекстНастроитьОтражениеВРеглУчетеАктивов");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область СчетУчетаПассивов
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "Объект";
ПараметрыНастройки.НастройкаСчетовУчета = "НастройкаСчетовУчетаПассивов";
ПараметрыНастройки.Представление = "ТекстНастроитьОтражениеВРеглУчетеПассивов";
ПараметрыНастройки.ТипСтатьи = "СтатьяДоходовТипСтатьи";
ПараметрыНастройки.СтатьяАктивовПассивов = "СтатьяДоходов";
ПараметрыНастройки.ДоступностьПоОперации = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.АналитикаАктивовПассивов = "АналитикаПассивов";
ПараметрыНастройки.ЭлементыФормы.Добавить("ТекстНастроитьОтражениеВРеглУчетеПассивов");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
#Область ТаблицаКорректировкиСчетУчета
ПараметрыНастройки = НастройкаСчетовУчетаСервер.ПараметрыНастройки();
ПараметрыНастройки.ПутьКДанным = "ТаблицаКорректировки";
ПараметрыНастройки.Представление = "ПредставлениеОтраженияВРеглУчете";
ПараметрыНастройки.ТипСтатьи = "ТипСтатьи";
ПараметрыНастройки.ДоступностьПоОперации = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыНастройки.СкрыватьНедоступныйСчетУчетаВСтроках = Истина;
ПараметрыНастройки.Организация = "Объект.Организация";
ПараметрыНастройки.ЭлементыФормы.Добавить("ТаблицаКорректировкиСчетРеглУчетаАктивовПассивов");
МассивПараметров.Добавить(ПараметрыНастройки);
#КонецОбласти
Возврат МассивПараметров;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитик(ПараметрыОпределенияДоступности) Экспорт
ПроверятьСтатьиИАналитику = Истина;
ПараметрыОпределенияДоступности.Свойство("ПроверятьСтатьиИАналитику", ПроверятьСтатьиИАналитику);
ТипКорректировки = Неопределено;
ПараметрыОпределенияДоступности.Свойство("ТипКорректировки", ТипКорректировки);
КорректировкаПриобретенияУслугПрочихАктивов = (ТипЗнч(ПараметрыОпределенияДоступности.ДокументОснование) = Тип("ДокументСсылка.ПриобретениеУслугПрочихАктивов"))
Или ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
МассивПаметровВыбора = Новый Массив;
#Область СтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Ложь;
ПараметрыВыбора.ДоступностьПоОперации = Истина;
Если (ПараметрыОпределенияДоступности.Свойство("ОтразитьНаПрочихДоходах")
И Не ПараметрыОпределенияДоступности.ОтразитьНаПрочихДоходах) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ТипСтатьи = "СтатьяДоходовТипСтатьи";
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходовКорректировкаЗадолженности");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходовКорректировкаЗадолженности");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаПассивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаПассивов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаПассивовКорректировкаЗадолженности");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область СтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Ложь;
ПараметрыВыбора.ДоступностьПоОперации = Истина;
Если (ПараметрыОпределенияДоступности.Свойство("СписатьНаРасходы")
И Не ПараметрыОпределенияДоступности.СписатьНаРасходы) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ТипСтатьи = "СтатьяРасходовТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходовКорректировкаЗадолженности");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходовКорректировкаЗадолженности");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивов");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивовКорректировкаЗадолженности");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ТоварыСтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Товары";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТоварыСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ТоварыАналитикаРасходов");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ТоварыАналитикаАктивовПассивов");
ПараметрыВыбора.ВыборСтатьиДоходов = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("ТоварыАналитикаДоходов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбора.ДоступностьПоОперации = ПроверятьСтатьиИАналитику;
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область РасхожденияСтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.Расхождения";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасхожденияСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("РасхожденияАналитикаРасходов");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("РасхожденияАналитикаАктивовПассивов");
ПараметрыВыбора.ВыборСтатьиДоходов = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("РасхожденияАналитикаДоходов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПараметрыВыбора.ДоступностьПоОперации = ПроверятьСтатьиИАналитику;
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
КорректировкаПриобретенияЛокализация.ДополнитьПараметрыВыбораСтатейИАналитик(МассивПаметровВыбора, ПараметрыОпределенияДоступности);
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПараметрыВыбораСтатейИАналитикКорректировкаДоВводаОстатков(ПараметрыОпределенияДоступности) Экспорт
КорректировкаПриобретенияУслугПрочихАктивов = ПараметрыОпределенияДоступности.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
МассивПаметровВыбора = Новый Массив;
ДополнительныеПараметры = Новый Структура();
ДополнительныеПараметры.Вставить("ЭтоОбъектНаФорме", Истина);
#Область СтатьяДоходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Ложь;
ПараметрыВыбора.ДоступностьПоОперации = Истина;
Если (ПараметрыОпределенияДоступности.Свойство("ОтразитьНаПрочихДоходах")
И Не ПараметрыОпределенияДоступности.ОтразитьНаПрочихДоходах) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ТипСтатьи = "СтатьяДоходовТипСтатьи";
ПараметрыВыбора.ВыборСтатьиДоходов = Истина;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяДоходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("АналитикаДоходов");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаПассивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаПассивов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область СтатьяРасходов
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
ПараметрыВыбора.СкрыватьСтатьюНедоступнуюПоОперации = Ложь;
ПараметрыВыбора.ДоступностьПоОперации = Истина;
Если (ПараметрыОпределенияДоступности.Свойство("СписатьНаРасходы")
И Не ПараметрыОпределенияДоступности.СписатьНаРасходы) Тогда
ПараметрыВыбора.ДоступностьПоОперации = Ложь;
КонецЕсли;
ПараметрыВыбора.ТипСтатьи = "СтатьяРасходовТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("СтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("АналитикаРасходов");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("АналитикаАктивов");
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ТаблицаКорректировки
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "ТаблицаКорректировки";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ТипСтатьи = "ТипСтатьи";
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТаблицаКорректировкиСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ТаблицаКорректировкиАналитикаРасходов");
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыВыбора.АналитикаАктивовПассивов = "АналитикаАктивовПассивов";
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ТаблицаКорректировкиАналитикаАктивовПассивов");
ПараметрыВыбора.ВыборСтатьиДоходов = КорректировкаПриобретенияУслугПрочихАктивов;
ПараметрыВыбора.АналитикаДоходов = "АналитикаДоходов";
ПараметрыВыбора.ЭлементыФормы.АналитикаДоходов.Добавить("ТаблицаКорректировкиАналитикаДоходов");
ПараметрыВыбора.УсловияДоступностиСтатьиВСтроках.Вставить("СписатьНаРасходы", Истина);
ПредставленияРеквизитов = Новый Структура;
ПредставленияРеквизитов.Вставить("СтатьяРасходов", НСтр("ru = 'Списать на расходы/активы'"));
ПредставленияРеквизитов.Вставить("АналитикаРасходов", НСтр("ru = 'Аналитика расходов'"));
ПредставленияРеквизитов.Вставить("АналитикаАктивовПассивов", НСтр("ru = 'Аналитика'"));
ПредставленияРеквизитов.Вставить("АналитикаДоходов", НСтр("ru = 'Аналитика доходов'"));
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ПредставлениеТЧ", НСтр("ru = 'Данные корректировки'"));
ДополнительныеПараметры.Вставить("ПредставленияРеквизитов", ПредставленияРеквизитов);
ПараметрыВыбора.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
МассивПаметровВыбора.Добавить(ПараметрыВыбора);
#КонецОбласти
КорректировкаПриобретенияЛокализация.ДополнитьПараметрыВыбораСтатейИАналитик(МассивПаметровВыбора, ПараметрыОпределенияДоступности);
Возврат МассивПаметровВыбора;
КонецФункции
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
ЭтоКорректировкаЗадолженности = Ложь;
ЭтоКорректировкаПервичногоДокумента = Ложь;
ДокументОснование = Неопределено;
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"ВидКорректировки, ТипКорректировки, ДокументОснование");
ЭтоКорректировкаЗадолженности =
СтруктураДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно
ИЛИ СтруктураДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПриобретенияУменьшениеЗадолженностиСводно;
ЭтоКорректировкаПервичногоДокумента = СтруктураДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или СтруктураДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
ДокументОснование = СтруктураДанныеЗаполнения.ДокументОснование;
ИначеЕсли ДанныеЗаполнения <> Неопределено Тогда
ЭтоКорректировкаЗадолженности =
ДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно
ИЛИ ДанныеЗаполнения.ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПриобретенияУменьшениеЗадолженностиСводно;
ЭтоКорректировкаПервичногоДокумента = ДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или ДанныеЗаполнения.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов;
ДокументОснование = ДанныеЗаполнения.ДокументОснование;
КонецЕсли;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
#Область ОбязательныеПараметры
СтруктураПараметров.ЭтоЗаказ = Ложь;
СтруктураПараметров.ЭтоСправочник = Ложь;
СтруктураПараметров.ЭтоПродажаЗакупка = Истина;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.Дата = "Объект.Дата";
СтруктураПараметров.ВалютаДокумента = "Объект.Валюта";
СтруктураПараметров.СуммаДокумента = "";
СтруктураПараметров.Организация = "Объект.Организация";
СтруктураПараметров.Партнер = "Объект.Партнер";
СтруктураПараметров.Контрагент = "Объект.Контрагент";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.Ссылка = "";
Иначе
СтруктураПараметров.Ссылка = "Объект.ДокументОснование";
КонецЕсли;
#КонецОбласти
#Область НеобязательныеПараметры
СтруктураПараметров.ВалютаВзаиморасчетов = "Объект.ВалютаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетов = "Объект.СуммаВзаиморасчетов";
СтруктураПараметров.СуммаВзаиморасчетовПоТаре = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.Договор = "";
Иначе
СтруктураПараметров.Договор = "Объект.Договор";
КонецЕсли;
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.НаправлениеДеятельности = "";
Иначе
СтруктураПараметров.НаправлениеДеятельности = "Объект.НаправлениеДеятельности";
КонецЕсли;
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ПорядокРасчетов = "";
Иначе
СтруктураПараметров.ПорядокРасчетов = "Объект.ПорядокРасчетов";
КонецЕсли;
СтруктураПараметров.СуммаДокументаФорма = "";
СтруктураПараметров.СуммаЗалогаЗаТаруФорма = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.КорректировкаЗадолженности";
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "СуммаКорректировки";
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "";
Иначе
СтруктураПараметров.ПутьКДаннымТЧ = "Объект.Расхождения";
СтруктураПараметров.ИмяРеквизитаТЧСуммаСНДС = "СуммаСНДС";
СтруктураПараметров.ИмяРеквизитаТЧЗаказ = "ЗаказПоставщику";
КонецЕсли;
СтруктураПараметров.ПутьКДаннымТЧРасшифровкаПлатежа = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.Соглашение = "";
Иначе
СтруктураПараметров.Соглашение = "Объект.Соглашение";
КонецЕсли;
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "Объект.ФормаОплаты";
СтруктураПараметров.ОплатаВВалюте = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.ОбъектРасчетов = "";
СтруктураПараметров.Подразделение = "";
СтруктураПараметров.Менеджер = "";
СтруктураПараметров.НомерВходящегоДокумента = "";
СтруктураПараметров.ДатаВходящегоДокумента = "";
СтруктураПараметров.НаименованиеПервичногоДокумента = "";
Иначе
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.ОбъектРасчетов = "Объект.Расхождения.ОбъектРасчетов";
СтруктураПараметров.Подразделение = "Объект.Подразделение";
СтруктураПараметров.Менеджер = "Объект.Менеджер";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.НомерВходящегоДокумента";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.ДатаВходящегоДокумента";
СтруктураПараметров.НаименованиеПервичногоДокумента = "Объект.НаименованиеВходящегоДокумента";
КонецЕсли;
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.НакладнаяПоЗаказам = "";
Иначе
СтруктураПараметров.НакладнаяПоЗаказам = "Объект.ПоступлениеПоЗаказам";
КонецЕсли;
СтруктураПараметров.ЗаказОснование = "";
СтруктураПараметров.ЭлементыФормы.ЗачетОплаты = "";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "КорректировкаЗадолженностиСуммаВзаиморасчетов";
Иначе
СтруктураПараметров.ЭлементыФормы.СуммаВзаиморасчетовТЧ = "РасхожденияСуммаВзаиморасчетов";
КонецЕсли;
#КонецОбласти
#Область РедактированиеВалютИВалютныхСуммДокумента
СтруктураПараметров.КурсЧислитель = "Объект.КурсЧислитель";
СтруктураПараметров.КурсЗнаменатель = "Объект.КурсЗнаменатель";
СтруктураПараметров.ЭлементыФормы.НадписьВалюты = "ДекорацияВалюты";
Если ЭтоКорректировкаЗадолженности Тогда
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = Ложь;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Ложь;
ИначеЕсли ЭтоКорректировкаПервичногоДокумента Тогда
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = Ложь;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Истина;
Иначе
СтруктураПараметров.ВалютаДокументаТолькоПросмотр = Истина;
СтруктураПараметров.ВалютаВзаиморасчетовТолькоПросмотр = Истина;
КонецЕсли;
СтруктураПараметров.НеПоказыватьРасчеты = Ложь;
СтруктураПараметров.НеПересчитыватьСуммуДокумента = Ложь;
#КонецОбласти
#Область ГрафикПлановойОплатыИДатаПлатежа
СтруктураПараметров.ПутьКДаннымТЧЭтапыОплаты = "";
СтруктураПараметров.ДатаПлатежа = "Объект.ДатаПлатежа";
СтруктураПараметров.НадписьЭтапыОплаты = "Форма.НадписьЭтапыОплаты";
СтруктураПараметров.ИсточникСуммТабличнаяЧасть = Истина;
СтруктураПараметров.ГрафикОплаты = "";
СтруктураПараметров.ЭлементыФормы.НадписьЭтапы = "ДекорацияЭтапыОплаты";
СтруктураПараметров.ЭтапыОплатыТолькоПросмотр = Ложь;
СтруктураПараметров.ВозможнаНакладнаяПоНесколькимЗаказам = Ложь;
#КонецОбласти
#Область СостояниеВзаиморасчетов
СтруктураПараметров.ЭлементыФормы.НадписьРасчеты = "";
#КонецОбласти
#Область ОграниченияЗадолженностиПоДоговору
СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиТекст = "";
СтруктураПараметров.ЭлементыФормы.ОграничениеЗадолженностиКартинка = "";
#КонецОбласти
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") Тогда
СтруктураПараметров.ВернутьМногооборотнуюТару = "Объект.ДокументОснование.ВернутьМногооборотнуюТару";
СтруктураПараметров.ТребуетсяЗалогЗаТару = "Объект.ДокументОснование.ТребуетсяЗалогЗаТару";
Иначе
СтруктураПараметров.ВернутьМногооборотнуюТару = Ложь;
СтруктураПараметров.ТребуетсяЗалогЗаТару = Ложь;
КонецЕсли;
Возврат СтруктураПараметров;
КонецФункции
Функция ПараметрыЗаполненияНалогообложенияНДСЗакупки(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСЗакупки();
Если ТипЗнч(Объект) = Тип("ДокументОбъект.КорректировкаПриобретения")
Или ТипЗнч(Объект) = Тип("ДанныеФормыСтруктура") Тогда
ДанныеОбъекта = Объект;
ИначеЕсли ТипЗнч(Объект) = Тип("ДокументСсылка.КорректировкаПриобретения") Тогда
ДанныеОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект, "Контрагент,Договор,ХозяйственнаяОперация,Дата");
КонецЕсли;
ПараметрыЗаполнения.Контрагент = ДанныеОбъекта.Контрагент;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.Период = ДанныеОбъекта.Дата;
Если Не ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КорректировкаОтчетаПереработчика Тогда
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
ПараметрыЗаполнения.ПриобретениеРабот = Истина;
КонецЕсли;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ПараметрыЗаполненияВидаДеятельностиНДС(Объект) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Организация = Объект.Организация;
ПараметрыЗаполнения.Дата = Объект.Дата;
ПараметрыЗаполнения.ПриобретениеНаСтатьи = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И ЗначениеРазрешено(Партнер)
| И ЗначениеРазрешено(Подразделение)
| И((ТипЗначения(ДокументОснование) = Тип(Документ.ПриобретениеУслугПрочихАктивов)
| ИЛИ ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов))
| ИЛИ ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| ИЛИ ЗначениеРазрешено(Склад)
| ) ";
КонецПроцедуры
Функция ДанныеКорректировкиДоВводаОстатков(Объект, ИспользуетсяКоличествоУпаковок = Ложь) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| Т.НоменклатураПартнера КАК НоменклатураПартнера,
| Т.Назначение КАК Назначение,
| Т.Характеристика КАК Характеристика,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СписатьНаРасходы КАК СписатьНаРасходы,
| Т.СтатьяРасходов КАК СтатьяРасходов,
| Т.АналитикаРасходов КАК АналитикаРасходов,
| Т.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| Т.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Т.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| Т.НомерГТД КАК НомерГТД,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.Цена КАК Цена,
| Т.СтавкаНДС КАК СтавкаНДС,
| Т.КоличествоУпаковок КАК КоличествоУпаковок,
| Т.Количество КАК Количество,
| Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Т.Сумма КАК Сумма,
| Т.СуммаНДС КАК СуммаНДС,
| Т.СуммаСНДС КАК СуммаСНДС,
| Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Т.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ ВТТовары
|ИЗ
| &Товары КАК Т
|;
|
|
|ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| Т.Назначение КАК Назначение,
| Т.Характеристика КАК Характеристика,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СписатьНаРасходы КАК СписатьНаРасходы,
| Т.СтатьяРасходов КАК СтатьяРасходов,
| Т.АналитикаРасходов КАК АналитикаРасходов,
| Т.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| Т.ВидЗапасов КАК ВидЗапасов,
| Т.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Т.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| Т.НомерГТД КАК НомерГТД,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.Цена КАК Цена,
| Т.СтавкаНДС КАК СтавкаНДС,
| Т.КоличествоУпаковок КАК КоличествоУпаковок,
| Т.Количество КАК Количество,
| Т.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Т.Сумма КАК Сумма,
| Т.СуммаНДС КАК СуммаНДС,
| Т.СуммаСНДС КАК СуммаСНДС,
| Т.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| Т.НомерСтроки,
| Т.ВариантОтражения КАК ВариантОтражения
|ПОМЕСТИТЬ ВТРасхождения
|ИЗ
| &Расхождения КАК Т
|;
|
|
|ВЫБРАТЬ
| Таблица.Номенклатура КАК Номенклатура,
| МАКСИМУМ(Таблица.НоменклатураПартнера) КАК НоменклатураПартнера,
| Таблица.Характеристика КАК Характеристика,
| Таблица.Содержание КАК Содержание,
| Таблица.Назначение КАК Назначение,
| Таблица.Упаковка КАК Упаковка,
| Таблица.Серия КАК Серия,
| Таблица.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Таблица.Склад КАК Склад,
| Таблица.Подразделение КАК Подразделение,
| Таблица.СписатьНаРасходы КАК СписатьНаРасходы,
| Таблица.СтатьяРасходов КАК СтатьяРасходов,
| Таблица.АналитикаРасходов КАК АналитикаРасходов,
| Таблица.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| Таблица.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МАКСИМУМ(Таблица.ВидЗапасов) КАК ВидЗапасов,
| МИНИМУМ(Таблица.НастройкаСчетовУчета) КАК НастройкаСчетовУчета,
| Таблица.НомерГТД КАК НомерГТД,
| Таблица.КодТНВЭД КАК КодТНВЭД,
| МАКСИМУМ(Таблица.СтавкаНДС) КАК СтавкаНДС,
| МАКСИМУМ(Таблица.Цена) КАК Цена,
| СУММА(Таблица.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(Таблица.Количество) КАК Количество,
| СУММА(Таблица.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(Таблица.Сумма) КАК Сумма,
| СУММА(Таблица.СуммаНДС) КАК СуммаНДС,
| СУММА(Таблица.СуммаСНДС) КАК СуммаСНДС,
| СУММА(Таблица.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| МАКСИМУМ(Таблица.СтавкаНДСПосле) КАК СтавкаНДСПосле,
| МАКСИМУМ(Таблица.ЦенаПосле) КАК ЦенаПосле,
| СУММА(Таблица.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
| СУММА(Таблица.КоличествоПосле) КАК КоличествоПосле,
| СУММА(Таблица.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
| СУММА(Таблица.СуммаПосле) КАК СуммаПосле,
| СУММА(Таблица.СуммаНДСПосле) КАК СуммаНДСПосле,
| СУММА(Таблица.СуммаСНДСПосле) КАК СуммаСНДСПосле,
| СУММА(Таблица.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
| МАКСИМУМ(Таблица.НомерСтроки) КАК НомерСтроки,
| МАКСИМУМ(Таблица.ВариантОтраженияДо) КАК ВариантОтраженияСписания,
| ЕСТЬNULL(МАКСИМУМ(Таблица.ВариантОтраженияПосле),МАКСИМУМ(Таблица.ВариантОтраженияДо)) КАК ВариантОтражения
|ИЗ
| (ВЫБРАТЬ
| Т.Номенклатура КАК Номенклатура,
| МАКСИМУМ(Т.НоменклатураПартнера) КАК НоменклатураПартнера,
| Т.Назначение КАК Назначение,
| Т.Характеристика КАК Характеристика,
| Т.Содержание КАК Содержание,
| Т.Упаковка КАК Упаковка,
| Т.Серия КАК Серия,
| Т.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Т.Склад КАК Склад,
| Т.Подразделение КАК Подразделение,
| Т.СписатьНаРасходы КАК СписатьНаРасходы,
| Т.СтатьяРасходов КАК СтатьяРасходов,
| Т.АналитикаРасходов КАК АналитикаРасходов,
| Т.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| МАКСИМУМ(Т.ВидЗапасов) КАК ВидЗапасов,
| Т.НаправлениеДеятельности КАК НаправлениеДеятельности,
| МИНИМУМ(Т.НастройкаСчетовУчета) КАК НастройкаСчетовУчета,
| Т.НомерГТД КАК НомерГТД,
| Т.КодТНВЭД КАК КодТНВЭД,
| Т.СтавкаНДС КАК СтавкаНДС,
| СУММА(Т.Цена) КАК Цена,
| СУММА(Т.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(Т.Количество) КАК Количество,
| СУММА(Т.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(Т.Сумма) КАК Сумма,
| СУММА(Т.СуммаНДС) КАК СуммаНДС,
| СУММА(Т.СуммаСНДС) КАК СуммаСНДС,
| СУММА(Т.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| NULL КАК СтавкаНДСПосле,
| NULL КАК ЦенаПосле,
| СУММА(Т.КоличествоУпаковокПосле) КАК КоличествоУпаковокПосле,
| СУММА(Т.КоличествоПосле) КАК КоличествоПосле,
| СУММА(Т.КоличествоПоРНПТПосле) КАК КоличествоПоРНПТПосле,
| СУММА(Т.СуммаПосле) КАК СуммаПосле,
| СУММА(Т.СуммаНДСПосле) КАК СуммаНДСПосле,
| СУММА(Т.СуммаСНДСПосле) КАК СуммаСНДСПосле,
| СУММА(Т.СуммаВзаиморасчетовПосле) КАК СуммаВзаиморасчетовПосле,
| МАКСИМУМ(Т.НомерСтроки) КАК НомерСтроки,
| МАКСИМУМ(РасхожденияДо.ВариантОтражения) КАК ВариантОтраженияДо,
| NULL КАК ВариантОтраженияПосле
| ИЗ
| (ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.НоменклатураПартнера КАК НоменклатураПартнера,
| Товары.Назначение КАК Назначение,
| Товары.Характеристика КАК Характеристика,
| Товары.Содержание КАК Содержание,
| Товары.Упаковка КАК Упаковка,
| Товары.Серия КАК Серия,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.Склад КАК Склад,
| Товары.Подразделение КАК Подразделение,
| Товары.СписатьНаРасходы КАК СписатьНаРасходы,
| Товары.СтатьяРасходов КАК СтатьяРасходов,
| Товары.АналитикаРасходов КАК АналитикаРасходов,
| Товары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| Товары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Товары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| Товары.НомерГТД КАК НомерГТД,
| Товары.КодТНВЭД КАК КодТНВЭД,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.Цена КАК Цена,
| Товары.КоличествоУпаковок КАК КоличествоУпаковок,
| Товары.Количество КАК Количество,
| Товары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| Товары.Сумма КАК Сумма,
| Товары.СуммаНДС КАК СуммаНДС,
| Товары.СуммаСНДС КАК СуммаСНДС,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК КоличествоУпаковокПосле,
| 0 КАК КоличествоПосле,
| 0 КАК КоличествоПоРНПТПосле,
| 0 КАК СуммаПосле,
| 0 КАК СуммаНДСПосле,
| 0 КАК СуммаСНДСПосле,
| 0 КАК СуммаВзаиморасчетовПосле,
| Товары.НомерСтроки КАК НомерСтроки
| ИЗ
| ВТТовары КАК Товары
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Расхождения.Номенклатура,
| NULL,
| Расхождения.Назначение,
| Расхождения.Характеристика,
| Расхождения.Содержание,
| Расхождения.Упаковка,
| Расхождения.Серия,
| Расхождения.СтатусУказанияСерий,
| Расхождения.Склад,
| Расхождения.Подразделение,
| Расхождения.СписатьНаРасходы,
| Расхождения.СтатьяРасходов,
| Расхождения.АналитикаРасходов,
| Расхождения.АналитикаАктивовПассивов,
| Расхождения.ВидЗапасов,
| Расхождения.НаправлениеДеятельности,
| Расхождения.НастройкаСчетовУчета,
| Расхождения.НомерГТД,
| Расхождения.КодТНВЭД,
| Расхождения.СтавкаНДС,
| 0,
| -Расхождения.КоличествоУпаковок,
| -Расхождения.Количество,
| -Расхождения.КоличествоПоРНПТ,
| -Расхождения.Сумма,
| -Расхождения.СуммаНДС,
| -Расхождения.СуммаСНДС,
| -Расхождения.СуммаВзаиморасчетов,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0
| ИЗ
| ВТРасхождения КАК Расхождения) КАК Т
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияДо
| ПО РасхожденияДо.Номенклатура = Т.Номенклатура
| И РасхожденияДо.Назначение = Т.Назначение
| И РасхожденияДо.Характеристика = Т.Характеристика
| И РасхожденияДо.Содержание = Т.Содержание
| И РасхожденияДо.Упаковка = Т.Упаковка
| И РасхожденияДо.Серия = Т.Серия
| И РасхожденияДо.СтатусУказанияСерий = Т.СтатусУказанияСерий
| И РасхожденияДо.Склад = Т.Склад
| И РасхожденияДо.Подразделение = Т.Подразделение
| И РасхожденияДо.СписатьНаРасходы = Т.СписатьНаРасходы
| И РасхожденияДо.СтатьяРасходов = Т.СтатьяРасходов
| И РасхожденияДо.АналитикаРасходов = Т.АналитикаРасходов
| И РасхожденияДо.АналитикаАктивовПассивов = Т.АналитикаАктивовПассивов
| И РасхожденияДо.НаправлениеДеятельности = Т.НаправлениеДеятельности
| И РасхожденияДо.НомерГТД = Т.НомерГТД
| И РасхожденияДо.КодТНВЭД = Т.КодТНВЭД
| И РасхожденияДо.СтавкаНДС = Т.СтавкаНДС
|
| СГРУППИРОВАТЬ ПО
| Т.Номенклатура,
| Т.Назначение,
| Т.Характеристика,
| Т.Содержание,
| Т.Упаковка,
| Т.Серия,
| Т.СтатусУказанияСерий,
| Т.Склад,
| Т.Подразделение,
| Т.СписатьНаРасходы,
| Т.СтатьяРасходов,
| Т.АналитикаРасходов,
| Т.АналитикаАктивовПассивов,
| Т.НаправлениеДеятельности,
| Т.НастройкаСчетовУчета,
| Т.НомерГТД,
| Т.КодТНВЭД,
| Т.СтавкаНДС
|
| ИМЕЮЩИЕ
| (СУММА(Т.КоличествоУпаковок) <> 0
| ИЛИ СУММА(Т.Количество) <> 0
| ИЛИ СУММА(Т.КоличествоПоРНПТ) <> 0
| ИЛИ СУММА(Т.Сумма) <> 0
| ИЛИ СУММА(Т.СуммаНДС) <> 0
| ИЛИ СУММА(Т.СуммаСНДС) <> 0
| ИЛИ СУММА(Т.СуммаВзаиморасчетов) <> 0)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.НоменклатураПартнера,
| Товары.Назначение,
| Товары.Характеристика,
| Товары.Содержание,
| Товары.Упаковка,
| Товары.Серия,
| Товары.СтатусУказанияСерий,
| Товары.Склад,
| Товары.Подразделение,
| Товары.СписатьНаРасходы,
| Товары.СтатьяРасходов,
| Товары.АналитикаРасходов,
| Товары.АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО,
| Товары.НаправлениеДеятельности,
| Товары.НастройкаСчетовУчета,
| Товары.НомерГТД,
| Товары.КодТНВЭД,
| NULL,
| NULL,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| 0,
| Товары.СтавкаНДС,
| Товары.Цена,
| Товары.КоличествоУпаковок,
| Товары.Количество,
| Товары.КоличествоПоРНПТ,
| Товары.Сумма,
| Товары.СуммаНДС,
| Товары.СуммаСНДС,
| Товары.СуммаВзаиморасчетов,
| Товары.НомерСтроки,
| NULL КАК ВариантОтраженияДо,
| РасхожденияПосле.ВариантОтражения КАК ВариантОтраженияПосле
| ИЗ
| ВТТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРасхождения КАК РасхожденияПосле
| ПО РасхожденияПосле.Номенклатура = Товары.Номенклатура
| И РасхожденияПосле.Назначение = Товары.Назначение
| И РасхожденияПосле.Характеристика = Товары.Характеристика
| И РасхожденияПосле.Содержание = Товары.Содержание
| И РасхожденияПосле.Упаковка = Товары.Упаковка
| И РасхожденияПосле.Серия = Товары.Серия
| И РасхожденияПосле.СтатусУказанияСерий = Товары.СтатусУказанияСерий
| И РасхожденияПосле.Склад = Товары.Склад
| И РасхожденияПосле.Подразделение = Товары.Подразделение
| И РасхожденияПосле.СписатьНаРасходы = Товары.СписатьНаРасходы
| И РасхожденияПосле.СтатьяРасходов = Товары.СтатьяРасходов
| И РасхожденияПосле.АналитикаРасходов = Товары.АналитикаРасходов
| И РасхожденияПосле.АналитикаАктивовПассивов = Товары.АналитикаАктивовПассивов
| И РасхожденияПосле.НаправлениеДеятельности = Товары.НаправлениеДеятельности
| И РасхожденияПосле.НомерГТД = Товары.НомерГТД
| И РасхожденияПосле.КодТНВЭД = Товары.КодТНВЭД
| И РасхожденияПосле.СтавкаНДС = Товары.СтавкаНДС
| ) КАК Таблица
|
|СГРУППИРОВАТЬ ПО
| Таблица.Номенклатура,
| Таблица.Назначение,
| Таблица.Характеристика,
| Таблица.Содержание,
| Таблица.Упаковка,
| Таблица.Серия,
| Таблица.СтатусУказанияСерий,
| Таблица.Склад,
| Таблица.Подразделение,
| Таблица.СписатьНаРасходы,
| Таблица.СтатьяРасходов,
| Таблица.АналитикаРасходов,
| Таблица.АналитикаАктивовПассивов,
| Таблица.НаправлениеДеятельности,
| Таблица.НомерГТД,
| Таблица.КодТНВЭД
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Запрос.УстановитьПараметр("Товары", Объект.Товары.Выгрузить());
Запрос.УстановитьПараметр("Расхождения", Объект.Расхождения.Выгрузить());
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
ИмяКоличества = ?(ИспользуетсяКоличествоУпаковок, "КоличествоУпаковок", "Количество");
Для каждого ТекущаяСтрока Из ТаблицаРезультата Цикл
Если ТекущаяСтрока[ИмяКоличества] = 0 Тогда
ТекущаяСтрока.Цена = ТекущаяСтрока.Сумма;
Иначе
ТекущаяСтрока.Цена = Окр(ТекущаяСтрока.Сумма / ТекущаяСтрока[ИмяКоличества], 2);
КонецЕсли;
ТекущаяСтрока.НомерСтроки = ТаблицаРезультата.Индекс(ТекущаяСтрока)+1;
КонецЦикла;
Возврат ТаблицаРезультата;
КонецФункции
Функция КлючевыеРеквизитыСвязиСтрокТаблиц(КорректировкаПриобретенияУслугПрочихАктивов) Экспорт
Если КорректировкаПриобретенияУслугПрочихАктивов Тогда
КлючевыеРеквизиты = "Содержание,Подразделение,СтатьяРасходов,АналитикаРасходов";
Иначе
КлючевыеРеквизиты = "Номенклатура,Характеристика,Назначение,Серия,Упаковка,Склад,НомерГТД,СтатьяРасходов,АналитикаРасходов,Подразделение";
КонецЕсли;
Возврат КлючевыеРеквизиты;
КонецФункции
#КонецОбласти
#Область Печать
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
ПравилаПечатиЗадания = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();
ПравилаПечатиЗадания.ОперацияПоступления = Истина;
ПравилаПечатиЗадания.КорректировкаТоваров = Истина;
ПравилаПечатиЗадания.СкладыВТЧ = Истина;
ПравилаПечатиЗадания.ИмяТЧТовары = "Расхождения";
Возврат ПравилаПечатиЗадания;
КонецФункции
#КонецОбласти
Функция КоллекцияТабличныхЧастейТоваров() Экспорт
ТаблицыДокумента = Новый Структура;
ТаблицыДокумента.Вставить("Товары");
ТаблицыДокумента.Вставить("Расхождения");
Возврат ТаблицыДокумента;
КонецФункции
Функция ПараметрыПолученияИсправляемогоДокумента() Экспорт
Параметры = Новый Структура;
Параметры.Вставить("ИсправляемыйДокумент", Документы.ПриобретениеТоваровУслуг.ПустаяСсылка());
Параметры.Вставить("ДокументОснование", Документы.ПриобретениеТоваровУслуг.ПустаяСсылка());
Параметры.Вставить("Дата", Дата(1, 1, 1));
Параметры.Вставить("ВидКорректировки", Перечисления.ХозяйственныеОперации.ПустаяСсылка());
Возврат Параметры;
КонецФункции
Функция ИсправляемыйДокумент(Знач РеквизитыДокумента) Экспорт
УстановитьПривилегированныйРежим(Истина);
ИсправляемыйДокумент = Неопределено;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ИсправляемыйДокумент", РеквизитыДокумента.ИсправляемыйДокумент);
Запрос.УстановитьПараметр("ДокументОснование", РеквизитыДокумента.ДокументОснование);
Запрос.УстановитьПараметр("Период", РеквизитыДокумента.Дата);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", РеквизитыДокумента.ВидКорректировки);
Запрос.Текст = ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос);
Запрос.Текст = Запрос.Текст +
"ВЫБРАТЬ
| ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент
|ИЗ
| ВТ_ИсправляемыйДокументКорректировки КАК ВТ_ИсправляемыйДокументКорректировки";
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
ИсправляемыйДокумент = Выборка.ИсправляемыйДокумент;
КонецЕсли;
Возврат ИсправляемыйДокумент;
КонецФункции
#Область ПроверкаЗаполненияДокументаДоВводаОстатков
Процедура ПроверитьЗаполнениеРеквизитов(Форма, ПроверяемыеРеквизиты, Отказ) Экспорт
ТЗТаблицаКорректировки = Форма.ТаблицаКорректировки;
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
Если ТЗТаблицаКорректировки.Количество() = 0 Тогда
ТекстСообщения= НСтр("ru = 'Не введено ни одной строки в список ""%1""'");
ТекстСообщения = СтрШаблон(ТекстСообщения, ПредставлениеТЧ);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
ИмяТЧ,
"",
Отказ);
КонецЕсли;
Объект = Форма.Объект;
ИспользоватьУчетНДС = ПолучитьФункциональнуюОпцию("ИспользоватьУчетНДС")
И Объект.НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПустаяСсылка()
И Объект.НалогообложениеНДС <> Перечисления.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС;
ИспользоватьНесколькоСкладов = ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоСкладов");
ИспользоватьХарактеристикиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры");
ЭтоКорректировкаДоВводаОстатковТоваровИУслуг =
Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг;
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров = УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(
Объект.Дата);
ТекстыЗапроса = Новый Массив;
ТекстыЗапроса.Добавить(ТекстЗапросаВТТаблицыТоваров());
ТекстыЗапроса.Добавить(ТекстЗапросаВТДанныеДокументаОснования());
ТекстыЗапроса.Добавить(ТекстЗапросаВТДанныеПредыдущейКорректировки());
ТекстыЗапроса.Добавить(ТекстЗапросаВТПроверкиДанныхПоПоследнейКорректировке());
ТекстыЗапросовПроверки = Новый Массив;
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСклада());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияНоменклатурыИСодержания());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияХарактеристик());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияКоличества());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСуммовыхПоказателей());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСтавокНДС());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиВариантовОтражения());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиЗаполненияСкладаВТабличнойЧасти());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиТипКорректировкиНеСоответствуетПредыдущей());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиНалогообложениеНДССоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиОрганизацияСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиПартнерСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиКонтрагентСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиДоговорСоответствуетОснованию());
ТекстыЗапросовПроверки.Добавить(ТекстЗапросаПроверкиПорядокРасчетовСоответствуетОснованию());
ТекстЗапросаПроверки = СтрСоединить(ТекстыЗапросовПроверки, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстЗапросаПроверки = ТекстЗапросаПроверки + "
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапросаПроверки);
ТекстыЗапросовПроверкиПоИсходнойКорректировки = Новый Массив;
ТекстыЗапросовПроверкиПоИсходнойКорректировки.Добавить(ТекстЗапросаПроверкиДанныхПоПоследнейКорректировке());
ТекстЗапросовПроверкиПоИсходнойКорректировки = СтрСоединить(ТекстыЗапросовПроверкиПоИсходнойКорректировки, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ТекстЗапросовПроверкиПоИсходнойКорректировки = ТекстЗапросовПроверкиПоИсходнойКорректировки + "
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапросовПроверкиПоИсходнойКорректировки);
ТекстЗапроса = СтрСоединить(ТекстыЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, Объект.ДокументОснование, Объект.Ссылка);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("Дата", ?(ЗначениеЗаполнено(Объект.Ссылка), Объект.Дата, ТекущаяДатаСеанса()));
Запрос.УстановитьПараметр("ДокументОснование", Объект.ДокументОснование);
Запрос.УстановитьПараметр("НалогообложениеНДС", Объект.НалогообложениеНДС);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("Партнер", Объект.Партнер);
Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);
Запрос.УстановитьПараметр("Договор", Объект.Договор);
Запрос.УстановитьПараметр("ПорядокРасчетов", Объект.ПорядокРасчетов);
Запрос.УстановитьПараметр("Склад", Объект.Склад);
Запрос.УстановитьПараметр("ТипКорректировки", Объект.ТипКорректировки);
Запрос.УстановитьПараметр("ТаблицаТоваров", ТЗТаблицаКорректировки);
Запрос.УстановитьПараметр("ИспользоватьУчетНДС", ИспользоватьУчетНДС);
Запрос.УстановитьПараметр("ИспользоватьНесколькоСкладов",
ИспользоватьНесколькоСкладов);
Запрос.УстановитьПараметр("ИспользоватьХарактеристикиНоменклатуры",
ИспользоватьХарактеристикиНоменклатуры);
Запрос.УстановитьПараметр("ЭтоКорректировкаДоВводаОстатковТоваровИУслуг",
ЭтоКорректировкаДоВводаОстатковТоваровИУслуг);
Запрос.УстановитьПараметр("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
ИспользоватьУчетПрослеживаемыхИмпортныхТоваров);
ПакетРезультатов = Запрос.ВыполнитьПакет();
ВыборкаОшибокЗаролнения = ПакетРезультатов[ПакетРезультатов.Количество()-2].Выбрать();
ВыборкаОшибокПоЦепочкеКорректировок = ПакетРезультатов[ПакетРезультатов.Количество()-1].Выбрать();
СообщитьОшибкиЗаполнения(ВыборкаОшибокЗаролнения, Отказ);
СообщитьОшибкиПоЦепочкеКорректировок(ВыборкаОшибокПоЦепочкеКорректировок, Отказ);
ПараметрыПроверки = НоменклатураСервер.ПараметрыПроверкиЗаполненияСерий();
ПараметрыПроверки.ПредставлениеТЧ = ПредставлениеТЧ;
ПараметрыПроверки.ИмяРеквизитаСерия = "Серия";
ПараметрыПроверки.ПутьКДаннымТаблицыФормы = "";
НоменклатураСервер.ПроверитьЗаполнениеСерий(Форма,
Форма.ПараметрыУказанияСерий,
Отказ,
Неопределено,
ПараметрыПроверки);
ЭтоПрослеживаемыйДокумент = УчетПрослеживаемыхТоваровЛокализация.ЭтоПрослеживаемыйДокумент(
ТЗТаблицаКорректировки, Объект.Дата);
Если (ЭтоПрослеживаемыйДокумент
Или ПолучитьФункциональнуюОпцию("ЗапретитьПоступлениеТоваровБезНомеровГТД"))
И Объект.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг Тогда
ПараметрыПроверки = ЗапасыСервер.ПараметрыПроверкиЗаполненияНомеровГТД();
ПараметрыПроверки.ИмяТЧ = ИмяТЧ;
ПараметрыПроверки.ПредставлениеТЧ = ПредставлениеТЧ;
ПараметрыПроверки.ПроверятьРаботы = Истина;
ЗапасыСервер.ПроверитьЗаполнениеНомеровГТД(Форма, Отказ, ПараметрыПроверки);
УчетПрослеживаемыхТоваровЛокализация.ПроверитьДанныеПрослеживаемостиНомеровГТД(
Форма, ТЗТаблицаКорректировки, Объект.Дата, "ТаблицаКорректировки");
КонецЕсли;
Если ЭтоПрослеживаемыйДокумент Тогда
УчетПрослеживаемыхТоваровЛокализация.ПроверитьКорректностьНастроекТоваровРНПТ(
Форма, ТЗТаблицаКорректировки, Объект.Дата);
КонецЕсли;
Если ИспользоватьУчетНДС Тогда
ПроверитьУказаниеСуммыИСуммыНДС(Объект, МенеджерВременныхТаблиц, Отказ);
КонецЕсли;
ТипыНоменклатуры = Новый Массив;
ТипыНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Товар);
ТипыНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.МногооборотнаяТара);
ТипыНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Услуга);
ТипыНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Работа);
ТекстСообщения = НСтр("ru='Не указан получатель товаров/работ/услуг в строке %1 списка ""%2""'");
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ПредставлениеТЧ);
ЗапасыСервер.ПроверитьЗаполнениеПодразделенияВТабличнойЧасти(Форма,
ТипыНоменклатуры,
ТекстСообщения,
Отказ,
"ТаблицаКорректировки");
ДополнительныеПроверяемыеРеквизиты = Новый Массив;
ДополнительныеПроверяемыеРеквизиты.Добавить("ТаблицаКорректировки.АналитикаРасходов");
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ПроверяемыеРеквизиты, ДополнительныеПроверяемыеРеквизиты);
РезультатПроверки = РезультатПроверкиПоРасхождениям(ТЗТаблицаКорректировки);
ПараметрыДляВыбора = Новый Структура;
ПараметрыДляВыбора.Вставить("ДатаДокумента", Объект.Дата);
ПараметрыДляВыбора.Вставить("ДокументОснование", Объект.ДокументОснование);
ПараметрыДляВыбора.Вставить("ХозяйственнаяОперация", Объект.ВидКорректировки);
ПараметрыДляВыбора.Вставить("ТипКорректировки", Объект.ТипКорректировки);
ПараметрыДляВыбора.Вставить("ОтразитьНаПрочихДоходах", РезультатПроверки.СуммаНаПрочиеДоходы > 0);
ПараметрыДляВыбора.Вставить("СписатьНаРасходы", РезультатПроверки.СуммаНаПрочиеРасходы > 0);
ПараметрыВыбораСтатейИАналитик = ПараметрыВыбораСтатейИАналитикКорректировкаДоВводаОстатков(ПараметрыДляВыбора);
ДоходыИРасходыСервер.ОбработкаПроверкиЗаполнения(Форма, Отказ, ПроверяемыеРеквизиты, ПараметрыВыбораСтатейИАналитик);
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, ДополнительныеПроверяемыеРеквизиты);
Если Не Отказ Тогда
МассивУдаляемыхСтрок = Новый Массив();
Для Каждого СтрокаТоваров Из Объект.Товары Цикл
Если СтрокаТоваров.Количество = 0
И СтрокаТоваров.КоличествоУпаковок = 0
И СтрокаТоваров.СуммаСНДС = 0
И СтрокаТоваров.СуммаНДС = 0 Тогда
МассивУдаляемыхСтрок.Добавить(СтрокаТоваров);
КонецЕсли;
КонецЦикла;
Для Каждого УдаляемаяСтрока Из МассивУдаляемыхСтрок Цикл
Объект.Товары.Удалить(УдаляемаяСтрока);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Данные.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или Данные.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов Тогда
ПостфиксИмениДокумента = НСтр("ru = 'Корректировка приобретения до ввода остатков'");
ИначеЕсли Данные.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КорректировкаОтчетаПереработчика Тогда
ПостфиксИмениДокумента = НСтр("ru = 'Корректировка отчета переработчика'");
Иначе
ПостфиксИмениДокумента = НСтр("ru = 'Корректировка приобретения'");
КонецЕсли;
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1 %2 от %3'"),
ПостфиксИмениДокумента,
Данные.Номер,
Данные.Дата);
ОбщегоНазначенияУТКлиентСервер.ОбработкаПолученияПредставленияВходящегоДокумента(
Данные, Представление, СтандартнаяОбработка, "КорректировкаПриобретения");
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Очистить();
Поля.Добавить("ХозяйственнаяОперация");
Поля.Добавить("НаименованиеВходящегоДокумента");
Поля.Добавить("НомерВходящегоДокумента");
Поля.Добавить("ДатаВходящегоДокумента");
Поля.Добавить("Дата");
Поля.Добавить("Номер");
Поля.Добавить("ТипКорректировки");
КонецПроцедуры
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
Если ВидФормы = "ФормаОбъекта" Тогда
Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ)
И (Параметры.Ключ.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или Параметры.Ключ.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов) Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаДокументаДоВводаОстатков";
ИначеЕсли Параметры.Свойство("ЗначенияЗаполнения")
И Параметры.ЗначенияЗаполнения.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.КорректировкаДоВводаОстатков Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаДокументаДоВводаОстатков";
ИначеЕсли Параметры.Свойство("ЗначениеКопирования")
И (Параметры.ЗначениеКопирования.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг
Или Параметры.ЗначениеКопирования.ТипКорректировки = Перечисления.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов) Тогда
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = "ФормаДокументаДоВводаОстатков";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка)
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.УстановитьПараметр("ОперацииРаздельнойЗакупки", ЗакупкиСервер.ХозяйственныеОперацииРаздельнойЗакупкиБезОтборов());
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ДанныеДокумента.НаименованиеВходящегоДокумента КАК НаименованиеВходящегоДокумента,
| ДанныеДокумента.ДокументОснование КАК ДокументОснование,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.Дата, ДАТАВРЕМЯ(1,1,1)) КАК ПериодПоступления,
| ДанныеДокумента.ЗакупкаПодДеятельность КАК ЗакупкаПодДеятельность,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Организация.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ЕСТЬNULL(ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров, ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПустаяСсылка)) КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.Сделка КАК Сделка,
| ЕСТЬNULL(ДанныеДокумента.Сделка.ОбособленныйУчетТоваровПоСделке, ЛОЖЬ) КАК ОбособленныйУчетТоваровПоСделке,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| ТОГДА ДанныеДокумента.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ЕСТЬNULL(ДанныеДокумента.СтатьяРасходов.ВариантРаспределенияРасходовРегл, НЕОПРЕДЕЛЕНО) КАК ВариантРаспределенияРасходовРегл,
| ЕСТЬNULL(ДанныеДокумента.СтатьяРасходов.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) КАК ВариантРаздельногоУчетаНДС,
| ДанныеДокумента.АналитикаРасходов КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяДоходов ССЫЛКА ПланВидовХарактеристик.СтатьиДоходов
| ТОГДА ДанныеДокумента.СтатьяДоходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяДоходов,
| ДанныеДокумента.АналитикаДоходов КАК АналитикаДоходов,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ДанныеДокумента.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяАктивов,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяДоходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ДанныеДокумента.СтатьяДоходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяПассивов,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ДанныеДокумента.СтатьяРасходов.АктивПассив
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяАктивовАктивПассив,
| ВЫБОР
| КОГДА ДанныеДокумента.СтатьяДоходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ДанныеДокумента.СтатьяДоходов.АктивПассив
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяПассивовАктивПассив,
| ДанныеДокумента.АналитикаАктивов КАК АналитикаАктивов,
| ДанныеДокумента.АналитикаПассивов КАК АналитикаПассивов,
| ДанныеДокумента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.ТипКорректировки КАК ТипКорректировки,
| ДанныеДокумента.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ДанныеДокумента.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам,
| ДанныеДокумента.ДатаПлатежа КАК ДатаПлатежа,
| ДанныеДокумента.ФормаОплаты КАК ФормаОплаты,
| ДанныеДокумента.Договор КАК Договор,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользуетсяДокументПоступлениеТоваров,
| ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПриобретениеУслугПрочихАктивов КАК ИспользуетсяДокументПриобретениеУслугПрочихАктивов,
| ДанныеДокумента.Соглашение КАК Соглашение,
| ЕСТЬNULL(ДанныеДокумента.Соглашение.ВариантПриемкиТоваров, ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПустаяСсылка)) КАК ВариантПриемкиТоваров,
| ДанныеДокумента.ВидКорректировки КАК ХозяйственнаяОперация,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| ИНАЧЕ ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация, ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика))
| КОНЕЦ КАК ХозОперацияОснования,
| ЛОЖЬ КАК ПроизводствоУПереработчикаВСтранахЕАЭС,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫРАЗИТЬ(ДанныеДокумента.ДокументОснование КАК Документ.ПриобретениеТоваровУслуг).НоваяМеханикаСозданияЗаявленийОВвозе
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК НоваяМеханикаСозданияЗаявленийОВвозе,
| ВЫБОР
| КОГДА
| ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА
| ДанныеДокумента.ДокументОснование.ВернутьМногооборотнуюТару
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ВернутьМногооборотнуюТару,
| ВЫБОР
| КОГДА
| ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА
| ДанныеДокумента.ДокументОснование.ТребуетсяЗалогЗаТару
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ КАК ТребуетсяЗалогЗаТару,
|
| ДанныеДокумента.Менеджер КАК Менеджер,
| ЕСТЬNULL(ДанныеДокумента.ДокументОснование.ГруппаФинансовогоУчета, ЗНАЧЕНИЕ(Справочник.ГруппыФинансовогоУчетаРасчетов.ПустаяСсылка)) КАК ГруппаФинансовогоУчета,
| ЕСТЬNULL(ДанныеДокумента.Договор.ГруппаФинансовогоУчета, ЗНАЧЕНИЕ(Справочник.ГруппыФинансовогоУчетаРасчетов.ПустаяСсылка)) КАК ГруппаФинансовогоУчетаДоговора,
| НаправленияДеятельности.Ссылка КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПоЗаказам,
| ЛОЖЬ КАК ГруппировкаЗатрат,
| ЕСТЬNULL(НаправленияДеятельности.УчетЗатрат, ЛОЖЬ) КАК УчетЗатратПоНД,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.СуммаДокумента КАК СуммаДокумента,
| ДанныеДокумента.Комментарий КАК Комментарий,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Автор КАК Автор,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ДокументОснованиеЯвляетсяПриобретением,
| ВЫБОР
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ЛОЖЬ
| КОГДА ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация В (&ОперацииРаздельнойЗакупки)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК РаздельнаяЗакупка,
| ДанныеДокумента.НастройкаСчетовУчетаАктивов КАК НастройкаСчетовУчетаАктивов,
| ДанныеДокумента.НастройкаСчетовУчетаПассивов КАК НастройкаСчетовУчетаПассивов,
| НастройкиХозяйственныхОпераций.Ссылка КАК НастройкаХозяйственнойОперации,
| ДанныеДокумента.ДокументОснование.ХозяйственнаяОперация КАК ХозяйственнаяОперацияОснования,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК ПустоеНазначение
|ИЗ
| Документ.КорректировкаПриобретения КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиХозяйственныхОпераций КАК НастройкиХозяйственныхОпераций
| ПО ДанныеДокумента.ВидКорректировки = НастройкиХозяйственныхОпераций.ХозяйственнаяОперация
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НаправленияДеятельности КАК НаправленияДеятельности
| ПО НаправленияДеятельности.Ссылка = ДанныеДокумента.ДокументОснование.НаправлениеДеятельности
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|";
Результат = Запрос.Выполнить();
Реквизиты = Результат.Выбрать();
Реквизиты.Следующий();
Для Каждого Колонка Из Результат.Колонки Цикл
Запрос.УстановитьПараметр(Колонка.Имя, Реквизиты[Колонка.Имя]);
КонецЦикла;
Запрос.УстановитьПараметр("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
Запрос.УстановитьПараметр("ИспользоватьУчетПрочихАктивовПассивов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихАктивовПассивов"));
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументСсылка, "Организация")));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета", ПолучитьФункциональнуюОпцию("ФормироватьВидыЗапасовПоГруппамФинансовогоУчета"));
Запрос.УстановитьПараметр("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.КорректировкаПриобретения"));
Запрос.УстановитьПараметр("ХозОперацииЗакупкаПоИмпорту", ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(
Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпорту));
Запрос.УстановитьПараметр("ТипыНалогообложенияНДСУчитываетсяВСтоимости",
УчетНДСУП.ВидыДеятельностиНДСУчитываетсяВСтоимости());
Запрос.УстановитьПараметр("НалогообложениеОрганизации",
УчетНДСУП.ПараметрыУчетаПоОрганизации(Реквизиты.Организация, Реквизиты.Период).ОсновноеНалогообложениеНДСПродажи);
Запрос.УстановитьПараметр("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям",
ПолучитьФункциональнуюОпцию("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям"));
Если ЗначениеЗаполнено(Реквизиты.Договор) Тогда
ИнформацияПоДоговору = НСтр("ru='По договору ""%Договор%""'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка());
ИнформацияПоДоговору = СтрЗаменить(ИнформацияПоДоговору, "%Договор%", Реквизиты.Договор);
КонецЕсли;
Запрос.УстановитьПараметр("ИнформацияПоДоговору", ИнформацияПоДоговору);
Запрос.УстановитьПараметр("ХозОперацииПоставкаПодПринципала", ЗакупкиСервер.ХозяйственныеОперацииДляАгентскойЗакупкиПодПринципала());
Запрос.УстановитьПараметр("ДокументОснованиеЯвляетсяПриобретением", Реквизиты.ДокументОснованиеЯвляетсяПриобретением);
Запрос.УстановитьПараметр("ИдентификаторЗаявлениеОВвозеТоваров", ОбщегоНазначения.ИдентификаторОбъектаМетаданных("Документ.ЗаявлениеОВвозеТоваров"));
Запрос.УстановитьПараметр("ХозОперацииЗакупкаВСтранахЕАЭС", ЗакупкиСервер.ХозяйственныеОперацииПоОсновной(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС));
Если ТипЗнч(Реквизиты.ДокументОснование) = Тип("ДокументСсылка.ОтчетПереработчика2_5") Тогда
РеквизитыДокументаОснования = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Реквизиты.ДокументОснование, "ХозяйственнаяОперация, ПоЗаказам, ГруппировкаЗатрат");
Запрос.УстановитьПараметр("ПроизводствоУПереработчикаВСтранахЕАЭС", РеквизитыДокументаОснования.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПроизводствоУПереработчикаВСтранахЕАЭС2_5);
Запрос.УстановитьПараметр("ПоЗаказам", РеквизитыДокументаОснования.ПоЗаказам);
Запрос.УстановитьПараметр("ГруппировкаЗатрат", РеквизитыДокументаОснования.ГруппировкаЗатрат);
КонецЕсли;
ОперацииФактуровка = Новый Массив;
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки);
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки);
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути);
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути);
ОперацииФактуровка.Добавить(Перечисления.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути);
ВариантОформленияЗакупокДоговора = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Реквизиты.Договор, "ВариантОформленияЗакупок");
НеотфактурованныеПоставкиУслугРабот = ОперацииФактуровка.Найти(Реквизиты.ХозяйственнаяОперацияОснования) <> Неопределено
И ВариантОформленияЗакупокДоговора = Перечисления.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг;
Запрос.УстановитьПараметр("НеотфактурованныеПоставкиУслугРабот", НеотфактурованныеПоставкиУслугРабот);
МоментВремениДокумента = ДокументСсылка.МоментВремени();
Запрос.УстановитьПараметр("МоментВремениДокумента", МоментВремениДокумента);
Запрос.УстановитьПараметр("ГраницаИсключаяДокумент", Новый Граница(МоментВремениДокумента, ВидГраницы.Исключая));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
КонецПроцедуры
Процедура ОформитьИзлишкиНедостачиНаСкладе(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка КАК Ссылка,
| ТаблицаРасхождения.Ссылка.Дата КАК Дата,
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Серия КАК Серия,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.Ссылка В(&Ссылка)
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьСкладскиеОстатки)
| )
| И (ТаблицаРасхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ИЛИ НЕ ТаблицаРасхождения.Ссылка.ДокументОснование.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути)
| )
| )";
РегистрыТоварыКОформлениюИзлишковНедостач = Новый Структура();
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ТоварыКОформлениюИзлишковНедостач", Регистры) Тогда
РегистрыТоварыКОформлениюИзлишковНедостач.Вставить("ТоварыКОформлениюИзлишковНедостач");
Иначе
РегистрыТоварыКОформлениюИзлишковНедостач.Вставить("ДвиженияНеТребуются");
КонецЕсли;
СкладыСервер.ОформитьИзлишкиНедостачиНаСкладе(Запрос,
ТекстыЗапроса,
РегистрыТоварыКОформлениюИзлишковНедостач,
ТекстЗапросаДокумента);
ТекстЗапросаДокумента =
"ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка КАК Ссылка,
| ТаблицаРасхождения.Ссылка.Дата КАК Дата,
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Серия КАК Серия,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.Ссылка В(&Ссылка)
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьСкладскиеОстатки))
| И (ТаблицаРасхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ИЛИ НЕ ТаблицаРасхождения.Ссылка.ДокументОснование.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСПоступлениеИзТоваровВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСНеотфактурованнаяПоставка),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуПоступлениеИзТоваровВПути)
| )
| )";
РегистрыТоварыНаСкладах = Новый Структура();
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ТоварыНаСкладах", Регистры) Тогда
РегистрыТоварыНаСкладах.Вставить("ТоварыНаСкладах");
Иначе
РегистрыТоварыНаСкладах.Вставить("ДвиженияНеТребуются");
КонецЕсли;
СкладыСервер.ОформитьИзлишкиНедостачиНаСкладе(Запрос,
ТекстыЗапроса,
РегистрыТоварыНаСкладах,
ТекстЗапросаДокумента);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос) Экспорт
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ
| Ключи.Номенклатура КАК Номенклатура,
| Ключи.Характеристика КАК Характеристика,
| Ключи.Назначение КАК Назначение,
| Ключи.Серия КАК Серия,
| Ключи.СтатьяКалькуляции КАК СтатьяКалькуляции,
| Ключи.Склад КАК Склад,
| Ключи.Склад КАК МестоХранения
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции КАК СтатьяКалькуляции
| ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ ТаблицаРасхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеУслугПрочихАктивов
| И НЕ ТаблицаРасхождения.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| КОНЕЦ КАК СтатьяКалькуляции
| ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаРасхождения
| ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ ТаблицаРасхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеУслугПрочихАктивов
| И НЕ ТаблицаРасхождения.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| КОНЕЦ КАК СтатьяКалькуляции
| ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаРасхождения
| ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И НЕ ТаблицаРасхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеУслугПрочихАктивов
| И НЕ ТаблицаРасхождения.Ссылка.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ ТаблицаРасхождения.Склад
| КОНЕЦ КАК Склад,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| КОНЕЦ КАК СтатьяКалькуляции
| ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ ТаблицаРасхождения.Склад
| КОНЕЦ КАК Склад,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| КОНЕЦ КАК СтатьяКалькуляции
| ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям
| И ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров)
|
| ОБЪЕДИНИТЬ ВСЕ
|
|
| ВЫБРАТЬ
| ПрослеживаемыеТовары.Номенклатура КАК Номенклатура,
| ПрослеживаемыеТовары.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям ТОГДА
| ПрослеживаемыеТовары.Назначение
| ИНАЧЕ
| &ПустоеНазначение
| КОНЕЦ КАК Назначение,
| ПрослеживаемыеТовары.Серия КАК Серия,
| ПрослеживаемыеТовары.Склад КАК Склад,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ПрослеживаемыеТовары.СтатьяКалькуляции
| КОНЕЦ КАК СтатьяКалькуляции
| ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ПрослеживаемыеТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НомераГТД КАК НомераГТД
| ПО ПрослеживаемыеТовары.НомерГТД = НомераГТД.Ссылка
| И (НомераГТД.ТипНомераГТД = ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.НомерРНПТ)
| ИЛИ НомераГТД.ТипНомераГТД = ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.НомерРНПТКомплекта))
| ГДЕ
| ПрослеживаемыеТовары.Ссылка = &Ссылка
| И НЕ &ИспользуетсяДокументПриобретениеУслугПрочихАктивов
| И НЕ &ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
|
|) КАК Ключи
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Ключи.Номенклатура = Аналитика.Номенклатура
| И Ключи.Характеристика = Аналитика.Характеристика
| И Ключи.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
| И Ключи.Серия = Аналитика.Серия
| И Ключи.Склад = Аналитика.МестоХранения
| И Ключи.Назначение = Аналитика.Назначение
|ГДЕ
| Аналитика.КлючАналитики ЕСТЬ NULL
| И НЕ Ключи.Номенклатура ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
| Ключи.Номенклатура,
| Ключи.Характеристика,
| Ключи.Назначение,
| Ключи.СтатьяКалькуляции,
| Ключи.Серия,
| Ключи.Склад
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПрослеживаемыеРаботы.Номенклатура КАК Номенклатура,
| ПрослеживаемыеРаботы.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям ТОГДА
| ПрослеживаемыеРаботы.Назначение
| ИНАЧЕ
| &ПустоеНазначение
| КОНЕЦ КАК Назначение,
| ПрослеживаемыеРаботы.Серия КАК Серия,
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ПрослеживаемыеРаботы.СтатьяКалькуляции
| КОНЕЦ КАК СтатьяКалькуляции,
| ВЫБОР
| КОГДА &НеотфактурованныеПоставкиУслугРабот
| ТОГДА
| ПрослеживаемыеРаботы.Ссылка.Подразделение
| ИНАЧЕ
| ПрослеживаемыеРаботы.Подразделение
| КОНЕЦ КАК Склад,
| ВЫБОР
| КОГДА &НеотфактурованныеПоставкиУслугРабот
| ТОГДА
| ПрослеживаемыеРаботы.Ссылка.Подразделение
| ИНАЧЕ
| ПрослеживаемыеРаботы.Подразделение
| КОНЕЦ КАК МестоХранения
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ПрослеживаемыеРаботы
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоПодразделениям
| ПО АналитикаПоПодразделениям.Номенклатура = ПрослеживаемыеРаботы.Номенклатура
| И АналитикаПоПодразделениям.Характеристика = ПрослеживаемыеРаботы.Характеристика
| И АналитикаПоПодразделениям.Серия = ПрослеживаемыеРаботы.Серия
| И АналитикаПоПодразделениям.Назначение = ПрослеживаемыеРаботы.Назначение
| И АналитикаПоПодразделениям.СтатьяКалькуляции =
| ВЫБОР
| КОГДА ИСТИНА
| ТОГДА ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка)
| КОГДА ИСТИНА
| ТОГДА ПрослеживаемыеРаботы.СтатьяКалькуляции
| КОНЕЦ
| И АналитикаПоПодразделениям.МестоХранения =
| ВЫБОР
| КОГДА &НеотфактурованныеПоставкиУслугРабот
| ТОГДА
| ПрослеживаемыеРаботы.Ссылка.Подразделение
| ИНАЧЕ
| ПрослеживаемыеРаботы.Подразделение
| КОНЕЦ
|ГДЕ
| ПрослеживаемыеРаботы.Ссылка = &Ссылка
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ПрослеживаемыеРаботы.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ПрослеживаемыеРаботы.Номенклатура.ПрослеживаемыйТовар
| И АналитикаПоПодразделениям.Номенклатура ЕСТЬ NULL
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("Партнер", Запрос.Параметры.Партнер);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям",
Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
ЗапросАналитик.УстановитьПараметр("ИспользуетсяДокументПоступлениеТоваров",
Запрос.Параметры.ИспользуетсяДокументПоступлениеТоваров);
ЗапросАналитик.УстановитьПараметр("ТипКорректировки", Запрос.Параметры.ТипКорректировки);
ЗапросАналитик.УстановитьПараметр("ХозяйственнаяОперация", Запрос.Параметры.ХозяйственнаяОперация);
ЗапросАналитик.УстановитьПараметр("ИспользуетсяДокументПриобретениеУслугПрочихАктивов",
Запрос.Параметры.ИспользуетсяДокументПриобретениеУслугПрочихАктивов);
ЗапросАналитик.УстановитьПараметр("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
Запрос.Параметры.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров);
ЗапросАналитик.УстановитьПараметр("НеотфактурованныеПоставкиУслугРабот",
Запрос.Параметры.НеотфактурованныеПоставкиУслугРабот);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос)
Если Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуУПР")
И Запрос.Параметры.Свойство("КоэффициентПересчетаВВалютуРегл") Тогда
Возврат;
КонецЕсли;
Коэффициенты = РаботаСКурсамиВалютУТ.ПолучитьКоэффициентыПересчетаВалюты(Запрос.Параметры.Валюта,
Запрос.Параметры.ВалютаВзаиморасчетов,
Запрос.Параметры.ПериодПоступления,
Запрос.Параметры.Организация);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуУПР", Коэффициенты.КоэффициентПересчетаВВалютуУПР);
Запрос.УстановитьПараметр("КоэффициентПересчетаВВалютуРегл", Коэффициенты.КоэффициентПересчетаВВалютуРегл);
КонецПроцедуры
Процедура УстановитьПараметрЗапросаДокументПоступленияНДС(Запрос) Экспорт
Если Запрос.Параметры.Свойство("ДокументПоступленияНДС") Тогда
Возврат;
КонецЕсли;
Если Запрос.Параметры.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ИсправлениеОшибок Тогда
ЗапросПараметра = Новый Запрос;
ЗапросПараметра.Текст =
"ВЫБРАТЬ
| КорректировкаПриобретения.Ссылка КАК ДокументПоступленияНДС
|ИЗ
| Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
|ГДЕ
| КорректировкаПриобретения.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| И КорректировкаПриобретения.Дата < &Дата
| И КорректировкаПриобретения.ДокументОснование = &ДокументОснование
| И КорректировкаПриобретения.Проведен
|УПОРЯДОЧИТЬ ПО
| КорректировкаПриобретения.Дата УБЫВ
|";
ЗапросПараметра.УстановитьПараметр("Дата", Запрос.Параметры.Период);
ЗапросПараметра.УстановитьПараметр("ДокументОснование", Запрос.Параметры.ДокументОснование);
Выборка = ЗапросПараметра.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ДокументПоступленияНДС = Выборка.ДокументПоступленияНДС;
Иначе
ДокументПоступленияНДС = Запрос.Параметры.ДокументОснование;
КонецЕсли;
Иначе
ДокументПоступленияНДС = Запрос.Параметры.Ссылка;
КонецЕсли;
Запрос.УстановитьПараметр("ДокументПоступленияНДС", ДокументПоступленияНДС);
КонецПроцедуры
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.КорректировкаПриобретения.Имя,
"Расхождения, ВидыЗапасов");
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""Расхождения"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Статьи.ВидЦенностиНДС, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС), ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА))
| И ЕСТЬNULL(Статьи.ВариантРаспределенияРасходовРегл, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
| И ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ВводОСВЭксплуатацию)
| КОГДА ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
| И НЕ &УпрощеннаяСистемаНалогообложения
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ИНАЧЕ ВЫБОР КОГДА ЕСТЬNULL(ТаблицаДокумента.Назначение.ВидДеятельностиНДС,ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| И НЕ ТаблицаДокумента.СписатьНаРасходы
| ТОГДА ТаблицаДокумента.Назначение.ВидДеятельностиНДС
| КОГДА ДанныеДокумента.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ДанныеДокумента.ЗакупкаПодДеятельность
| ИНАЧЕ ДанныеДокумента.ДокументОснование.ЗакупкаПодДеятельность
| КОНЕЦ
| КОНЕЦ КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
| КОГДА ЕСТЬNULL(СпрНоменклатура.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары))
| КОГДА ЕСТЬNULL(СпрНоменклатура.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаДокумента.СписатьНаРасходы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОГДА ЕСТЬNULL(Статьи.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПустаяСсылка)) <>
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПустаяСсылка)
| ТОГДА Статьи.ВидЦенностиНДС
| КОГДА ТаблицаДокумента.АналитикаАктивовПассивов ССЫЛКА Справочник.ОбъектыЭксплуатации
| И ТаблицаДокумента.АналитикаАктивовПассивов <> ЗНАЧЕНИЕ(Справочник.ОбъектыЭксплуатации.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ОС)
| КОГДА ТаблицаДокумента.АналитикаАктивовПассивов ССЫЛКА Справочник.НематериальныеАктивы
| И ТаблицаДокумента.АналитикаАктивовПассивов <> ЗНАЧЕНИЕ(Справочник.НематериальныеАктивы.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НМА)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОНЕЦ КАК ВидЦенности,
| (ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(КодыСтрок.КодСтроки, 0) КОНЕЦ) КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""Расхождения""
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
| ПО СпрНоменклатура.Ссылка = ТаблицаДокумента.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
| ПО ТаблицаДокумента.СтатьяРасходов = Статьи.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО СпрНоменклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Ссылка.Партнер КАК Поставщик,
| ТаблицаДокумента.Ссылка.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ТаблицаДокумента.Ссылка.ЗакупкаПодДеятельность
| ИНАЧЕ
| ТаблицаДокумента.Ссылка.ДокументОснование.ЗакупкаПодДеятельность
| КОНЕЦ КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОблагаетсяНДСУПокупателя)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
| КОГДА ЕСТЬNULL(ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| ТОГДА ЕСТЬNULL(ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ГруппаФинансовогоУчета.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары))
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги)
| КОНЕЦ КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""ВидыЗапасов""
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""КорректировкаЗадолженности"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Ссылка.Партнер КАК Поставщик,
| ТаблицаДокумента.Ссылка.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.Ссылка.ЗакупкаПодДеятельность КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ПрочиеРаботыИУслуги) КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтТаблицаРасхожденияТоваров";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка КАК Ссылка,
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Назначение.ТипНазначения КАК НазначениеТипНазначения,
| ТаблицаРасхождения.Серия КАК Серия,
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| ТаблицаРасхождения.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаРасхождения.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаРасхождения.КодСтроки КАК КодСтроки,
| ТаблицаРасхождения.ВариантОтражения КАК ВариантОтражения,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| ТаблицаРасхождения.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ЕСТЬNULL(ТаблицаРасхождения.Номенклатура.ПрослеживаемыйТовар, ЛОЖЬ) КАК ПрослеживаемыйТовар,
|
| ТаблицаРасхождения.СтатьяКалькуляции КАК СтатьяКалькуляции,
|
|
| ТаблицаРасхождения.СписатьНаРасходы КАК СписатьНаРасходы,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяАктивовПассивов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиДоходов
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяДоходов,
| ТаблицаРасхождения.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаРасхождения.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаРасхождения.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА &ИспользуетсяДокументПриобретениеУслугПрочихАктивов
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| КОГДА ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ (ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ЕСТЬNULL(ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| ТОГДА
| ВЫБОР
| КОГДА НЕ ТаблицаРасхождения.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| И ТаблицаРасхождения.НаправлениеДеятельности.УчетЗатрат ТОГДА
| ТаблицаРасхождения.НаправлениеДеятельности
| КОГДА ТаблицаРасхождения.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| И &УчетЗатратПоНД ТОГДА
| &НаправлениеДеятельности
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ТаблицаРасхождения.Склад.ИспользоватьОрдернуюСхемуПриПоступлении
| И &Период >= ТаблицаРасхождения.Склад.ДатаНачалаОрдернойСхемыПриПоступлении
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользоватьОрдернуюСхемуПриПоступлении,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК СуммаНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
| ВЫБОР
| КОГДА ТаблицаРасхождения.Количество = 0 И &СреднеСкользящая
| И ТаблицаРасхождения.ВидЗапасов.ТипЗапасов <> ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И (&ПартионныйУчетВерсии22 И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаРасхождения.Количество = 0 И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.Количество = 0 И &СреднеСкользящая
| И ТаблицаРасхождения.ВидЗапасов.ТипЗапасов <> ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ВЫБОР КОГДА ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ТаблицаРасхождения.Количество = 0 ИНАЧЕ ИСТИНА КОНЕЦ
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА &СреднеСкользящая И ТаблицаРасхождения.Количество = 0
| И ТаблицаРасхождения.ВидЗапасов.ТипЗапасов <> ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ НЕ &ПартионныйУчетВерсии22 И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаРасхождения.Количество <> 0 И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫБОР
| КОГДА &СреднеСкользящая И ТаблицаРасхождения.Количество = 0
| И ТаблицаРасхождения.ВидЗапасов.ТипЗапасов <> ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаРасхождения.Количество <> 0 И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыУпр,
|
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетовСНДС,
| ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаРасхождения.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасхождения.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
|
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ИЛИ (ТаблицаРасхождения.СписатьНаРасходы
| И ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиДоходов)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСОтражениемНаПрочихДоходах)
| КОГДА (ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара)))
| ИЛИ
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСоСписаниемНаРасходы)
| КОГДА ТаблицаРасхождения.ВариантОтражения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУчестьПриИнвентаризации),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
|
|ПОМЕСТИТЬ ВтТаблицаРасхожденияТоваров
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаРасхождения.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И (НЕ &РаздельнаяЗакупка
| ИЛИ ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка КАК Ссылка,
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение.ТипНазначения КАК НазначениеТипНазначения,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| ТаблицаРасхождения.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаРасхождения.КодСтроки КАК КодСтроки,
| ТаблицаРасхождения.ВариантОтражения КАК ВариантОтражения,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| 0 КАК НомерГруппыЗатрат,
| ЕСТЬNULL(ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ПрослеживаемыйТовар, ЛОЖЬ) КАК ПрослеживаемыйТовар,
|
| ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) КАК СтатьяКалькуляции,
|
|
| ТаблицаРасхождения.СписатьНаРасходы КАК СписатьНаРасходы,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиРасходов
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиАктивовПассивов
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяАктивовПассивов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяРасходов ССЫЛКА ПланВидовХарактеристик.СтатьиДоходов
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СтатьяДоходов,
| ТаблицаРасхождения.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаРасхождения.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаРасхождения.АналитикаДоходов КАК АналитикаДоходов,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.СтавкаНДС КАК СтавкаНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ИспользоватьОрдернуюСхемуПриПоступлении
| И &Период >= ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ДатаНачалаОрдернойСхемыПриПоступлении
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИспользоватьОрдернуюСхемуПриПоступлении,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.БазаНДСРегл, 0) КАК БазаНДСРегл,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК СуммаНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
| ВЫБОР
| КОГДА ТаблицаРасхождения.Количество = 0 И &СреднеСкользящая
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И (&ПартионныйУчетВерсии22 И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаРасхождения.Количество = 0
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.Количество = 0 И &СреднеСкользящая
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ВЫБОР КОГДА ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ТаблицаРасхождения.Количество = 0 ИНАЧЕ ИСТИНА КОНЕЦ
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР КОГДА (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ НЕ &ПартионныйУчетВерсии22
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаРасхождения.Количество <> 0
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И НЕ &СреднеСкользящая
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫБОР КОГДА (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаРасхождения.Количество <> 0
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
| И НЕ &СреднеСкользящая
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыУпр,
|
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетовСНДС,
| ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаРасхождения.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК НастройкаСчетовУчета,
|
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСОтражениемНаПрочихДоходах)
| КОГДА ТаблицаРасхождения.СписатьНаРасходы И
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| ИЛИ ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы))
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСоСписаниемНаРасходы)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика)
| КОНЕЦ КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи
|
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаРасхождения
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
|
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И &РаздельнаяЗакупка
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГТДТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаКорректировкаЗадолженности";
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиРасчетов,
| КорректировкаЗадолженности.ОбъектРасчетов.Договор КАК Договор,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
|
| ЛОЖЬ КАК НаРасходы,
| ЛОЖЬ КАК НаПрочиеАктивы,
| ВЫБОР
| КОГДА &СтатьяДоходов <> НЕОПРЕДЕЛЕНО
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаДоходы,
| ВЫБОР
| КОГДА &СтатьяПассивов <> НЕОПРЕДЕЛЕНО
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаПрочиеПассивы,
|
| (КорректировкаЗадолженности.СуммаКорректировки - КорректировкаЗадолженности.СуммаНДСКорректировки) КАК СуммаБезНДС,
| (КорректировкаЗадолженности.СуммаКорректировки) КАК СуммаСНДС,
| (КорректировкаЗадолженности.СуммаНДСКорректировки) КАК СуммаНДС,
|
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(КорректировкаЗадолженности.СуммаВзаиморасчетов
| * КорректировкаЗадолженности.СуммаНДСКорректировки
| / КорректировкаЗадолженности.СуммаКорректировки КАК ЧИСЛО(31,2)) КАК СуммаНДСВзаиморасчетов,
|
| - ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| - ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| - ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| - ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| - ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| - ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ОбъектРасчетов.УникальныйИдентификатор КАК УникальныйИдентификаторОбъектаРасчетов
|
|ПОМЕСТИТЬ ВтТаблицаКорректировкаЗадолженности
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = КорректировкаЗадолженности.Ссылка
| И Суммы.ИдентификаторСтроки = КорректировкаЗадолженности.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО
| ТаблицаАналитикУчетаПартий.НомерСтроки = КорректировкаЗадолженности.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""КорректировкаЗадолженности""
|ГДЕ
| КорректировкаЗадолженности.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУменьшениеЗадолженностиСводно)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.ОбъектРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельностиРасчетов,
| КорректировкаЗадолженности.ОбъектРасчетов.Договор КАК Договор,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
|
| ВЫБОР
| КОГДА &СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаРасходы,
| ВЫБОР
| КОГДА &СтатьяАктивов <> НЕОПРЕДЕЛЕНО
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК НаПрочиеАктивы,
| ЛОЖЬ КАК НаДоходы,
| ЛОЖЬ КАК НаПрочиеПассивы,
|
| КорректировкаЗадолженности.СуммаКорректировки - КорректировкаЗадолженности.СуммаНДСКорректировки КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаКорректировки КАК СуммаСНДС,
| КорректировкаЗадолженности.СуммаНДСКорректировки КАК СуммаНДС,
|
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(КорректировкаЗадолженности.СуммаВзаиморасчетов
| * КорректировкаЗадолженности.СуммаНДСКорректировки
| / КорректировкаЗадолженности.СуммаКорректировки КАК ЧИСЛО(31,2)) КАК СуммаНДСВзаиморасчетов,
|
| ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КАК СуммаСНДСУпр,
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КАК СуммаБезНДСУпр,
| ЕСТЬNULL(Суммы.СуммаСНДСРегл, 0) КАК СуммаСНДСРегл,
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК НДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСУпр, 0) КАК НДСУпр,
|
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ОбъектРасчетов.УникальныйИдентификатор КАК УникальныйИдентификаторОбъектаРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = КорректировкаЗадолженности.Ссылка
| И Суммы.ИдентификаторСтроки = КорректировкаЗадолженности.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО
| ТаблицаАналитикУчетаПартий.НомерСтроки = КорректировкаЗадолженности.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""КорректировкаЗадолженности""
|ГДЕ
| КорректировкаЗадолженности.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаВидыЗапасовОприходование";
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Серия КАК Серия,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| ТаблицаРасхождения.Ссылка.Подразделение КАК ПодразделениеШапки,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.СтавкаНДС КАК СтавкаНДС,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
|
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаРасхождения.Сделка КАК Сделка,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаРасхождения.ЗаказПоставщику КАК ЗаказПоставщику,
|
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК ЭтоПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасовОприходование
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И НЕ &РаздельнаяЗакупка
| И ТаблицаРасхождения.ВариантОтражения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУчестьПриИнвентаризации))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ВидыЗапасов.Подразделение КАК Подразделение,
| ВидыЗапасов.Ссылка.Подразделение КАК ПодразделениеШапки,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| ВидыЗапасов.Количество КАК Количество,
| ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета И &Валюта <> &ВалютаВзаиморасчетов ТОГДА
| ВидыЗапасов.СуммаВзаиморасчетов
| ИНАЧЕ
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаСНДС * &КоэффициентПересчетаВВалютуУПР) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаСНДСУпр,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета И &Валюта <> &ВалютаВзаиморасчетов ТОГДА
| ВидыЗапасов.СуммаВзаиморасчетов - ВидыЗапасов.СуммаНДСВзаиморасчетов
| ИНАЧЕ
| ВЫРАЗИТЬ(((ВидыЗапасов.СуммаСНДС-ВидыЗапасов.СуммаНДС) * &КоэффициентПересчетаВВалютуУПР) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета И &Валюта <> &ВалютаВзаиморасчетов ТОГДА
| ВидыЗапасов.СуммаВзаиморасчетов - ВидыЗапасов.СуммаНДСВзаиморасчетов
| ИНАЧЕ
| ВЫРАЗИТЬ(((ВидыЗапасов.СуммаСНДС - ВидыЗапасов.СуммаНДС) * &КоэффициентПересчетаВВалютуРегл) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаБезНДСРегл,
|
| ВЫБОР
| КОГДА &ВалютаВзаиморасчетов = &ВалютаРегламентированногоУчета И &Валюта <> &ВалютаВзаиморасчетов ТОГДА
| ВидыЗапасов.СуммаВзаиморасчетов
| ИНАЧЕ
| ВЫРАЗИТЬ((ВидыЗапасов.СуммаНДС * &КоэффициентПересчетаВВалютуРегл) КАК ЧИСЛО(31,2))
| КОНЕЦ КАК СуммаНДСРегл,
|
| ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ВидыЗапасов.Сделка КАК Сделка,
| ВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ВидыЗапасов.ЗаказПоставщику КАК ЗаказПоставщику,
|
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации,
| ВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК ЭтоПрослеживаемаяРабота
|
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
|
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И &РаздельнаяЗакупка
| И ВидыЗапасов.ВариантОтражения =
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.Серия КАК Серия,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| ТаблицаРасхождения.Ссылка.Подразделение КАК ПодразделениеШапки,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.СтавкаНДС КАК СтавкаНДС,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
|
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаРасхождения.Сделка КАК Сделка,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаРасхождения.ЗаказПоставщику КАК ЗаказПоставщику,
|
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ИСТИНА КАК ЭтоПрослеживаемаяРабота
|
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) = АналитикаБезНазначения.СтатьяКалькуляции
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаРасхождения.Номенклатура.ПрослеживаемыйТовар
| И ТаблицаРасхождения.ВариантОтражения =
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара)
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| И ТаблицаРасхождения.Количество <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтВозвратыПоставщикам(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтКорректировкиПриобретения";
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.Ссылка.Организация КАК Организация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры,
| (ВЫБОР
| КОГДА НЕ &УчитыватьСебестоимостьТоваровПоНазначениям ТОГДА АналитикаБезНазначения.КлючАналитики
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатуры КОНЕЦ) КАК АналитикаУчетаСебестоимости,
| ТаблицаРасхождения.ВидЗапасов,
| СУММА(ТаблицаРасхождения.Количество) КАК Количество
|ПОМЕСТИТЬ ВтКорректировкиПриобретения
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО Аналитика.Ссылка = ТаблицаРасхождения.АналитикаУчетаНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО АналитикаБезНазначения.Номенклатура = Аналитика.Номенклатура
| И АналитикаБезНазначения.Характеристика = Аналитика.Характеристика
| И АналитикаБезНазначения.Серия = Аналитика.Серия
| И АналитикаБезНазначения.МестоХранения = Аналитика.МестоХранения
| И АналитикаБезНазначения.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| И АналитикаБезНазначения.СтатьяКалькуляции = Аналитика.СтатьяКалькуляции
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУчестьПриИнвентаризации))
|СГРУППИРОВАТЬ ПО
| ТаблицаРасхождения.Ссылка.Организация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры,
| (ВЫБОР
| КОГДА НЕ &УчитыватьСебестоимостьТоваровПоНазначениям ТОГДА АналитикаБезНазначения.КлючАналитики
| ИНАЧЕ ТаблицаРасхождения.АналитикаУчетаНоменклатуры КОНЕЦ),
| ТаблицаРасхождения.ВидЗапасов
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
ИмяРегистра = "ВтНеНулевыеОстаткиТоваров";
ТекстЗапроса = "
|ВЫБРАТЬ
| ОстаткиТоваров.АналитикаУчетаНоменклатуры,
| ОстаткиТоваров.ВидЗапасов,
| ОстаткиТоваров.КоличествоОстаток КАК Количество
|ПОМЕСТИТЬ ВтНеНулевыеОстаткиТоваров
|ИЗ
| РегистрНакопления.ТоварыОрганизаций.Остатки(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ),
| НЕ (&ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка)
| И (АналитикаУчетаНоменклатуры, Организация, ВидЗапасов) В (
| ВЫБРАТЬ
| Корректировки.АналитикаУчетаНоменклатуры,
| Корректировки.Организация,
| Корректировки.ВидЗапасов
| ИЗ
| ВтКорректировкиПриобретения КАК Корректировки
| )
| ) КАК ОстаткиТоваров
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
ИмяРегистра = "ВтНеНулевыеОстаткиСебестоимости";
ТекстЗапроса = "
|ВЫБРАТЬ
| ОстаткиТоваров.АналитикаУчетаНоменклатуры,
| ОстаткиТоваров.ВидЗапасов,
| ОстаткиТоваров.КоличествоОстаток КАК Количество
|ПОМЕСТИТЬ ВтНеНулевыеОстаткиСебестоимости
|ИЗ
| РегистрНакопления.СебестоимостьТоваров.Остатки(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ),
| (&ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка)
| И (АналитикаУчетаНоменклатуры, ВидЗапасов, Организация, Партия) В (
| ВЫБРАТЬ
| Корректировки.АналитикаУчетаСебестоимости,
| Корректировки.ВидЗапасов,
| Корректировки.Организация,
| &ДокументОснование КАК Партия
| ИЗ
| ВтКорректировкиПриобретения КАК Корректировки
| )
| ) КАК ОстаткиТоваров
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
ИмяРегистра = "ВтПрошлыеКорректировки";
ТекстЗапроса = "
|ВЫБРАТЬ
| Движения.АналитикаУчетаНоменклатуры,
| Движения.ВидЗапасов,
| СУММА(Движения.Количество) КАК Количество
|ПОМЕСТИТЬ ВтПрошлыеКорректировки
|ИЗ
| РегистрНакопления.СебестоимостьТоваров КАК Движения
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
| ПО КорректировкаПриобретения.Ссылка = Движения.Регистратор
| И КорректировкаПриобретения.ДокументОснование = &ДокументОснование
|ГДЕ
| Движения.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И &Период
| И Движения.Регистратор <> &Ссылка
| И Движения.Активность
| И Движения.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И (Движения.АналитикаУчетаНоменклатуры, Движения.ВидЗапасов, Движения.Организация) В (
| ВЫБРАТЬ
| Корректировки.АналитикаУчетаСебестоимости,
| Корректировки.ВидЗапасов,
| Корректировки.Организация
| ИЗ
| ВтКорректировкиПриобретения КАК Корректировки
| )
|СГРУППИРОВАТЬ ПО
| Движения.АналитикаУчетаНоменклатуры,
| Движения.ВидЗапасов
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
ИмяРегистра = "ВтВозвратыПоставщикам";
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Корректировки.АналитикаУчетаНоменклатуры,
| ИСТИНА КАК ЭтоВозвратПоставщику
|ПОМЕСТИТЬ ВтВозвратыПоставщикам
|ИЗ
| ВтКорректировкиПриобретения КАК Корректировки
| ЛЕВОЕ СОЕДИНЕНИЕ ВтНеНулевыеОстаткиТоваров КАК ОстаткиТоваров
| ПО ОстаткиТоваров.АналитикаУчетаНоменклатуры = Корректировки.АналитикаУчетаНоменклатуры
| И ОстаткиТоваров.ВидЗапасов = Корректировки.ВидЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтНеНулевыеОстаткиСебестоимости КАК ОстаткиСебестоимости
| ПО ОстаткиСебестоимости.АналитикаУчетаНоменклатуры = Корректировки.АналитикаУчетаСебестоимости
| И ОстаткиСебестоимости.ВидЗапасов = Корректировки.ВидЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПрошлыеКорректировки КАК ПрошлыеКорректировки
| ПО ПрошлыеКорректировки.АналитикаУчетаНоменклатуры = Корректировки.АналитикаУчетаСебестоимости
| И ПрошлыеКорректировки.ВидЗапасов = Корректировки.ВидЗапасов
|ГДЕ
| НЕ (&ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка)
| И ЕСТЬNULL(ОстаткиТоваров.Количество, 0) <= (-Корректировки.Количество - ЕСТЬNULL(ПрошлыеКорректировки.Количество, 0))
| ИЛИ (&ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка)
| И ЕСТЬNULL(ОстаткиСебестоимости.Количество, 0) <= (-Корректировки.Количество - ЕСТЬNULL(ПрошлыеКорректировки.Количество, 0))
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтПараметрыНоменклатуры(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПараметрыНоменклатуры";
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Ссылка КАК Ссылка,
| МАКСИМУМ(Товары.СтатусУказанияСерий = 14 ИЛИ ЕСТЬNULL(Политики.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям, ЛОЖЬ)) КАК УчетСерийПоСебестоимости,
| МАКСИМУМ(ЕСТЬNULL(Товары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетСерийВНеотфактурованныхПоставкахТоваров, ЛОЖЬ)) КАК УчетСерийВНеотфактурованныхПоставкахТоваров,
| МАКСИМУМ(ЕСТЬNULL(Товары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры.ПолитикаУчетаСерий.УчетТоваровВПутиОтПоставщикаПоСериям, ЛОЖЬ)) КАК УчетТоваровВПутиОтПоставщикаПоСериям,
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ ВтПараметрыНоменклатуры
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК Политики
| ПО Политики.Ссылка = Товары.АналитикаУчетаНоменклатуры.Номенклатура.ВидНоменклатуры
| И Политики.Склад = Товары.Склад
|ГДЕ
| Товары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| Товары.Ссылка,
| Товары.АналитикаУчетаНоменклатуры.Номенклатура
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| Номенклатура
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаВидыЗапасовСписание";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтВозвратыПоставщикам", ТекстыЗапроса) Тогда
ТекстЗапросаВтВозвратыПоставщикам(Запрос, ТекстыЗапроса);
КонецЕсли;
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| ТаблицаРасхождения.Ссылка.Подразделение КАК ПодразделениеШапки,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| -ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ -ТаблицаРасхождения.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| -ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.СтавкаНДС КАК СтавкаНДС,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -(Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(-Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
|
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыУпр,
|
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаРасхождения.Сделка КАК Сделка,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаРасхождения.ЗаказПоставщику КАК ЗаказПоставщику,
| ВЫБОР
| КОГДА (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаРасхождения.СуммаСНДС <> 0)
| ИЛИ (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаРасхождения.Количество <> 0)
| ТОГДА ЕСТЬNULL(ВозвратыПоставщикам.ЭтоВозвратПоставщику, ЛОЖЬ)
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЭтоВозвратПоставщику,
|
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК ЭтоПрослеживаемаяРабота
|
|ПОМЕСТИТЬ ВтТаблицаВидыЗапасовСписание
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВозвратыПоставщикам КАК ВозвратыПоставщикам
| ПО ВозвратыПоставщикам.АналитикаУчетаНоменклатуры = ТаблицаРасхождения.АналитикаУчетаНоменклатуры
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И НЕ &РаздельнаяЗакупка
| И ТаблицаРасхождения.ВариантОтражения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУчестьПриИнвентаризации))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение КАК Назначение,
| ВидыЗапасов.Подразделение КАК Подразделение,
| ВидыЗапасов.Ссылка.Подразделение КАК ПодразделениеШапки,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД,
| -ВидыЗапасов.Количество КАК Количество,
| -ВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| -ВидыЗапасов.СуммаСНДС КАК СуммаСНДС,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -(Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(-Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
|
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫБОР
| КОГДА ВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыУпр,
|
| ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ВидыЗапасов.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ВидыЗапасов.Сделка КАК Сделка,
| ВидыЗапасов.СуммаНДС КАК СуммаНДС,
| ВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ВидыЗапасов.ЗаказПоставщику КАК ЗаказПоставщику,
| ВЫБОР
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ВидыЗапасов.СуммаСНДС <> 0
| ТОГДА
| ЕСТЬNULL(ВозвратыПоставщикам.ЭтоВозвратПоставщику, ЛОЖЬ)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ КАК ЭтоВозвратПоставщику,
|
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.СторноПоступления) КАК НастройкаХозяйственнойОперации,
| ВидыЗапасов.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЛОЖЬ КАК ЭтоПрослеживаемаяРабота
|
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВозвратыПоставщикам КАК ВозвратыПоставщикам
| ПО ВозвратыПоставщикам.АналитикаУчетаНоменклатуры = ВидыЗапасов.АналитикаУчетаНоменклатуры
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| И ВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ВидыЗапасов.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ВидыЗапасов""
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ВидыЗапасов.ИдентификаторСтроки
|ГДЕ
| ВидыЗапасов.Ссылка = &Ссылка
| И &РаздельнаяЗакупка
| И ВидыЗапасов.ВариантОтражения =
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
| ТаблицаРасхождения.Ссылка.Подразделение КАК ПодразделениеШапки,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| -ТаблицаРасхождения.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ -ТаблицаРасхождения.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| -ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| АналитикаБезНазначения.КлючАналитики КАК АналитикаУчетаНоменклатурыБезНазначения,
| ТаблицаРасхождения.СтавкаНДС КАК СтавкаНДС,
|
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -(Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаСНДСУпр, 0) КОНЕЦ) КАК СуммаСНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ) КАК СуммаБезНДСУпр,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ) КАК СуммаБезНДСРегл,
| ЕСТЬNULL(-Суммы.СуммаНДСРегл, 0) КАК СуммаНДСРегл,
| (ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл - Суммы.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ВременнаяРазница,
|
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСРегл, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА -Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(-Суммы.СуммаБезНДСУпр, 0) КОНЕЦ
| КОНЕЦ КАК ДопРасходыУпр,
|
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.Склад.ЦеховаяКладовая КАК ЦеховаяКладовая,
| ТаблицаРасхождения.Сделка КАК Сделка,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ТаблицаРасхождения.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| ТаблицаРасхождения.ЗаказПоставщику КАК ЗаказПоставщику,
| ВЫБОР
| КОГДА (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаРасхождения.СуммаСНДС <> 0)
| ИЛИ (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаРасхождения.Количество <> 0)
| ТОГДА ЕСТЬNULL(ВозвратыПоставщикам.ЭтоВозвратПоставщику, ЛОЖЬ)
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЭтоВозвратПоставщику,
|
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика) КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ИСТИНА КАК ЭтоПрослеживаемаяРабота
|
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ ВтВозвратыПоставщикам КАК ВозвратыПоставщикам
| ПО ВозвратыПоставщикам.АналитикаУчетаНоменклатуры = ТаблицаРасхождения.АналитикаУчетаНоменклатуры
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаБезНазначения
| ПО ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаБезНазначения.Номенклатура
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Характеристика = АналитикаБезНазначения.Характеристика
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Серия = АналитикаБезНазначения.Серия
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаБезНазначения.СтатьяКалькуляции
| И ТаблицаРасхождения.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаБезНазначения.МестоХранения
| И ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) = АналитикаБезНазначения.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Расхождения""
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Ссылка = ТаблицаРасхождения.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаРасхождения.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаРасхождения.Ссылка = &Ссылка
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаРасхождения.Номенклатура.ПрослеживаемыйТовар
| И ТаблицаРасхождения.ВариантОтражения =
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара)
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| И ТаблицаРасхождения.Количество <> 0
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПринятаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПринятаяВозвратнаяТара";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.СуммаСНДС КАК Сумма,
| &Партнер КАК Партнер,
| &ДокументОснование КАК ДокументПоступления,
| &ТребуетсяЗалогЗаТару КАК ПредусмотренЗалог,
|
| ВЫБОР
| КОГДА &ТребуетсяЗалогЗаТару
| ТОГДА &ИдентификаторНеиспользуемойФинЗаписи
| ИНАЧЕ ТаблицаТовары.ИдентификаторФинЗаписи
| КОНЕЦ КАК ИдентификаторФинЗаписи,
| ТаблицаТовары.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаТовары.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И &ВернутьМногооборотнуюТару
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДатыПоступленияТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПоступления,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.Серия КАК Серия,
| ТаблицаВидыЗапасов.Назначение КАК Назначение,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ДатыПоступленияТоваровОрганизаций КАК ПоступленияТоваров
| ПО
| ТаблицаВидыЗапасов.ВидЗапасов = ПоступленияТоваров.ВидЗапасов
| И ТаблицаВидыЗапасов.Номенклатура = ПоступленияТоваров.Номенклатура
| И ТаблицаВидыЗапасов.Характеристика = ПоступленияТоваров.Характеристика
| И ТаблицаВидыЗапасов.Серия = ПоступленияТоваров.Серия
| И ТаблицаВидыЗапасов.Назначение = ПоступленияТоваров.Назначение
| И ТаблицаВидыЗапасов.НомерГТД = ПоступленияТоваров.НомерГТД
|
|ГДЕ
| (ПоступленияТоваров.ДатаПоступления ЕСТЬ NULL
| ИЛИ ПоступленияТоваров.ДатаПоступления < &Период)
| И (
| (НЕ &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)))
| ИЛИ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота)
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаВидыЗапасов.ВидЗапасов,
| ТаблицаВидыЗапасов.Номенклатура,
| ТаблицаВидыЗапасов.Характеристика,
| ТаблицаВидыЗапасов.Серия,
| ТаблицаВидыЗапасов.Назначение,
| ТаблицаВидыЗапасов.НомерГТД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТоварыОрганизаций(Запрос, ТекстыЗапроса) Экспорт
ИмяТаблицы = "ВтТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПараметрыНоменклатуры", ТекстыЗапроса) Тогда
ТекстЗапросаВтПараметрыНоменклатуры(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.ТипНомераГТД КАК НомерГТДТипНомераГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ИСТИНА КАК Первичное,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СтавкаНДС
|ПОМЕСТИТЬ ВтТоварыОрганизаций
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|ГДЕ
| НЕ &ИспользуетсяДокументПоступлениеТоваров
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Организация,
| &Организация,
| ТаблицаВидыЗапасов.Номенклатура,
| ТаблицаВидыЗапасов.Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.ТипНомераГТД,
| ТаблицаВидыЗапасов.Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС,
| ЛОЖЬ,
| ТаблицаВидыЗапасов.ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СтавкаНДС
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| НЕ &ИспользуетсяДокументПоступлениеТоваров
| И НЕ ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ОрганизацияОтгрузки,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД КАК НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.ТипНомераГТД,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| АналитикаПоПодразделениям.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ИСТИНА КАК Первичное,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СтавкаНДС
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоПодразделениям
| ПО АналитикаПоПодразделениям.Номенклатура = ТаблицаВидыЗапасов.Номенклатура
| И АналитикаПоПодразделениям.Характеристика = ТаблицаВидыЗапасов.Характеристика
| И АналитикаПоПодразделениям.Серия = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия
| И АналитикаПоПодразделениям.Назначение = ТаблицаВидыЗапасов.Назначение
| И АналитикаПоПодразделениям.СтатьяКалькуляции = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| И АналитикаПоПодразделениям.МестоХранения =
| ВЫБОР
| КОГДА &НеотфактурованныеПоставкиУслугРабот
| ТОГДА
| ТаблицаВидыЗапасов.ПодразделениеШапки
| ИНАЧЕ
| ТаблицаВидыЗапасов.Подразделение
| КОНЕЦ
|ГДЕ
| ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Организация,
| &Организация,
| ТаблицаВидыЗапасов.Номенклатура,
| ТаблицаВидыЗапасов.Характеристика,
| ТаблицаВидыЗапасов.ВидЗапасов,
| ТаблицаВидыЗапасов.НомерГТД,
| ТаблицаВидыЗапасов.НомерГТД.ТипНомераГТД,
| ТаблицаВидыЗапасов.Количество,
| ТаблицаВидыЗапасов.КоличествоПоРНПТ,
| АналитикаПоПодразделениям.КлючАналитики,
| &ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС,
| ЛОЖЬ,
| ТаблицаВидыЗапасов.ИдентификаторСтроки,
| ТаблицаВидыЗапасов.СтавкаНДС
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаПоПодразделениям
| ПО АналитикаПоПодразделениям.Номенклатура = ТаблицаВидыЗапасов.Номенклатура
| И АналитикаПоПодразделениям.Характеристика = ТаблицаВидыЗапасов.Характеристика
| И АналитикаПоПодразделениям.Серия = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Серия
| И АналитикаПоПодразделениям.Назначение = ТаблицаВидыЗапасов.Назначение
| И АналитикаПоПодразделениям.СтатьяКалькуляции = ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.СтатьяКалькуляции
| И АналитикаПоПодразделениям.МестоХранения =
| ВЫБОР
| КОГДА &НеотфактурованныеПоставкиУслугРабот
| ТОГДА
| ТаблицаВидыЗапасов.ПодразделениеШапки
| ИНАЧЕ
| ТаблицаВидыЗапасов.Подразделение
| КОНЕЦ
|ГДЕ
| ТаблицаВидыЗапасов.ЭтоПрослеживаемаяРабота
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| НЕОПРЕДЕЛЕНО,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика,
| ТаблицаДокумента.ВидЗапасов,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка),
| ТаблицаДокумента.Количество,
| 0 КАК КоличествоПоРНПТ,
| АналитикаУчетаНоменклатурыПоПартнерам.КлючАналитики,
| &ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО,
| ЛОЖЬ,
| ТаблицаДокумента.ИдентификаторСтроки,
| ТаблицаДокумента.СтавкаНДС
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ПО ТаблицаДокумента.Ссылка = ТаблицаРасхождения.Ссылка
| И ТаблицаДокумента.КодСтроки = ТаблицаРасхождения.КодСтроки
| И ТаблицаДокумента.ЗаказПоставщику = ТаблицаРасхождения.ЗаказПоставщику
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаРасхождения.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = ТаблицаРасхождения.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = ТаблицаРасхождения.Назначение
| И (ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = ТаблицаРасхождения.Серия
| ИЛИ ТаблицаРасхождения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаДокумента.ВариантОтражения = ТаблицаРасхождения.ВариантОтражения
| И ТаблицаДокумента.НомерГТД = ТаблицаРасхождения.НомерГТД
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеПоступления
| ПО ТаблицаДокумента.Ссылка.ДокументОснование = ДанныеПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатурыПоПартнерам
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаУчетаНоменклатурыПоПартнерам.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = АналитикаУчетаНоменклатурыПоПартнерам.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = АналитикаУчетаНоменклатурыПоПартнерам.Назначение
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = АналитикаУчетаНоменклатурыПоПартнерам.Серия
| И (ДанныеПоступления.Договор = АналитикаУчетаНоменклатурыПоПартнерам.МестоХранения)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаУчетаНоменклатурыПоПартнерам.СтатьяКалькуляции
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаДокумента.ВариантОтражения В (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров), ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров))
| И НЕ (
| ТаблицаДокумента.Ссылка.Договор <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И ТаблицаДокумента.Ссылка.Договор.ВариантОформленияЗакупок В (ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг))
| И ТаблицаДокумента.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| НЕОПРЕДЕЛЕНО,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка),
| -ТаблицаДокумента.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| АналитикаУчетаНоменклатурыПоСкладам.КлючАналитики,
| &ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО,
| ЛОЖЬ,
| ТаблицаДокумента.ИдентификаторСтроки,
| ТаблицаДокумента.СтавкаНДС
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ПО ТаблицаДокумента.Ссылка = ТаблицаРасхождения.Ссылка
| И ТаблицаДокумента.КодСтроки = ТаблицаРасхождения.КодСтроки
| И ТаблицаДокумента.ЗаказПоставщику = ТаблицаРасхождения.ЗаказПоставщику
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаРасхождения.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = ТаблицаРасхождения.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = ТаблицаРасхождения.Назначение
| И (ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = ТаблицаРасхождения.Серия
| ИЛИ ТаблицаРасхождения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаДокумента.НомерГТД = ТаблицаРасхождения.НомерГТД
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеПоступления
| ПО ТаблицаДокумента.Ссылка.ДокументОснование = ДанныеПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатурыПоСкладам
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаУчетаНоменклатурыПоСкладам.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = АналитикаУчетаНоменклатурыПоСкладам.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = АналитикаУчетаНоменклатурыПоСкладам.Назначение
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = АналитикаУчетаНоменклатурыПоСкладам.Серия
| И (ТаблицаРасхождения.Склад = АналитикаУчетаНоменклатурыПоСкладам.МестоХранения)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаУчетаНоменклатурыПоСкладам.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТаблицаДокумента.ВидЗапасов.Организация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТаблицаДокумента.ВидЗапасов.ВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТаблицаДокумента.ВидЗапасов.НалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТаблицаДокумента.ВидЗапасов.ГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТаблицаДокумента.ВидЗапасов.ГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТаблицаДокумента.ВидЗапасов.ВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТаблицаДокумента.ВидЗапасов.ОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаДокумента.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров)
| И НЕ (
| ТаблицаДокумента.Ссылка.Договор <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И ТаблицаДокумента.Ссылка.Договор.ВариантОформленияЗакупок В (ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг))
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Организация,
| НЕОПРЕДЕЛЕНО,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ТаблицаДокумента.НомерГТД КАК НомерГТД,
| ТаблицаДокумента.НомерГТД.ТипНомераГТД,
| -ТаблицаДокумента.Количество КАК Количество,
| -ТаблицаДокумента.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| АналитикаУчетаНоменклатурыПоСкладам.КлючАналитики,
| &ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО,
| ЛОЖЬ,
| ТаблицаДокумента.ИдентификаторСтроки,
| ТаблицаДокумента.СтавкаНДС
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ПО ТаблицаДокумента.Ссылка = ТаблицаРасхождения.Ссылка
| И ТаблицаДокумента.КодСтроки = ТаблицаРасхождения.КодСтроки
| И ТаблицаДокумента.ЗаказПоставщику = ТаблицаРасхождения.ЗаказПоставщику
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаРасхождения.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = ТаблицаРасхождения.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = ТаблицаРасхождения.Назначение
| И (ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = ТаблицаРасхождения.Серия
| ИЛИ ТаблицаРасхождения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаДокумента.НомерГТД = ТаблицаРасхождения.НомерГТД
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеПоступления
| ПО ТаблицаДокумента.Ссылка.ДокументОснование = ДанныеПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатурыПоСкладам
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаУчетаНоменклатурыПоСкладам.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = АналитикаУчетаНоменклатурыПоСкладам.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = АналитикаУчетаНоменклатурыПоСкладам.Назначение
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = АналитикаУчетаНоменклатурыПоСкладам.Серия
| И (ТаблицаРасхождения.Склад = АналитикаУчетаНоменклатурыПоСкладам.МестоХранения)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаУчетаНоменклатурыПоСкладам.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТаблицаДокумента.ВидЗапасов.Организация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТаблицаДокумента.ВидЗапасов.ВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТаблицаДокумента.ВидЗапасов.НалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТаблицаДокумента.ВидЗапасов.ГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТаблицаДокумента.ВидЗапасов.ГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТаблицаДокумента.ВидЗапасов.ВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТаблицаДокумента.ВидЗапасов.ОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаДокумента.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров)
| И НЕ (
| ТаблицаДокумента.Ссылка.Договор <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И ТаблицаДокумента.Ссылка.Договор.ВариантОформленияЗакупок В (ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг))
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| НЕОПРЕДЕЛЕНО,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ТаблицаДокумента.НомерГТД КАК НомерГТД,
| ТаблицаДокумента.НомерГТД.ТипНомераГТД,
| ТаблицаДокумента.Количество КАК Количество,
| ТаблицаДокумента.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| АналитикаУчетаНоменклатурыПоСкладам.КлючАналитики,
| &ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО,
| ЛОЖЬ,
| ТаблицаДокумента.ИдентификаторСтроки,
| ТаблицаДокумента.СтавкаНДС
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ПО ТаблицаДокумента.Ссылка = ТаблицаРасхождения.Ссылка
| И ТаблицаДокумента.КодСтроки = ТаблицаРасхождения.КодСтроки
| И ТаблицаДокумента.ЗаказПоставщику = ТаблицаРасхождения.ЗаказПоставщику
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаРасхождения.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = ТаблицаРасхождения.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = ТаблицаРасхождения.Назначение
| И (ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = ТаблицаРасхождения.Серия
| ИЛИ ТаблицаРасхождения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаДокумента.НомерГТД = ТаблицаРасхождения.НомерГТД
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеПоступления
| ПО ТаблицаДокумента.Ссылка.ДокументОснование = ДанныеПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатурыПоСкладам
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаУчетаНоменклатурыПоСкладам.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = АналитикаУчетаНоменклатурыПоСкладам.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = АналитикаУчетаНоменклатурыПоСкладам.Назначение
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = АналитикаУчетаНоменклатурыПоСкладам.Серия
| И (ТаблицаРасхождения.Склад = АналитикаУчетаНоменклатурыПоСкладам.МестоХранения)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаУчетаНоменклатурыПоСкладам.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТаблицаДокумента.ВидЗапасов.Организация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТаблицаДокумента.ВидЗапасов.ВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТаблицаДокумента.ВидЗапасов.НалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТаблицаДокумента.ВидЗапасов.ГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТаблицаДокумента.ВидЗапасов.ГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТаблицаДокумента.ВидЗапасов.ВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТаблицаДокумента.ВидЗапасов.ОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыНоменклатуры КАК ДанныеСтатусовСерий
| ПО ТаблицаДокумента.Ссылка = ДанныеСтатусовСерий.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ДанныеСтатусовСерий.Номенклатура
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаДокумента.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров)
| И НЕ (
| ТаблицаДокумента.Ссылка.Договор <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И ТаблицаДокумента.Ссылка.Договор.ВариантОформленияЗакупок = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.ТоварыВПути)
| И (ДанныеСтатусовСерий.УчетСерийПоСебестоимости
| И НЕ (ДанныеСтатусовСерий.УчетСерийВНеотфактурованныхПоставкахТоваров
| ИЛИ ДанныеСтатусовСерий.УчетТоваровВПутиОтПоставщикаПоСериям))
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаДокумента.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Организация,
| НЕОПРЕДЕЛЕНО,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура,
| ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика,
| ВидыЗапасовСкладские.Ссылка,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ЗНАЧЕНИЕ(Перечисление.ТипыНомеровГТД.ПустаяСсылка),
| ТаблицаДокумента.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| АналитикаУчетаНоменклатурыПоСкладам.КлючАналитики,
| &ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО,
| ЛОЖЬ,
| ТаблицаДокумента.ИдентификаторСтроки,
| ТаблицаДокумента.СтавкаНДС
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ПО ТаблицаДокумента.Ссылка = ТаблицаРасхождения.Ссылка
| И ТаблицаДокумента.КодСтроки = ТаблицаРасхождения.КодСтроки
| И ТаблицаДокумента.ЗаказПоставщику = ТаблицаРасхождения.ЗаказПоставщику
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ТаблицаРасхождения.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = ТаблицаРасхождения.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = ТаблицаРасхождения.Назначение
| И (ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = ТаблицаРасхождения.Серия
| ИЛИ ТаблицаРасхождения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка))
| И ТаблицаДокумента.НомерГТД = ТаблицаРасхождения.НомерГТД
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ДанныеПоступления
| ПО ТаблицаДокумента.Ссылка.ДокументОснование = ДанныеПоступления.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатурыПоСкладам
| ПО ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаУчетаНоменклатурыПоСкладам.Номенклатура
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Характеристика = АналитикаУчетаНоменклатурыПоСкладам.Характеристика
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Назначение = АналитикаУчетаНоменклатурыПоСкладам.Назначение
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Серия = АналитикаУчетаНоменклатурыПоСкладам.Серия
| И (ТаблицаРасхождения.Склад = АналитикаУчетаНоменклатурыПоСкладам.МестоХранения)
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.СтатьяКалькуляции = АналитикаУчетаНоменклатурыПоСкладам.СтатьяКалькуляции
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЗапасов КАК ВидыЗапасовСкладские
| ПО ВидыЗапасовСкладские.Организация = ТаблицаДокумента.ВидЗапасов.Организация
| И ВидыЗапасовСкладские.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ВидыЗапасовСкладские.ВладелецТовара = ТаблицаДокумента.ВидЗапасов.ВладелецТовара
| И ВидыЗапасовСкладские.НалогообложениеНДС = ТаблицаДокумента.ВидЗапасов.НалогообложениеНДС
| И ВидыЗапасовСкладские.ГруппаФинансовогоУчета = ТаблицаДокумента.ВидЗапасов.ГруппаФинансовогоУчета
| И ВидыЗапасовСкладские.ГруппаПродукции = ТаблицаДокумента.ВидЗапасов.ГруппаПродукции
| И ВидыЗапасовСкладские.ВидЦены = ТаблицаДокумента.ВидЗапасов.ВидЦены
| И ВидыЗапасовСкладские.ОблагаетсяАкцизом = ТаблицаДокумента.ВидЗапасов.ОблагаетсяАкцизом
| И НЕ ВидыЗапасовСкладские.ЭтоДубль
| И НЕ ВидыЗапасовСкладские.Устаревший
| И НЕ ВидыЗапасовСкладские.ПометкаУдаления
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтПараметрыНоменклатуры КАК ДанныеСтатусовСерий
| ПО ТаблицаДокумента.Ссылка = ДанныеСтатусовСерий.Ссылка
| И ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура = ДанныеСтатусовСерий.Номенклатура
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
| И &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаДокумента.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров)
| И НЕ (
| ТаблицаДокумента.Ссылка.Договор <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И ТаблицаДокумента.Ссылка.Договор.ВариантОформленияЗакупок = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.ТоварыВПути)
| И (ДанныеСтатусовСерий.УчетСерийПоСебестоимости
| И НЕ (ДанныеСтатусовСерий.УчетСерийВНеотфактурованныхПоставкахТоваров
| ИЛИ ДанныеСтатусовСерий.УчетТоваровВПутиОтПоставщикаПоСериям))
| )
|
|ИНДЕКСИРОВАТЬ ПО
| НомерГТДТипНомераГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяТаблицы);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры) Экспорт
ИмяРегистра = "ТоварыОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТоварыОрганизаций", ТекстыЗапроса) Тогда
ТекстЗапросаВтТоварыОрганизаций(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ВтТоварыОрганизаций.НомерСтроки КАК НомерСтроки,
| ВтТоварыОрганизаций.ВидДвижения КАК ВидДвижения,
| ВтТоварыОрганизаций.Период КАК Период,
| ВтТоварыОрганизаций.Организация КАК Организация,
| ВтТоварыОрганизаций.ОрганизацияОтгрузки КАК ОрганизацияОтгрузки,
| ВтТоварыОрганизаций.Номенклатура КАК Номенклатура,
| ВтТоварыОрганизаций.Характеристика КАК Характеристика,
| ВтТоварыОрганизаций.ВидЗапасов КАК ВидЗапасов,
| ВтТоварыОрганизаций.НомерГТД КАК НомерГТД,
| ВтТоварыОрганизаций.Количество КАК Количество,
| ВтТоварыОрганизаций.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВтТоварыОрганизаций.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВтТоварыОрганизаций.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ВтТоварыОрганизаций.НалогообложениеНДС КАК НалогообложениеНДС,
| ВтТоварыОрганизаций.Первичное КАК Первичное
|ИЗ
| ВтТоварыОрганизаций КАК ВтТоварыОрганизаций
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеДоходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеДоходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА &СтатьяДоходов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.СтатьяДоходов
| ИНАЧЕ &СтатьяДоходов
| КОНЕЦ КАК СтатьяДоходов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА &АналитикаДоходов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.АналитикаДоходов
| ИНАЧЕ &АналитикаДоходов
| КОНЕЦ КАК АналитикаДоходов,
|
| -ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма,
| (ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| ТОГДА -СуммаСНДСУпр
| ИНАЧЕ -ТаблицаРасхождения.СуммаБезНДСУпр КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА 0
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И НЕ &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| ТОГДА -ТаблицаРасхождения.СуммаСНДСРегл
| ИНАЧЕ -ТаблицаРасхождения.СуммаБезНДСРегл КОНЕЦ) КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияСОтражениемНаПрочихДоходах) КАК ХозяйственнаяОперация,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСОтражениемНаПрочихДоходах) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|
|ГДЕ
| &ИспользоватьУчетПрочихДоходовРасходов
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И (ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| И &СтатьяДоходов <> НЕОПРЕДЕЛЕНО)
| ИЛИ (ТаблицаРасхождения.СписатьНаРасходы
| И ТаблицаРасхождения.СтатьяДоходов <> НЕОПРЕДЕЛЕНО)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА &СтатьяДоходов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.СтатьяДоходов
| ИНАЧЕ &СтатьяДоходов
| КОНЕЦ КАК СтатьяДоходов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА &АналитикаДоходов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.АналитикаДоходов
| ИНАЧЕ &АналитикаДоходов
| КОНЕЦ КАК АналитикаДоходов,
|
| 0 КАК Сумма,
| (ВЫБОР
| КОГДА НЕ &УправленческийУчетОрганизаций
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.СуммаБезНДСУпр - ТаблицаРасхождения.СуммаСНДСУпр КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.СуммаБезНДСРегл - ТаблицаРасхождения.СуммаСНДСРегл КОНЕЦ) КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияСОтражениемНаПрочихДоходах) КАК ХозяйственнаяОперация,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|
|ГДЕ
| &ИспользоватьУчетПрочихДоходовРасходов
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И &ФормироватьНДСПредъявленныйПриВключенииВСтоимость
| И ТаблицаРасхождения.ВидДеятельностиНДС В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И (ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| И &СтатьяДоходов <> НЕОПРЕДЕЛЕНО)
| ИЛИ (ТаблицаРасхождения.СписатьНаРасходы
| И ТаблицаРасхождения.СтатьяДоходов <> НЕОПРЕДЕЛЕНО)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА КорректировкаЗадолженности.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА КорректировкаЗадолженности.СуммаСНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаДоходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &СтатьяДоходов КАК СтатьяДоходов,
| &АналитикаДоходов КАК АналитикаДоходов,
|
| 0 КАК Сумма,
| (ВЫБОР
| КОГДА &УправленческийУчетОрганизаций
| ТОГДА КорректировкаЗадолженности.НДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаУпр,
| (ВЫБОР
| КОГДА &ИспользоватьУчетПрочихДоходовРасходовРегл
| ТОГДА КорректировкаЗадолженности.НДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВходящийНДСПоПриобретению) КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаДоходы
| И &ЗакупкаПодДеятельность НЕ В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И (КорректировкаЗадолженности.НДСРегл <> 0
| ИЛИ КорректировкаЗадолженности.НДСУпр <> 0)
|
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| СтатьиРасходов.Ссылка КАК СтатьяРасходов,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.АналитикаРасходов
| ИНАЧЕ
| &АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР КОГДА ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаСНДСРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| ТаблицаРасхождения.ВременнаяРазница КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСоСписаниемНаРасходы) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ
| &СтатьяРасходов
| КОНЕЦ = СтатьиРасходов.Ссылка
|
|ГДЕ
| ТаблицаРасхождения.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
|
| НЕ &НеотфактурованныеПоставкиУслугРабот
| И ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| ИНАЧЕ
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы))
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаСНДС,
| КорректировкаЗадолженности.СуммаБезНДСУпр КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаБезНДСУпр,
|
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаСНДСРегл,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаБезНДСРегл,
|
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| КорректировкаЗадолженности.НДСУпр КАК СуммаБезНДСУпр,
|
| 0 КАК СуммаСНДСРегл,
| КорректировкаЗадолженности.НДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВходящийНДСПоПриобретению) КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
| И &ЗакупкаПодДеятельность НЕ В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И (КорректировкаЗадолженности.НДСРегл <> 0
| ИЛИ КорректировкаЗадолженности.НДСУпр <> 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ВыбытияТоваровВПрошлыхПериодах) КАК СтатьяРасходов,
| ТаблицаРасхождения.Номенклатура КАК АналитикаРасходов,
| ПартииПроизводства.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
|
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаСНДСРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСоСписаниемНаРасходы) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
| ПО ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ПартииПроизводства.ПартияВыпуска = &ДокументОснование
| И ПартииПроизводства.НомерГруппыЗатрат = ТаблицаРасхождения.НомерГруппыЗатрат
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
| И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииТоваровОрганизаций";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовОприходование", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаВидыЗапасовСписание", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрЗапросаДокументПоступленияНДС(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &ДокументПоступленияНДС КАК ДокументПоступления,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник
|ИЗ
| ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
|ГДЕ
| &ПартионныйУчетВерсии21
|
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &ДокументОснование КАК ДокументПоступления,
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| &ДокументОснование КАК ДокументИсточник
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| &ПартионныйУчетВерсии21
| И ТаблицаВидыЗапасов.ЭтоВозвратПоставщику
|
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| ТаблицаВидыЗапасов.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &ДокументОснование КАК ДокументПоступления,
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| -ТаблицаВидыЗапасов.СуммаСНДСУпр КАК Стоимость,
| -ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| -ТаблицаВидыЗапасов.СуммаБезНДСРегл КАК СтоимостьРегл,
| -ТаблицаВидыЗапасов.СуммаНДСРегл КАК НДСРегл,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ТаблицаВидыЗапасов.Номенклатура КАК Номенклатура,
| ТаблицаВидыЗапасов.Характеристика КАК Характеристика,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| &ДокументОснование КАК ДокументИсточник
|ИЗ
| ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
|ГДЕ
| &ПартионныйУчетВерсии21
| И НЕ ТаблицаВидыЗапасов.ЭтоВозвратПоставщику
|
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов,
| ТаблицаРасхождения.АналитикаУчетаПартий,
| &ДокументОснование,
| ТаблицаРасхождения.Количество,
| ТаблицаРасхождения.СуммаСНДСУпр,
| ТаблицаРасхождения.СуммаБезНДСУпр,
| ТаблицаРасхождения.СуммаБезНДСРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаРасхождения.ВидДеятельностиНДС,
| ТаблицаРасхождения.Номенклатура,
| ТаблицаРасхождения.Характеристика,
| &ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| &ПартионныйУчетВерсии21
| И ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара)
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В(ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииРасходовНаСебестоимостьТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииРасходовНаСебестоимостьТоваров";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
| &Период,
| &Организация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры,
| &ДокументОснование КАК ДокументПоступления,
| ТаблицаРасхождения.ВидЗапасов,
| ТаблицаРасхождения.АналитикаУчетаПартий,
| &Ссылка КАК ДокументПоступленияРасходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| ТаблицаРасхождения.СуммаСНДСУпр КАК Стоимость,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК НалогообложениеНДС,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| &ПартионныйУчетВерсии21
| И ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара)
| И ТаблицаРасхождения.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногоОборотнаяТара))
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса, Регистры = Неопределено) Экспорт
ТекстЗапросаДанных =
"ВЫБРАТЬ
| ""Расхождения"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.ДокументОснование.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ИСТИНА
| КОГДА ТаблицаДокумента.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаДокумента.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| И НЕ ТаблицаДокумента.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И (НЕ &РаздельнаяЗакупка
| ИЛИ ТаблицаДокумента.Номенклатура.ТипНоменклатуры В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ВидыЗапасов"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Ссылка.Дата КАК Дата,
| ТаблицаДокумента.Ссылка.Организация КАК Организация,
| ТаблицаДокумента.Ссылка.Валюта КАК ВалютаДокумента,
| ТаблицаДокумента.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаДокумента.Ссылка.ДокументОснование.Дата КАК ПериодБазыНДС,
| ТаблицаДокумента.Ссылка.Дата КАК ДатаКурса,
|
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаДокумента.СуммаСНДС - ТаблицаДокумента.СуммаНДС КАК СуммаБезНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ТаблицаДокумента.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ИСТИНА
| КОГДА ТаблицаДокумента.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ТаблицаДокумента.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| И НЕ ТаблицаДокумента.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ОтражаетсяВРасчетах,
| ТаблицаДокумента.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаДокумента
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И &РаздельнаяЗакупка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""УменьшениеЗадолженности"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.Ссылка.Дата КАК Дата,
| КорректировкаЗадолженности.Ссылка.Организация КАК Организация,
| КорректировкаЗадолженности.Ссылка.Валюта КАК ВалютаДокумента,
| КорректировкаЗадолженности.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.Ссылка.Дата КАК ПериодБазыНДС,
| КорректировкаЗадолженности.Ссылка.Дата КАК ДатаКурса,
|
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -(КорректировкаЗадолженности.СуммаКорректировки - КорректировкаЗадолженности.СуммаНДСКорректировки) КАК СуммаБезНДС,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
| -(КорректировкаЗадолженности.СуммаНДСКорректировки) КАК СуммаНДС,
| -(КорректировкаЗадолженности.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| -(КорректировкаЗадолженности.СуммаНДСВзаиморасчетов) КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|
|ГДЕ
| КорректировкаЗадолженности.Ссылка В (&Ссылка)
| И КорректировкаЗадолженности.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУменьшениеЗадолженностиСводно)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""УвеличениеЗадолженности"" КАК ИсточникДанных,
| ИСТИНА КАК РаспределятьОбщуюСумму,
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.Ссылка.Дата КАК Дата,
| КорректировкаЗадолженности.Ссылка.Организация КАК Организация,
| КорректировкаЗадолженности.Ссылка.Валюта КАК ВалютаДокумента,
| КорректировкаЗадолженности.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.Ссылка.Дата КАК ПериодБазыНДС,
| КорректировкаЗадолженности.Ссылка.Дата КАК ДатаКурса,
|
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.СуммаКорректировки - КорректировкаЗадолженности.СуммаНДСКорректировки КАК СуммаБезНДС,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
| КорректировкаЗадолженности.СуммаНДСКорректировки КАК СуммаНДС,
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| КорректировкаЗадолженности.СуммаНДСВзаиморасчетов КАК СуммаНДСВзаиморасчетов,
| 0 КАК СуммаБезНДСРегл,
| 0 КАК СуммаБезНДСУпр,
|
| ИСТИНА КАК ОтражаетсяВРасчетах,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| ИСТИНА КАК ПересчитыватьПоДаннымРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|
|ГДЕ
| КорректировкаЗадолженности.Ссылка В (&Ссылка)
| И КорректировкаЗадолженности.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно)
|";
РегистрыСведений.СуммыДокументовВВалютахУчета.СформироватьПоДаннымДокумента(
Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДанных);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрЗапросаДокументПоступленияНДС(Запрос);
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| &ДокументПоступленияНДС КАК ДокументПоступленияРасходов,
| СтатьиРасходов.Ссылка КАК СтатьяРасходов,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.АналитикаРасходов
| ИНАЧЕ
| &АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ТаблицаРасхождения.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Стоимость,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаРасхождения.СуммаНДСУпр КАК НДСУпр,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| ТаблицаРасхождения.ВременнаяРазница КАК ВременнаяРазница,
| ТаблицаРасхождения.СуммаНДСРегл КАК НДСРегл,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСоСписаниемНаРасходы) КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ
| &СтатьяРасходов
| КОНЕЦ = СтатьиРасходов.Ссылка
|ГДЕ
| ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| ИНАЧЕ
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы))
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| КорректировкаЗадолженности.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Стоимость,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаПриобретенияСоСписаниемНаРасходы) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Ссылка КАК ДокументПоступленияРасходов,
| &СтатьяРасходов КАК СтатьяРасходов,
| &АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| КорректировкаЗадолженности.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК НДСУпр,
| КорректировкаЗадолженности.НДСРегл КАК СтоимостьРегл,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК НДСРегл,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы
| И &ЗакупкаПодДеятельность НЕ В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И (КорректировкаЗадолженности.НДСРегл <> 0
| ИЛИ КорректировкаЗадолженности.НДСУпр <> 0)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрЗапросаДокументПоступленияНДС(Запрос);
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| ТаблицаРасхождения.Номенклатура,
| ТаблицаРасхождения.Характеристика,
| ТаблицаРасхождения.Назначение,
| ТаблицаРасхождения.Серия,
| ТаблицаРасхождения.Подразделение,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.Количество
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И ТаблицаРасхождения.Количество <> 0
| И НЕ &ХозОперацияОснования = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| И НЕ &НеотфактурованныеПоставкиУслугРабот
| И (ТаблицаРасхождения.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ ТаблицаРасхождения.Назначение.ТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И НЕ ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
| И НЕ ТаблицаРасхождения.Номенклатура.ПрослеживаемыйТовар
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПроизводственныхЗатрат";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов,
| ТаблицаРасхождения.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &ДокументОснование КАК ДокументПоступления,
|
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.СуммаСНДСУпр КАК Стоимость,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаРасхождения.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаРасхождения.Количество >= 0
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ &ПартионныйУчетВерсии22
| И НЕ ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасхождения.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.ВидЗапасов,
| ТаблицаРасхождения.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &ДокументОснование КАК ДокументПоступления,
|
| -ТаблицаРасхождения.Количество КАК Количество,
| -ТаблицаРасхождения.СуммаСНДСУпр КАК Стоимость,
| -ТаблицаРасхождения.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| -ТаблицаРасхождения.СуммаБезНДСРегл КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ -ТаблицаРасхождения.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТаблицаРасхождения.Количество < 0
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И НЕ &ПартионныйУчетВерсии22
| И НЕ ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаЗакупки(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "Закупки";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
#Область УвеличениеЗакупки
УвеличениеЗакупки =
"ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.ТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала)
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Склад КАК Склад,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| ТОГДА ТаблицаВидыЗапасов.ЗаказПоставщику
| ИНАЧЕ &ДокументОснование
| КОНЕЦ КАК Заказ,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СуммаБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ + ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВариантОтражения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУчестьПриИнвентаризации))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| ТОГДА ТаблицаВидыЗапасов.ЗаказПоставщику
| ИНАЧЕ &ДокументОснование
| КОНЕЦ КАК Заказ,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СуммаБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ + ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
|
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВариантОтражения =
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров)
|";
#КонецОбласти
#Область УменьшениеЗакупки
УменьшениеЗакупки =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноПоступления) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.Склад КАК Склад,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| ТОГДА ТаблицаВидыЗапасов.ЗаказПоставщику
| ИНАЧЕ &ДокументОснование
| КОНЕЦ КАК Заказ,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СуммаБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ + ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| (ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ ТаблицаВидыЗапасов.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И ТаблицаВидыЗапасов.ВариантОтражения В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУчестьПриИнвентаризации))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СторноПоступления) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад,
| ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| ТОГДА ТаблицаВидыЗапасов.ЗаказПоставщику
| ИНАЧЕ &ДокументОснование
| КОНЕЦ КАК Заказ,
|
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СуммаБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ + ЕСТЬNULL(Суммы.СуммаНДСРегл, 0) КАК СуммаРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА (Суммы.СуммаПриведеннаяУпр + Суммы.СуммаНДСУпр)
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаСНДСУпр, 0)
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяУпр, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяУпр
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСУпр, 0)
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Суммы.СуммаПриведеннаяРегл, 0) <> 0
| ТОГДА Суммы.СуммаПриведеннаяРегл
| ИНАЧЕ ЕСТЬNULL(Суммы.СуммаБезНДСРегл, 0)
| КОНЕЦ КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаВидыЗапасов.СуммаСНДС - ТаблицаВидыЗапасов.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаВидыЗапасов.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| (ТаблицаВидыЗапасов.СуммаВзаиморасчетов - ТаблицаВидыЗапасов.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаВидыЗапасов.ВидЗапасов
| ИНАЧЕ ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаВидыЗапасов.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаВидыЗапасов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Суммы.Ссылка = ТаблицаВидыЗапасов.Ссылка
| И Суммы.ИдентификаторСтроки = ТаблицаВидыЗапасов.ИдентификаторСтроки
|ГДЕ
| ТаблицаВидыЗапасов.Ссылка = &Ссылка
| И ТаблицаВидыЗапасов.ВариантОтражения =
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров)
|";
#КонецОбласти
#Область ИзменениеСтоимости
ИзменениеСтоимости =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Менеджер,
|
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхождения.Склад КАК Склад,
| ТаблицаРасхождения.ВидЗапасов.ТипЗапасов КАК ТипЗапасов,
| ТаблицаРасхождения.ВидЗапасов КАК ВидЗапасов,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Соглашение КАК Соглашение,
| &Договор КАК Договор,
| ВЫБОР
| КОГДА &ПоступлениеПоЗаказам
| ТОГДА ТаблицаРасхождения.ЗаказПоставщику
| ИНАЧЕ &ДокументОснование
| КОНЕЦ КАК Заказ,
|
| ТаблицаРасхождения.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельностиНоменклатуры,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| 0 КАК Количество,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
| 0 КАК СуммаСкидки,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Стоимость,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СтоимостьБезНДС,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СтоимостьРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
|
| &Валюта КАК ВалютаДокумента,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаВВалютеДокумента,
| ТаблицаРасхождения.СуммаСНДС - ТаблицаРасхождения.СуммаНДС КАК СуммаБезНДСВВалютеДокумента,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасхождения.СуммаВзаиморасчетовСНДС КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаРасхождения.СуммаВзаиморасчетовСНДС - ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ВЫБОР
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА ТаблицаРасхождения.ВидЗапасов
| ИНАЧЕ ТаблицаРасхождения.Номенклатура
| КОНЕЦ КАК ИсточникГФУНоменклатуры,
| ТаблицаРасхождения.ОбъектРасчетов КАК ИсточникГФУРасчетов
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| (ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара)
| ИЛИ ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| И НЕ ТаблицаРасхождения.СписатьНаРасходы
| И (ТаблицаРасхождения.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| ИЛИ (ТаблицаРасхождения.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И (ТаблицаРасхождения.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| ИЛИ НЕ ТаблицаРасхождения.Назначение.ТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))))
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
#КонецОбласти
ТекстЗапроса = УвеличениеЗакупки
+ " ОБЪЕДИНИТЬ ВСЕ " + УменьшениеЗакупки
+ " ОБЪЕДИНИТЬ ВСЕ " + ИзменениеСтоимости;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаРасхождения.СтатьяАктивовПассивов КАК Статья,
| ВЫБОР
| КОГДА ТаблицаРасхождения.АналитикаАктивовПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаРасхождения.АналитикаАктивовПассивов
| КОНЕЦ КАК Аналитика,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма
|
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|
|ГДЕ
| ТаблицаРасхождения.СтатьяАктивовПассивов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР КОГДА ТаблицаРасхождения.СуммаСНДСУпр < 0 ТОГДА
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &СтатьяАктивов КАК Статья,
| ВЫБОР
| КОГДА &АналитикаАктивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &АналитикаАктивов
| КОНЕЦ КАК Аналитика,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма
|
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| ИНАЧЕ
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы))
| КОНЕЦ
| И &ИспользоватьУчетПрочихАктивовПассивов
| И &СтатьяАктивов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР КОГДА ТаблицаРасхождения.СуммаСНДСУпр < 0 ТОГДА
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| &Организация КАК Организация,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &СтатьяПассивов КАК Статья,
| ВЫБОР
| КОГДА &АналитикаПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &АналитикаПассивов
| КОНЕЦ КАК Аналитика,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма
|
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| И &ИспользоватьУчетПрочихАктивовПассивов
| И &СтатьяПассивов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &СтатьяАктивов
| ИНАЧЕ &СтатьяПассивов
| КОНЕЦ КАК Статья,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА ВЫБОР
| КОГДА &АналитикаАктивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &АналитикаАктивов
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА &АналитикаПассивов = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ &АналитикаПассивов
| КОНЕЦ
| КОНЕЦ КАК Аналитика,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Сумма
|
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| (КорректировкаЗадолженности.НаПрочиеАктивы
| ИЛИ КорректировкаЗадолженности.НаПрочиеПассивы)
| И &ИспользоватьУчетПрочихАктивовПассивов
|";
ТекстЗапроса = ТекстЗапроса + "ОБЪЕДИНИТЬ ВСЕ"
+ РегистрыНакопления.ПрочиеАктивыПассивы.ТекстЗапросаТаблицаПрочиеАктивыПассивы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтДвиженияПоПрочимАктивамПассивам";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеДвиженияПоПрочимАктивамПассивам", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ДвиженияПоПрочимАктивамПассивам.ТекстЗапросаТаблицаВтДвиженияПоПрочимАктивамПассивам("ИдентификаторСтроки");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияПоПрочимАктивамПассивам";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДвиженияПоПрочимАктивамПассивам", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ДвиженияПоПрочимАктивамПассивам.ТекстЗапросаТаблицаДвиженияПоПрочимАктивамПассивам();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеДвиженияПоПрочимАктивамПассивам(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеДвиженияПоПрочимАктивамПассивам";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ТаблицаРасхождения.СтатьяАктивовПассивов КАК Статья,
| ТаблицаРасхождения.АналитикаАктивовПассивов КАК Аналитика,
| ТаблицаРасхождения.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет) КАК ДебетКредит,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаУпр,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаРасхождения.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ПОМЕСТИТЬ ВтИсходныеДвиженияПоПрочимАктивамПассивам
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|
|ГДЕ
| ТаблицаРасхождения.СтатьяАктивовПассивов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &СтатьяАктивов КАК Статья,
| &АналитикаАктивов КАК Аналитика,
| &НастройкаСчетовУчетаАктивов КАК НастройкаСчетовУчета,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СуммаСНДСУпр < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет)
| КОНЕЦ КАК ДебетКредит,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаУпр,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаРасхождения.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы)
| И &ИспользоватьУчетПрочихАктивовПассивов
| И &СтатьяАктивов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.Подразделение
| ИНАЧЕ
| &Подразделение
| КОНЕЦ КАК Подразделение,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| ИНАЧЕ
| &НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| &СтатьяПассивов КАК Статья,
| &АналитикаПассивов КАК Аналитика,
| &НастройкаСчетовУчетаПассивов КАК НастройкаСчетовУчета,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СуммаСНДСУпр < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит)
| КОНЕЦ КАК ДебетКредит,
| ТаблицаРасхождения.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаБезНДСРегл,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаУпр,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДСУпр,
| ТаблицаРасхождения.СуммаСНДСУпр КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаРасхождения.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| И &ИспользоватьУчетПрочихАктивовПассивов
| И &СтатьяПассивов <> НЕОПРЕДЕЛЕНО
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &СтатьяАктивов
| ИНАЧЕ &СтатьяПассивов
| КОНЕЦ КАК Статья,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &АналитикаАктивов
| ИНАЧЕ &АналитикаПассивов
| КОНЕЦ КАК Аналитика,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &НастройкаСчетовУчетаАктивов
| ИНАЧЕ &НастройкаСчетовУчетаПассивов
| КОНЕЦ КАК НастройкаСчетовУчета,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит)
| КОНЕЦ КАК ДебетКредит,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС) КАК ВидДеятельностиНДС,
|
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаРегл,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаБезНДСРегл,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаУпр,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаБезНДСУпр,
| КорректировкаЗадолженности.СуммаСНДСУпр КАК СуммаСНДС,
| КорректировкаЗадолженности.СуммаБезНДСУпр КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.УникальныйИдентификаторОбъектаРасчетов КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.КорректировкаЗадолженности) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| (КорректировкаЗадолженности.НаПрочиеАктивы
| ИЛИ КорректировкаЗадолженности.НаПрочиеПассивы)
| И &ИспользоватьУчетПрочихАктивовПассивов
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &СтатьяАктивов
| ИНАЧЕ &СтатьяПассивов
| КОНЕЦ КАК Статья,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &АналитикаАктивов
| ИНАЧЕ &АналитикаПассивов
| КОНЕЦ КАК Аналитика,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &НастройкаСчетовУчетаАктивов
| ИНАЧЕ &НастройкаСчетовУчетаПассивов
| КОНЕЦ КАК НастройкаСчетовУчета,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Кредит)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПрочихАктивовПассивов.Дебет)
| КОНЕЦ КАК ДебетКредит,
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС) КАК ВидДеятельностиНДС,
|
| КорректировкаЗадолженности.НДСРегл КАК СуммаРегл,
| КорректировкаЗадолженности.НДСРегл КАК СуммаБезНДСРегл,
| КорректировкаЗадолженности.НДСУпр КАК СуммаУпр,
| КорректировкаЗадолженности.НДСУпр КАК СуммаБезНДСУпр,
| 0 КАК СуммаСНДС,
| 0 КАК СуммаБезНДС,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
|
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| (КорректировкаЗадолженности.НаПрочиеАктивы
| ИЛИ КорректировкаЗадолженности.НаПрочиеПассивы)
| И &ИспользоватьУчетПрочихАктивовПассивов
| И &ЗакупкаПодДеятельность НЕ В (&ТипыНалогообложенияНДСУчитываетсяВСтоимости)
| И (КорректировкаЗадолженности.НДСРегл <> 0
| ИЛИ КорректировкаЗадолженности.НДСУпр <> 0)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияКонтрагентДоходыРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияКонтрагентДоходыРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаКорректировкаЗадолженности", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаКорректировкаЗадолженности(Запрос, ТекстыЗапроса);
КонецЕсли;
#Область КорректировкаПриобретенияСоСписаниемНаРасходы
КорректировкаПриобретенияСоСписаниемНаРасходы =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияСоСписаниемНаРасходы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| ТаблицаРасхождения.Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаРасхождения.ОбъектРасчетов КАК ОбъектРасчетов,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ТаблицаРасхождения.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяАктивовПассивов <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасхождения.СтатьяАктивовПассивов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.СтатьяРасходов
| ИНАЧЕ
| ВЫБОР
| КОГДА &СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ТОГДА &СтатьяРасходов
| ИНАЧЕ &СтатьяАктивов
| КОНЕЦ
| КОНЕЦ КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
|
| ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ИЛИ ТаблицаРасхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ТОГДА ТаблицаРасхождения.АналитикаРасходов
| ИНАЧЕ &АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.СтатьяАктивовПассивов <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасхождения.АналитикаАктивовПассивов
| ИНАЧЕ &АналитикаАктивов
| КОНЕЦ КАК АналитикаАктивовПассивов,
|
| ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма,
| ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаРегл,
| ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаВВалюте,
| ТаблицаРасхождения.СуммаСНДС - ТаблицаРасхождения.СуммаНДС КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасхождения.СуммаВзаиморасчетовСНДС КАК СуммаВВалютеВзаиморасчетов,
| ТаблицаРасхождения.СуммаВзаиморасчетовСНДС - ТаблицаРасхождения.СуммаНДСВзаиморасчетов КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаРасхождения.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| (ТаблицаРасхождения.СуммаСНДС <> 0
| ИЛИ ТаблицаРасхождения.СуммаНДС <> 0
| ИЛИ ТаблицаРасхождения.СуммаСНДСУпр <> 0
| ИЛИ ТаблицаРасхождения.СуммаБезНДСУпр <> 0
| ИЛИ ТаблицаРасхождения.СуммаСНДСРегл <> 0
| ИЛИ ТаблицаРасхождения.СуммаБезНДСРегл <> 0)
| И ВЫБОР
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| И (ТаблицаРасхождения.СтатьяРасходов <> НЕОПРЕДЕЛЕНО
| ИЛИ ТаблицаРасхождения.СтатьяАктивовПассивов <> НЕОПРЕДЕЛЕНО)
| ТОГДА
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| ИНАЧЕ
| ТаблицаРасхождения.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы))
| КОНЕЦ
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
#КонецОбласти
#Область КорректировкаПриобретенияСОтражениемНаПрочихДоходах
КорректировкаПриобретенияСОтражениемНаПрочихДоходах =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияСОтражениемНаПрочихДоходах) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| ТаблицаРасхождения.ОбъектРасчетов КАК ОбъектРасчетов,
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
|
| ТаблицаРасхождения.НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА &СтатьяДоходов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.СтатьяДоходов
| ИНАЧЕ
| ВЫБОР
| КОГДА &СтатьяДоходов <> НЕОПРЕДЕЛЕНО
| ТОГДА &СтатьяДоходов
| ИНАЧЕ &СтатьяПассивов
| КОНЕЦ
| КОНЕЦ КАК СтатьяДоходовРасходов,
| ВЫБОР
| КОГДА ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ТОГДА &АналитикаДоходов
| КОГДА ТаблицаРасхождения.СписатьНаРасходы
| ТОГДА ТаблицаРасхождения.АналитикаДоходов
| ИНАЧЕ &АналитикаДоходов
| КОНЕЦ КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| &АналитикаПассивов КАК АналитикаАктивовПассивов,
|
| -ТаблицаРасхождения.СуммаСНДСУпр КАК Сумма,
| -ТаблицаРасхождения.СуммаБезНДСУпр КАК СуммаБезНДС,
| -ТаблицаРасхождения.СуммаСНДСРегл КАК СуммаРегл,
| -ТаблицаРасхождения.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| -ТаблицаРасхождения.СуммаСНДС КАК СуммаВВалюте,
| -(ТаблицаРасхождения.СуммаСНДС - ТаблицаРасхождения.СуммаНДС) КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| -ТаблицаРасхождения.СуммаВзаиморасчетовСНДС КАК СуммаВВалютеВзаиморасчетов,
| -(ТаблицаРасхождения.СуммаВзаиморасчетовСНДС - ТаблицаРасхождения.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| ТаблицаРасхождения.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ГДЕ
| (ТаблицаРасхождения.СуммаСНДС <> 0
| ИЛИ ТаблицаРасхождения.СуммаНДС <> 0
| ИЛИ ТаблицаРасхождения.СуммаСНДСУпр <> 0
| ИЛИ ТаблицаРасхождения.СуммаБезНДСУпр <> 0
| ИЛИ ТаблицаРасхождения.СуммаСНДСРегл <> 0
| ИЛИ ТаблицаРасхождения.СуммаБезНДСРегл <> 0)
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И (ТаблицаРасхождения.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах)
| ИЛИ
| (ТаблицаРасхождения.СписатьНаРасходы
| И ТаблицаРасхождения.СтатьяДоходов <> НЕОПРЕДЕЛЕНО))
|";
#КонецОбласти
#Область КорректировкаПриобретенияУвеличениеЗадолженностиСводно
КорректировкаПриобретенияУвеличениеЗадолженностиСводно =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияСоСписаниемНаРасходы) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| КорректировкаЗадолженности.Договор КАК Договор,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.НаправлениеДеятельностиРасчетов КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаРасходы
| ТОГДА &СтатьяРасходов
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &СтатьяАктивов
| КОНЕЦ КАК СтатьяДоходовРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаРасходы
| ТОГДА &АналитикаРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаРасходов,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеАктивы
| ТОГДА &АналитикаАктивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Сумма,
| КорректировкаЗадолженности.СуммаБезНДСУпр КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаРегл,
| КорректировкаЗадолженности.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| КорректировкаЗадолженности.СуммаСНДС КАК СуммаВВалюте,
| (КорректировкаЗадолженности.СуммаСНДС - КорректировкаЗадолженности.СуммаНДС) КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| (КорректировкаЗадолженности.СуммаВзаиморасчетов - КорректировкаЗадолженности.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| КорректировкаЗадолженности.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаРасходы ИЛИ КорректировкаЗадолженности.НаПрочиеАктивы
|";
#КонецОбласти
#Область КорректировкаПриобретенияУменьшениеЗадолженностиСводно
КорректировкаПриобретенияУменьшениеЗадолженностиСводно =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияСОтражениемНаПрочихДоходах) КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
|
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| КорректировкаЗадолженности.Договор КАК Договор,
| КорректировкаЗадолженности.ОбъектРасчетов КАК ОбъектРасчетов,
| КорректировкаЗадолженности.НаправлениеДеятельностиРасчетов КАК НаправлениеДеятельностиКонтрагента,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиСтатьи,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаДоходы
| ТОГДА &СтатьяДоходов
| КОГДА КорректировкаЗадолженности.НаПрочиеПассивы
| ТОГДА &СтатьяПассивов
| КОНЕЦ КАК СтатьяДоходовРасходов,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаДоходы
| ТОГДА &АналитикаДоходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаДоходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ВЫБОР
| КОГДА КорректировкаЗадолженности.НаПрочиеПассивы
| ТОГДА &АналитикаПассивов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаАктивовПассивов,
|
| КорректировкаЗадолженности.СуммаСНДСУпр КАК Сумма,
| КорректировкаЗадолженности.СуммаБезНДСУпр КАК СуммаБезНДС,
| КорректировкаЗадолженности.СуммаСНДСРегл КАК СуммаРегл,
| КорректировкаЗадолженности.СуммаБезНДСРегл КАК СуммаРеглБезНДС,
|
| &Валюта КАК Валюта,
| КорректировкаЗадолженности.СуммаСНДС КАК СуммаВВалюте,
| (КорректировкаЗадолженности.СуммаСНДС - КорректировкаЗадолженности.СуммаНДС) КАК СуммаБезНДСВВалюте,
|
| &ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| КорректировкаЗадолженности.СуммаВзаиморасчетов КАК СуммаВВалютеВзаиморасчетов,
| (КорректировкаЗадолженности.СуммаВзаиморасчетов - КорректировкаЗадолженности.СуммаНДСВзаиморасчетов) КАК СуммаБезНДСВВалютеВзаиморасчетов,
|
| КорректировкаЗадолженности.ОбъектРасчетов КАК ИсточникГФУРасчетов,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи
|ИЗ
| ВтТаблицаКорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.НаДоходы ИЛИ КорректировкаЗадолженности.НаПрочиеПассивы
|";
#КонецОбласти
ТекстЗапроса = КорректировкаПриобретенияСоСписаниемНаРасходы
+ " ОБЪЕДИНИТЬ ВСЕ " + КорректировкаПриобретенияСОтражениемНаПрочихДоходах
+ " ОБЪЕДИНИТЬ ВСЕ " + КорректировкаПриобретенияУвеличениеЗадолженностиСводно
+ " ОБЪЕДИНИТЬ ВСЕ " + КорректировкаПриобретенияУменьшениеЗадолженностиСводно;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| &Период КАК ДатаДокументаИБ,
| &Номер КАК НомерДокументаИБ,
| &ИдентификаторМетаданных КАК ТипСсылки,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ДокументОснование <> НЕОПРЕДЕЛЕНО
| ТОГДА &ХозОперацияОснования
| ИНАЧЕ &ХозяйственнаяОперация
| КОНЕЦ КАК ХозяйственнаяОперация,
| &Партнер КАК Партнер,
| &Контрагент КАК Контрагент,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Склад КАК МестоХранения,
| &Подразделение КАК Подразделение,
| &Менеджер КАК Ответственный,
| &Автор КАК Автор,
| &Комментарий КАК Комментарий,
| &Валюта КАК Валюта,
| &СуммаДокумента КАК Сумма,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| &ИнформацияПоДоговору КАК Дополнительно,
| &ДатаВходящегоДокумента КАК ДатаПервичногоДокумента,
| &НомерВходящегоДокумента КАК НомерПервичногоДокумента,
| &НаименованиеВходящегоДокумента КАК НаименованиеПервичногоДокумента,
| &Период КАК ДатаОтраженияВУчете,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.КорректировкаПриобретения КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос)
ИсправляемыйДокументПустыеСсылки = Новый Массив;
Для каждого Тип Из Метаданные.Документы.КорректировкаПриобретения.Реквизиты.ИсправляемыйДокумент.Тип.Типы() Цикл
ИсправляемыйДокументПустыеСсылки.Добавить(Новый (Тип));
КонецЦикла;
Запрос.УстановитьПараметр("ИсправляемыйДокументПустыеСсылки", ИсправляемыйДокументПустыеСсылки);
ТекстЗапроса =
"ВЫБРАТЬ
| &ИсправляемыйДокумент КАК ИсправляемыйДокумент
|
|ПОМЕСТИТЬ ВТ_ИсправляемыйДокумент
|;
|
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаПриобретения.Ссылка КАК Корректировка,
| КорректировкаПриобретения.ДокументОснование КАК ДокументОснование
|ПОМЕСТИТЬ ВТ_КорректировкаПоСогласованиюСторон
|ИЗ
| Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсправленияДокументов КАК ИсправленияДокументов
| ПО ИсправленияДокументов.ИсправляемыйДокумент = КорректировкаПриобретения.Ссылка
| И ИсправленияДокументов.СторнированИсправляемыйДокумент
|ГДЕ
| КорректировкаПриобретения.ДокументОснование = &ДокументОснование
| И КорректировкаПриобретения.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| И КорректировкаПриобретения.Проведен
| И КорректировкаПриобретения.Дата < &Период
| И ИсправленияДокументов.ИсправляемыйДокумент ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаПриобретения.Дата УБЫВ
|;
|
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ВТ_ИсправляемыйДокумент.ИсправляемыйДокумент = НЕОПРЕДЕЛЕНО
| ИЛИ ВТ_ИсправляемыйДокумент.ИсправляемыйДокумент В (&ИсправляемыйДокументПустыеСсылки)
| ТОГДА ЕСТЬNULL(ВТ_КорректировкаПоСогласованиюСторон.Корректировка, &ДокументОснование)
| ИНАЧЕ ВТ_ИсправляемыйДокумент.ИсправляемыйДокумент
| КОНЕЦ КАК ИсправляемыйДокумент
|ПОМЕСТИТЬ ВТ_ИсправляемыйДокументКорректировки
|ИЗ
| ВТ_ИсправляемыйДокумент КАК ВТ_ИсправляемыйДокумент
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КорректировкаПоСогласованиюСторон КАК ВТ_КорректировкаПоСогласованиюСторон
| ПО (ВТ_КорректировкаПоСогласованиюСторон.ДокументОснование = &ДокументОснование)
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
|;
|
|
|УНИЧТОЖИТЬ ВТ_КорректировкаПоСогласованиюСторон
|;
|
|
|УНИЧТОЖИТЬ ВТ_ИсправляемыйДокумент" + ОбщегоНазначения.РазделительПакетаЗапросов();
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтТаблицаИсправленияДокументов";
ТекстЗапросаВтИсправляемыйДокумент = ТекстЗапросаВтИсправляемыйДокументКорректировки(Запрос);
ТекстЗапроса = ТекстЗапросаВтИсправляемыйДокумент +
"ВЫБРАТЬ
| ИсправленияДокументовСрезПоследних.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ИсправленияДокументовСрезПоследних.ПоследнийДокументЦепочки КАК ПоследнийДокументЦепочки
|ПОМЕСТИТЬ ВТ_Исправление
|ИЗ
| РегистрСведений.ИсправленияДокументов.СрезПоследних(&ГраницаИсключаяДокумент, ИсправляемыйДокумент В
| (ВЫБРАТЬ
| ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент
| ИЗ
| ВТ_ИсправляемыйДокументКорректировки)) КАК ИсправленияДокументовСрезПоследних
|;
|
|
|ВЫБРАТЬ
| &Период КАК Период,
| ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| ЕСТЬNULL(ВТ_Исправление.ПоследнийДокументЦепочки, НЕОПРЕДЕЛЕНО) КАК ПредыдущееИсправление,
| &Ссылка КАК ПоследнийДокументЦепочки,
| ЛОЖЬ КАК СторнированИсправляемыйДокумент,
| ЛОЖЬ КАК СпособИсправленияСторно
|ПОМЕСТИТЬ ВтТаблицаИсправленияДокументов
|ИЗ
| ВТ_ИсправляемыйДокументКорректировки КАК ВТ_ИсправляемыйДокументКорректировки
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Исправление КАК ВТ_Исправление
| ПО ВТ_ИсправляемыйДокументКорректировки.ИсправляемыйДокумент = ВТ_Исправление.ИсправляемыйДокумент
|;
|
|
|УНИЧТОЖИТЬ ВТ_Исправление";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса, Регистры) Экспорт
ИмяРегистра = "ИсправленияДокументов";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаИсправленияДокументов", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаИсправленияДокументов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ВтТаблицаИсправленияДокументов.Период,
| ВтТаблицаИсправленияДокументов.ИсправляемыйДокумент,
| ВтТаблицаИсправленияДокументов.ПредыдущееИсправление,
| ВтТаблицаИсправленияДокументов.ПоследнийДокументЦепочки,
| ВтТаблицаИсправленияДокументов.СторнированИсправляемыйДокумент,
| ВтТаблицаИсправленияДокументов.СпособИсправленияСторно
|ИЗ
| ВтТаблицаИсправленияДокументов КАК ВтТаблицаИсправленияДокументов";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Ссылка КАК Документ,
| &Период КАК Период,
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаСерии.Назначение.ДвиженияПоСкладскимРегистрам, ЛОЖЬ)
| ТОГДА ТаблицаСерии.Назначение
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
| КОНЕЦ КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| &Партнер КАК Отправитель,
| ТаблицаСерии.Склад КАК Получатель,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика) КАК СкладскаяОперация,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ТаблицаСерии
|
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция РаспределенныеВидыЗапасов(ОсновнойЗапрос)
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Для Каждого Параметр Из ОсновнойЗапрос.Параметры Цикл
Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение);
КонецЦикла;
ТекстыЗапроса = Новый СписокЗначений;
СформироватьСуммыДокументаВВалютахУчета(Запрос, ТекстыЗапроса);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 0
| Расхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Расхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Расхождения.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| Расхождения.ВидЗапасов КАК ВидЗапасов,
| Расхождения.НомерГТД КАК НомерГТД,
| Расхождения.Сумма КАК Сумма
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Расхождения
|ГДЕ
| Расхождения.Ссылка = &Ссылка
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Партии.НомерГруппыЗатрат КАК НомерГруппыЗатрат
|ИЗ
| ВтПартииПроизводства КАК Партии
|;
|
|ВЫБРАТЬ
| ВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВидыЗапасов.ДоляСтоимости КАК ДоляСтоимости,
| ВидыЗапасов.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВидыЗапасов.НомерГТД КАК НомерГТД
|ИЗ
| Документ.ОтчетПереработчика2_5.ВидыЗапасовИзделия КАК ВидыЗапасов
|ГДЕ
| ВидыЗапасов.Ссылка = &ДокументОснование
| И ВидыЗапасов.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыпускПродукции)
|;
|
|ВЫБРАТЬ
| Расхождения.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| Расхождения.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Расхождения.ВидЗапасов КАК ВидЗапасов,
| Расхождения.НомерГТД КАК НомерГТД,
| Расхождения.Количество КАК Количество,
| ЕСТЬNULL(Суммы.СуммаБезНДС, 0) КАК Сумма
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Расхождения
| ЛЕВОЕ СОЕДИНЕНИЕ ВтСуммыДокументовВВалютахУчета КАК Суммы
| ПО Расхождения.Ссылка = Суммы.Ссылка
| И Расхождения.ИдентификаторСтроки = Суммы.ИдентификаторСтроки
|ГДЕ
| Расхождения.Ссылка = &Ссылка";
ТекстыЗапроса.Добавить(ТекстЗапроса);
Запрос.Текст = СтрСоединить(ТекстыЗапроса.ВыгрузитьЗначения(), ОбщегоНазначения.РазделительПакетаЗапросов());
ПакетРезультатов = Запрос.ВыполнитьПакет();
Граница = ПакетРезультатов.ВГраница();
РаспределенныеВидыЗапасов = ПакетРезультатов[Граница - 3].Выгрузить();
ТаблицаПартий = ПакетРезультатов[Граница - 2].Выгрузить();
ТаблицаПродукции = ПакетРезультатов[Граница - 1].Выгрузить();
ТаблицаКРаспределению = ПакетРезультатов[Граница].Выгрузить();
ПоЗаказам = Запрос.Параметры.ПоЗаказам;
ГруппировкаЗатрат = Запрос.Параметры.ГруппировкаЗатрат;
Для каждого Партия Из ТаблицаПартий Цикл
Если ПоЗаказам И ГруппировкаЗатрат = Перечисления.ГруппировкиЗатратВЗаказеПереработчику.БезГруппировки Тогда
СписокПродукции = ТаблицаПродукции;
СписокКРаспределению = ТаблицаКРаспределению;
Иначе
СтруктураПоиска = Новый Структура("НомерГруппыЗатрат", Партия.НомерГруппыЗатрат);
СписокПродукции = ТаблицаПродукции.НайтиСтроки(СтруктураПоиска);
СписокКРаспределению = ТаблицаКРаспределению.НайтиСтроки(СтруктураПоиска);
КонецЕсли;
СтрокПродукции = СписокПродукции.Количество();
СтрокКРаспределению = СписокКРаспределению.Количество();
МассивКоэффициентов = Новый Массив;
Для каждого ДанныеСтроки Из СписокПродукции Цикл
МассивКоэффициентов.Добавить(?(ДанныеСтроки.ДоляСтоимости <> 0, ДанныеСтроки.ДоляСтоимости, 1));
КонецЦикла;
Если МассивКоэффициентов.Количество() = 1 Тогда
МассивКоэффициентов[0] = 1;
КонецЕсли;
Для ИндексСтроки = 0 По СтрокКРаспределению - 1 Цикл
РаспределяемаяСтрока = СписокКРаспределению[ИндексСтроки];
Сумма = ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСтрока.Сумма, МассивКоэффициентов, 3);
Для ИндексПродукции = 0 По СтрокПродукции - 1 Цикл
СтрокаПродукции = СписокПродукции[ИндексПродукции];
НоваяСтрока = РаспределенныеВидыЗапасов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, РаспределяемаяСтрока);
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПродукции);
НоваяСтрока.Сумма = ?(ЗначениеЗаполнено(Сумма), Сумма[ИндексПродукции], 0);
КонецЦикла;
КонецЦикла;
КонецЦикла;
КолонкиГруппировок = "";
КолонкиСуммирования = "Сумма";
МассивПоказателей = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(КолонкиСуммирования);
Для Каждого Колонка Из РаспределенныеВидыЗапасов.Колонки Цикл
ЭтоКолонкаГруппировки = Истина;
Для Каждого Показатель Из МассивПоказателей Цикл
Если Колонка.Имя = Показатель > 0 Тогда
ЭтоКолонкаГруппировки = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭтоКолонкаГруппировки Тогда
Если ЗначениеЗаполнено(КолонкиГруппировок) Тогда
КолонкиГруппировок = КолонкиГруппировок + "," + Колонка.Имя;
Иначе
КолонкиГруппировок = Колонка.Имя;
КонецЕсли;
КонецЕсли;
КонецЦикла;
РаспределенныеВидыЗапасов.Свернуть(КолонкиГруппировок, КолонкиСуммирования);
Возврат РаспределенныеВидыЗапасов;
КонецФункции
Функция ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтРаспределенныеВидыЗапасов";
ТаблицаРаспределенныеВидыЗапасов = РаспределенныеВидыЗапасов(Запрос);
Запрос.УстановитьПараметр("ТаблицаРаспределенныеВидыЗапасов", ТаблицаРаспределенныеВидыЗапасов);
ТекстЗапроса =
"ВЫБРАТЬ
| *
|ПОМЕСТИТЬ ВтРаспределенныеВидыЗапасов
|
|ИЗ
| &ТаблицаРаспределенныеВидыЗапасов КАК ДД
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений;
ПолноеИмяДокумента = "Документ.КорректировкаПриобретения";
СинонимТаблицыДокумента = "";
ВЗапросеЕстьИсточник = Истина;
ТекстыЗапросаВременныхТаблиц = Новый Соответствие();
ПереопределениеРасчетаПараметров = Новый Структура;
ПереопределениеРасчетаПараметров.Вставить("ИнформацияПоДоговору", """""");
ПереопределениеРасчетаПараметров.Вставить("НомерВходящегоДокумента", """""");
ПереопределениеРасчетаПараметров.Вставить(
"ХозОперацияОснования",
"ДанныеДокумента.ХозяйственнаяОперация");
ПереопределениеРасчетаПараметров.Вставить("ХозяйственнаяОперация", "ДанныеДокумента.ВидКорректировки");
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмяДокумента));
ЗначенияПараметров.Вставить("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям",
ПолучитьФункциональнуюОпцию("КонтролироватьОстаткиТоваровОрганизацийКОформлениюПоПоступлениям"));
ЗначенияПараметров.Вставить("ИспользоватьУчетПрослеживаемыхИмпортныхТоваров",
УчетПрослеживаемыхТоваровЛокализация.ИспользоватьУчетПрослеживаемыхИмпортныхТоваров(Дата(1,1,1)));
ЗначенияПараметров.Вставить("ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров",
УчетПрослеживаемыхТоваровЛокализация.ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров());
Если ИмяРегистра = "ДвиженияСерийТоваров" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаСерии";
ИначеЕсли ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров,
ТекстыЗапросаВременныхТаблиц);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ЗначенияПараметров = ЗначенияПараметров;
Результат.ТекстЗапроса = ТекстЗапроса;
Возврат Результат;
КонецФункции
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПроизводства", ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрЗапросаДокументПоступленияНДС(Запрос);
ТекстЦенности =
"ВЫБРАТЬ
| Расхождения.Ссылка.Дата КАК Период,
| Расхождения.Ссылка КАК Ссылка,
| Расхождения.Ссылка.Организация КАК Организация,
| Расхождения.Ссылка.Подразделение КАК Подразделение,
| Расхождения.Ссылка.Контрагент КАК Контрагент,
| Расхождения.Ссылка.Договор КАК Договор,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Расхождения.Ссылка.ДокументОснование.Грузоотправитель
| КОНЕЦ КАК Грузоотправитель,
| &ДокументПоступленияНДС КАК ДокументПриобретения,
| Расхождения.Ссылка.ДокументОснование КАК ИсходныйТорговыйДокумент,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ИсправлениеОшибок,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК КорректировкаПоСогласованиюСторон,
| Расхождения.Ссылка.УменьшитьСуммуНДСКВычету КАК УменьшитьСуммуНДСКВычету,
| Расхождения.Ссылка КАК ДокументКорректировкиПриобретения,
| Расхождения.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| ВЫБОР
| КОГДА Расхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА Расхождения.Ссылка.ЗакупкаПодДеятельность
| ИНАЧЕ
| Расхождения.Ссылка.ДокументОснование.ЗакупкаПодДеятельность
| КОНЕЦ КАК ВидДеятельностиНДС,
|
| Расхождения.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР КОГДА Расхождения.СписатьНаРасходы
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Расхождения.Номенклатура
| КОНЕЦ КАК Номенклатура,
| Расхождения.ВидЗапасов КАК ВидЗапасов,
| Расхождения.НомерГТД КАК НомерГТД,
| Расхождения.Подразделение КАК ПодразделениеУчета,
| ВЫБОР
| КОГДА &ИспользуетсяДокументПриобретениеУслугПрочихАктивов
| ТОГДА ТаблицаРасхождения.НаправлениеДеятельности
| КОГДА ТаблицаРасхождения.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) ТОГДА
| &НаправлениеДеятельности
| ИНАЧЕ ТаблицаРасхождения.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ЛОЖЬ
| ТОГДА ЛОЖЬ
| КОГДА НЕ ПартииПроизводства.НаправлениеДеятельности ЕСТЬ NULL
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПриобретениеНаПартиюПроизводства,
| ВЫБОР
| КОГДА ЛОЖЬ
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА НЕ ПартииПроизводства.НаправлениеДеятельности ЕСТЬ NULL
| ТОГДА ПартииПроизводства.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиПартииПроизводства,
| Расхождения.СписатьНаРасходы КАК СписатьНаРасходы,
| ВЫБОР КОГДА Расхождения.СписатьНаРасходы
| ИЛИ Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| Расхождения.СтатьяРасходов
| ИНАЧЕ
| &СтатьяРасходов
| КОНЕЦ КАК СтатьяРасходов,
| ВЫБОР КОГДА Расхождения.СписатьНаРасходы
| ИЛИ Расхождения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА
| Расхождения.АналитикаРасходов
| ИНАЧЕ
| &АналитикаРасходов
| КОНЕЦ КАК АналитикаРасходов,
| Расхождения.СтатьяАктивовПассивов КАК СтатьяПрочихАктивов,
| Расхождения.АналитикаАктивовПассивов КАК АналитикаПрочихАктивов,
| Расхождения.Назначение КАК Назначение,
| Расхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| Расхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК Расхождения
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаРасхождения
| ПО Расхождения.Ссылка = ТаблицаРасхождения.Ссылка
| И Расхождения.НомерСтроки = ТаблицаРасхождения.НомерСтроки
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтПартииПроизводства КАК ПартииПроизводства
| ПО ПартииПроизводства.ПартияВыпуска = &ДокументОснование
| И ПартииПроизводства.НомерГруппыЗатрат = ТаблицаРасхождения.НомерГруппыЗатрат
|ГДЕ
| Расхождения.Ссылка = &Ссылка
| И (ВЫБОР
| КОГДА НЕ Расхождения.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| И ЕСТЬNULL(Расхождения.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару, ЛОЖЬ)
| ТОГДА Расхождения.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ)
| И Расхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаЗадолженности.Ссылка.Дата КАК Период,
| КорректировкаЗадолженности.Ссылка КАК Ссылка,
| КорректировкаЗадолженности.Ссылка.Организация КАК Организация,
| КорректировкаЗадолженности.Ссылка.Подразделение КАК Подразделение,
| КорректировкаЗадолженности.Ссылка.Контрагент КАК Контрагент,
| КорректировкаЗадолженности.Ссылка.Договор КАК Договор,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| КорректировкаЗадолженности.ДокументПриобретения КАК ДокументПриобретения,
| КорректировкаЗадолженности.ДокументПриобретения КАК ИсходныйТорговыйДокумент,
| ЛОЖЬ КАК ИсправлениеОшибок,
| ИСТИНА КАК КорректировкаПоСогласованиюСторон,
| КорректировкаЗадолженности.Ссылка.УменьшитьСуммуНДСКВычету КАК УменьшитьСуммуНДСКВычету,
| КорректировкаЗадолженности.Ссылка КАК ДокументКорректировкиПриобретения,
| КорректировкаЗадолженности.Ссылка.НалогообложениеНДС КАК НалогообложениеНДС,
| КорректировкаЗадолженности.Ссылка.ЗакупкаПодДеятельность КАК ВидДеятельностиНДС,
| КорректировкаЗадолженности.СтавкаНДС КАК СтавкаНДС,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК НомерГТД,
| КорректировкаЗадолженности.Ссылка.Подразделение КАК ПодразделениеУчета,
| КорректировкаЗадолженности.Ссылка.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЛОЖЬ КАК ПриобретениеНаПартиюПроизводства,
| НЕОПРЕДЕЛЕНО КАК НаправлениеДеятельностиПартииПроизводства,
| ЛОЖЬ КАК СписатьНаРасходы,
| КорректировкаЗадолженности.Ссылка.СтатьяРасходов КАК СтатьяРасходов,
| КорректировкаЗадолженности.Ссылка.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаЗадолженности.Ссылка.СтатьяРасходов КАК СтатьяПрочихАктивов,
| КорректировкаЗадолженности.Ссылка.АналитикаАктивов КАК АналитикаПрочихАктивов,
| НЕОПРЕДЕЛЕНО КАК Назначение,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторСтроки,
| КорректировкаЗадолженности.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВходящийНДСПоПриобретению) КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.Ссылка В (&Ссылка)
|";
УчетНДСУП.ОтразитьПриобретениеУПоставщика(Запрос, ТекстыЗапроса, Регистры, ТекстЦенности);
ОтразитьВвозТоваровИзТаможенногоСоюза(Запрос, ТекстыЗапроса, Регистры);
КонецПроцедуры
Процедура ОтразитьВвозТоваровИзТаможенногоСоюза(Запрос, ТекстыЗапроса, Регистры)
Если ПроведениеДокументов.ТребуетсяТаблицаДляДвижений("ТоварыКОформлениюДокументовИмпорта", Регистры) Тогда
Если Запрос.Параметры.ХозОперацияОснования = Перечисления.ХозяйственныеОперации.КорректировкаОтчетаПереработчика
И Запрос.Параметры.ПроизводствоУПереработчикаВСтранахЕАЭС Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРаспределенныеВидыЗапасов", ТекстыЗапроса) Тогда
ТекстЗапросаВтРаспределенныеВидыЗапасов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстТовары =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Поставщик,
| ТоварыЗаявления.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТоварыЗаявления.ВидЗапасов КАК ВидЗапасов,
| ТоварыЗаявления.НомерГТД КАК НомерГТД,
| &ДокументОснование КАК ДокументПриобретения,
| &ИдентификаторЗаявлениеОВвозеТоваров КАК ТипДокументаИмпорта,
| 0 КАК Количество,
| ТоварыЗаявления.Сумма КАК Сумма,
| ТоварыЗаявления.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтРаспределенныеВидыЗапасов КАК ТоварыЗаявления";
УчетИмпорта.ОтразитьВвозТоваровИзТаможенногоСоюзаНоваяМеханика(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецЕсли;
Если Запрос.Параметры.ХозОперацииЗакупкаВСтранахЕАЭС.Найти(Запрос.Параметры.ХозОперацияОснования) <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстТовары =
"ВЫБРАТЬ
| &Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Поставщик,
| ТаблицаРасхожденияТоваров.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаРасхожденияТоваров.ВидЗапасов КАК ВидЗапасов,
| &ДокументОснование КАК ДокументПриобретения,
|
| &ИдентификаторЗаявлениеОВвозеТоваров КАК ТипДокументаИмпорта,
| ТаблицаРасхожденияТоваров.НомерГТД КАК НомерГТД,
| 0 КАК КоличествоПоРНПТ,
|
| ТаблицаРасхожденияТоваров.Количество КАК Количество,
| ЕСТЬNULL(СуммыДокументов.СуммаБезНДС, 0) КАК Сумма,
| ИСТИНА КАК Первичное,
| ТаблицаРасхожденияТоваров.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхожденияТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтСуммыДокументовВВалютахУчета КАК СуммыДокументов
| ПО
| ТаблицаРасхожденияТоваров.Ссылка = СуммыДокументов.Ссылка
| И ТаблицаРасхожденияТоваров.ИдентификаторСтроки = СуммыДокументов.ИдентификаторСтроки
|ГДЕ
| ТаблицаРасхожденияТоваров.Ссылка = &Ссылка
| И ТаблицаРасхожденияТоваров.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)
| И &НоваяМеханикаСозданияЗаявленийОВвозе";
КорректировкаПриобретенияЛокализация.ДополнитьТекстЗапросаТаблицаТоварыКОформлениюДокументовИмпорта(ТекстТовары);
УчетИмпорта.ОтразитьВвозТоваровИзТаможенногоСоюзаНоваяМеханика(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьТекстыОтраженияВзаиморасчетов(Запрос, ТекстыЗапроса, Регистры)
#Область КурсыВалютДокумента
ИмяРегистра = "ВременнаяТаблицаКурсыВалютДокумента";
ТекстЗапросаКурсыВалютДокумента =
"ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.ДокументОснование.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокументаШапка.Ссылка КАК Ссылка,
| ДанныеДокументаШапка.Организация КАК Организация,
| ДанныеДокументаШапка.Дата КАК ДатаКурса,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| ДанныеДокументаШапка.Валюта КАК ВалютаДокумента,
| ДанныеДокументаШапка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Таблица
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаПриобретения КАК ДанныеДокументаШапка
| ПО Таблица.Ссылка = ДанныеДокументаШапка.Ссылка
|ГДЕ
| ДанныеДокументаШапка.Ссылка В (&Ссылка)";
ТекстЗапросаКурсыВалютДокумента = ВзаиморасчетыСервер.ПолучитьТаблицуКурсовВалютНаправленийДеятельности(ТекстЗапросаКурсыВалютДокумента);
ТекстыЗапроса.Добавить(ТекстЗапросаКурсыВалютДокумента, ИмяРегистра);
#КонецОбласти
#Область Закупка
ТекстЗакупка = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Таблица.ЗаказПоставщику КАК ЗаказЗакупки,
| Таблица.СуммаСНДС КАК Сумма,
| ВЫБОР КОГДА Таблица.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ИЛИ ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| ТОГДА Таблица.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ВЫБОР КОГДА Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ТОГДА Таблица.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетовПоТаре,
|
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.ПоступлениеПоЗаказам КАК НакладнаяПоЗаказам,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.ДокументОснование.Дата КАК ДатаКурса,
| Таблица.Ссылка.ДокументОснование КАК СвязанныйДокумент
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаСНДС > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.ДатаПлатежа КАК ДатаПлатежа,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| НЕОПРЕДЕЛЕНО КАК ЗаказЗакупки,
| Таблица.СуммаКорректировки КАК Сумма,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК СуммаВзаиморасчетовПоТаре,
|
| НЕОПРЕДЕЛЕНО КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Таблица.ДокументПриобретения КАК СвязанныйДокумент
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно)
|";
#КонецОбласти
#Область УвеличениеПланаОплаты
ТекстПланОплаты = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.ДатаПлатежа КАК ДатаПлатежа,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.Ссылка.ПорядокРасчетов КАК ПорядокРасчетов,
| Таблица.Ссылка.ПоступлениеПоЗаказам КАК НакладнаяПоЗаказам,
| ИСТИНА КАК СверхЗаказа,
| Таблица.ЗаказПоставщику КАК ЗаказЗакупки,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| Неопределено КАК ВариантОплаты,
| Таблица.Ссылка.ДокументОснование КАК СвязанныйДокумент
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаСНДС > 0
| И (Таблица.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ НЕ ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ Таблица.Номенклатура.ТипНоменклатуры ЕСТЬ NULL)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
| Таблица.Ссылка.ДатаПлатежа КАК ДатаПлатежа,
|
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| НЕОПРЕДЕЛЕНО КАК ПорядокРасчетов,
| ЛОЖЬ КАК НакладнаяПоЗаказам,
| ИСТИНА КАК СверхЗаказа,
| НЕОПРЕДЕЛЕНО КАК ЗаказЗакупки,
| Таблица.СуммаВзаиморасчетов КАК КОплате,
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| НЕОПРЕДЕЛЕНО КАК ВариантОплаты,
| Таблица.ДокументПриобретения КАК СвязанныйДокумент
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно)
|";
#КонецОбласти
ВзаиморасчетыСервер.ПроведениеЗакупки(Запрос, ТекстыЗапроса, Регистры, ТекстЗакупка, ТекстПланОплаты);
ТекстОплата = "
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
|
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| -Таблица.СуммаСНДС КАК Сумма,
| -Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК УвеличениеОплачивается,
| 0 КАК УменьшениеОплачивается,
| 0 КАК СуммаУпр,
| 0 КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.ДокументОснование.Дата КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.Ссылка.ДокументОснование КАК СвязанныйДокумент,
| Таблица.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.СуммаСНДС < 0
| И (Таблица.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ Таблица.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ НЕ ВЫБОР КОГДА Таблица.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА Таблица.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИЛИ Таблица.Номенклатура.ТипНоменклатуры ЕСТЬ NULL)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка КАК Ссылка,
| Таблица.Ссылка.Организация КАК Организация,
| Таблица.Ссылка.Партнер КАК Партнер,
| Таблица.Ссылка.Дата КАК ДатаРегистратора,
| Таблица.Ссылка.Номер КАК НомерРегистратора,
|
| Таблица.Ссылка.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Таблица.ОбъектРасчетов КАК ОбъектРасчетов,
| Таблица.СуммаКорректировки КАК Сумма,
| Таблица.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| 0 КАК УвеличениеОплачивается,
| 0 КАК УменьшениеОплачивается,
| 0 КАК СуммаУпр,
| 0 КАК СуммаРегл,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаЗадолженности) КАК ХозяйственнаяОперация,
| Неопределено КАК СтатьяДвиженияДенежныхСредств,
| Неопределено КАК ЗаявкаНаРасходованиеДенежныхСредств,
| Таблица.Ссылка.ФормаОплаты КАК ФормаОплаты,
| Таблица.Ссылка.Валюта КАК ВалютаДокумента,
| Таблица.Ссылка.Дата КАК ДатаКурса,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаПогашения,
| Таблица.Ссылка.ДокументОснование КАК СвязанныйДокумент,
| Таблица.ОбъектРасчетов.УникальныйИдентификатор КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ПустаяСсылка) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК Таблица
|ГДЕ
| Таблица.Ссылка В (&Ссылка)
| И Таблица.Ссылка.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияУменьшениеЗадолженностиСводно)
|";
ВзаиморасчетыСервер.ПроведениеОплатыПоставщику(Запрос, ТекстыЗапроса, Регистры, ТекстОплата,"3");
КонецПроцедуры
Функция ТекстЗапросаТаблицаТоварыУслугиКОформлениюОтчетовКомитентуОЗакупках(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыУслугиКОформлениюОтчетовКомитентуОЗакупках";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаРасхожденияТоваров", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаРасхождения.Номенклатура КАК Номенклатура,
| ТаблицаРасхождения.Характеристика КАК Характеристика,
| &Ссылка КАК ДокументПриобретения,
| ТаблицаРасхождения.Назначение КАК Назначение,
| ТаблицаРасхождения.Количество КАК Количество,
| ТаблицаРасхождения.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| &ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаРасхождения.НомерГТД КАК НомерГТД,
| ТаблицаРасхождения.СуммаСНДС КАК СуммаСНДС,
| ТаблицаРасхождения.СуммаНДС КАК СуммаНДС,
| ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаРасхождения.СуммаБезНДСРегл + ТаблицаРасхождения.СуммаНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаРегл,
| ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.Договор.ПереоцениватьТоварыУслугиКОтчетуКомитенту, ЛОЖЬ)
| ТОГДА ТаблицаРасхождения.СуммаБезНДСУпр + ТаблицаРасхождения.СуммаНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУпр,
| ЛОЖЬ КАК Первичное,
| ТаблицаРасхождения.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаРасхождения.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации,
| ТаблицаРасхождения.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.УчитыватьСтавкиНДС, ЛОЖЬ)
| ТОГДА ТаблицаРасхождения.СтавкаНДС
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| КОНЕЦ КАК СтавкаНДС
|ИЗ
| ВтТаблицаРасхожденияТоваров КАК ТаблицаРасхождения
|ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК Назначения
|ПО
| ТаблицаРасхождения.Назначение = Назначения.Ссылка
|ГДЕ
| &ДокументОснованиеЯвляетсяПриобретением
| И &ХозОперацияОснования В (&ХозОперацииПоставкаПодПринципала)
| И ТаблицаРасхождения.Назначение.ТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| И (ВЫБОР ТаблицаРасхождения.ТипНоменклатуры
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар) ТОГДА ИСТИНА
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) ТОГДА ИСТИНА
| КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) ТОГДА НЕ &ВернутьМногооборотнуюТару
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ)
| И НЕ &ИспользуетсяДокументПоступлениеТоваров
| И ТаблицаРасхождения.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
|
| ВЫБОР КОГДА ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) ТОГДА
| ТабЧасть.Подразделение
| ИНАЧЕ
| ТабЧасть.Склад
| КОНЕЦ КАК Склад,
|
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| ЛОЖЬ КАК ПоГрафику,
| НЕОПРЕДЕЛЕНО КАК РаспоряжениеВГрафике
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТабЧасть
|ГДЕ
| ТабЧасть.ВариантОтражения В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьСкладскиеОстатки),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьСкладскиеОстатки))
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТабЧасть.ВариантОтражения В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| И НЕ (ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
| И ЕСТЬNULL(ТабЧасть.Ссылка.Договор.ВариантОформленияЗакупок = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг),
| ЛОЖЬ))
| И НЕ ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика))
| И НЕ ТабЧасть.СписатьНаРасходы
|";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть, Неопределено, Ложь);
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Склад КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| -ТабЧасть.Количество КАК Количество,
| ВЫБОР
| КОГДА
| ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоЗаказамИНакладным),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.МожетПроисходитьБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.НеРазделенаПоНакладным))
| ТОГДА ТабЧасть.Ссылка.Соглашение
| КОГДА ТабЧасть.Ссылка.ВариантПриемкиТоваров В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамБезЗаказовИНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеЗаказовИлиНакладных),
| ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.ПоДоговорамПослеНакладных))
| ТОГДА ТабЧасть.Ссылка.Договор
| КОГДА ТабЧасть.Ссылка.ВариантПриемкиТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыПриемкиТоваров.РазделенаТолькоПоНакладным)
| ИЛИ НЕ ТабЧасть.Ссылка.ПоступлениеПоЗаказам
| ТОГДА ТабЧасть.Ссылка.ДокументОснование
| ИНАЧЕ ТабЧасть.ЗаказПоставщику
| КОНЕЦ КАК РаспоряжениеВГрафике
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТабЧасть
|ГДЕ
| ТабЧасть.ВариантОтражения В(
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров))
| И (ТабЧасть.Номенклатура.ТипНоменклатуры В(
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ИЛИ ТабЧасть.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
| И ЕСТЬNULL(ТабЧасть.Ссылка.Договор.ВариантОформленияЗакупок = ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеотфактурованныеПоставкиТоваровИУслуг),
| ЛОЖЬ))";
РаспределениеЗапасовДвижения.ОтменитьЗапланированныйПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
ДополнительныеПараметры.Добавить("ДокументПоступленияНДС");
Если Запрос <> Неопределено Тогда
УстановитьПараметрЗапросаДокументПоступленияНДС(Запрос);
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтТаблицаВидыЗапасовОприходование");
ДополнительныеТаблицы.Добавить("ВтТаблицаВидыЗапасовСписание");
ДополнительныеТаблицы.Добавить("ВтТаблицаРасхожденияТоваров");
ДополнительныеТаблицы.Добавить("ВтПартииПроизводства");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовОприходование(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[1], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаВидыЗапасовСписание(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[2], ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаРасхожденияТоваров(Запрос, ТекстыЗапроса);
КонецЕсли;
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[3], ТекстыЗапроса) Тогда
ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВнешнееПоступление_Товар_Оприходование
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА &ДокументОснование
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| ТОГДА &ДокументОснование
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| &ДокументПоступленияНДС КАК Партия,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК ДопРасходы,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК ДопРасходыБезНДС,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК ДопРасходыРегл,
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ВЫБОР
| КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.СобственныеТоварыВПути)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НеотфактурованныеПоставки)
| КОГДА ТаблицаВидыЗапасов.ЦеховаяКладовая
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаХраненииСПравомПродажи)
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Работа)
| И ТаблицаВидыЗапасов.Номенклатура.ПрослеживаемыйТовар
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ КАК РазделУчета,
|
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки)
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияПрошлогоПериода)
| КОГДА ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры.Назначение.ТипНазначения = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемкаПодПринципала)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовОприходование КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И НЕ (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути)
| И ТаблицаВидыЗапасов.Количество = 0)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Товар_Списание
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| &ДокументОснование КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| &ДокументОснование КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| -ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НЕ (&СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК Стоимость,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НЕ (&СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьБезНДС,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И НЕ (&СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СтоимостьРегл
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ -ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации <> ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| И НЕ (&СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СтоимостьУпр
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ -(ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр)
| КОНЕЦ КАК НДСУпр,
| -(ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьЗабалансовая,
| -(ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ 0 КОНЕЦ) КАК СтоимостьЗабалансоваяРегл,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА НЕ ТаблицаВидыЗапасов.Количество = 0
| ИЛИ &СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК ДопРасходы,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ИЛИ &СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА 0
| КОГДА НЕ ТаблицаВидыЗапасов.Количество = 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК ДопРасходыБезНДС,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ИЛИ ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации = ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| ИЛИ &СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.ДопРасходыРегл
| КОНЕЦ КАК ДопРасходыРегл,
| -ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ИЛИ ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации = ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВключениеНДСВСтоимость)
| ИЛИ &СреднеСкользящая
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.ДопРасходыУпр
| КОНЕЦ КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ТаблицаВидыЗапасов.ВременнаяРазница КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| (ВЫБОР
| КОГДА ТаблицаВидыЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки)
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| КОГДА ТаблицаВидыЗапасов.Количество = 0
| И НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияПрошлогоПериода)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровПоставщику) КОНЕЦ) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровПоставщику) КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаВидыЗапасовСписание КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.ТоварНаХраненииСПравомПродажи),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути))
| И (ТаблицаВидыЗапасов.ЭтоВозвратПоставщику
| ИЛИ НЕ (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути)
| И ТаблицаВидыЗапасов.Количество = 0))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Корректировка
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| &ДокументОснование КАК ДокументИсточник,
| (ВЫБОР
| КОГДА &СреднеСкользящая
| И ТаблицаДокумента.ТипКорректировки = ЗНАЧЕНИЕ(ПеречислениЕ.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| ТОГДА ТаблицаДокумента.Дата
| ИНАЧЕ &ПериодПоступления
| КОНЕЦ) КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| &ДокументОснование КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| 0 КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И (НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ИЛИ НЕ &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И (НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ИЛИ НЕ &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И (НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ИЛИ НЕ &ПартионныйУчетВерсии22
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК ДопРасходы,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И (НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке))
| ИЛИ НЕ &ПартионныйУчетВерсии22
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК ДопРасходыБезНДС,
| ТаблицаВидыЗапасов.ДопРасходыРегл КАК ДопРасходыРегл,
| ТаблицаВидыЗапасов.ДопРасходыУпр КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ТаблицаВидыЗапасов.ВременнаяРазница КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ &СреднеСкользящая
| И ТаблицаДокумента.ТипКорректировки = ЗНАЧЕНИЕ(ПеречислениЕ.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияПрошлогоПериода)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаРасхожденияТоваров КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И (ТаблицаВидыЗапасов.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара)
| ИЛИ (ТаблицаВидыЗапасов.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара)
| И &ПартионныйУчетВерсии22)
| ИЛИ (НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути)
| И ТаблицаВидыЗапасов.Количество = 0
| И ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации = ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика)
| )
| )
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов В (
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварПоНеотфактурованнойПоставке),
| ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.СобственныйТоварВПути))
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Корректировка_ПУ21
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| &ДокументОснование КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| 0 КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| 0 КАК СтоимостьУпр,
| 0 КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ТаблицаВидыЗапасов.СуммаСНДСУпр КАК ДопРасходы,
| ТаблицаВидыЗапасов.СуммаБезНДСУпр КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| ТаблицаВидыЗапасов.ВременнаяРазница КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаРасхожденияТоваров КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара)
| И ТаблицаВидыЗапасов.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И НЕ &ПартионныйУчетВерсии22";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Корректировка_Работа
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| &ДокументОснование КАК ДокументИсточник,
| &ПериодПоступления КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| &ДокументОснование КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК ДопРасходы,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК ДопРасходыБезНДС,
| ТаблицаВидыЗапасов.ДопРасходыРегл КАК ДопРасходыРегл,
| ТаблицаВидыЗапасов.ДопРасходыУпр КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты) КАК РазделУчета,
|
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаВидыЗапасов.Количество >= 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровПоставщику)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияПрошлогоПериода)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ВЫБОР
| КОГДА ТаблицаВидыЗапасов.Количество >= 0
| ТОГДА ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ЗакупкаУПоставщика)
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НастройкиХозяйственныхОпераций.ВозвратТоваровПоставщику)
| КОНЕЦ КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаРасхожденияТоваров КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаВидыЗапасов.Номенклатура.ПрослеживаемыйТовар
| И НЕ &НеотфактурованныеПоставкиУслугРабот
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И (ТаблицаВидыЗапасов.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) ИЛИ
| ТаблицаВидыЗапасов.Назначение.ТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И НЕ ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| И НЕ ТаблицаВидыЗапасов.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Корректировка_Неотфактуровка_РаботУслуг
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| &ДокументОснование КАК ДокументИсточник,
| &ПериодПоступления КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ТаблицаДокумента.Ссылка КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаДокумента.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР
| КОГДА &СреднеСкользящая
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР
| КОГДА &СреднеСкользящая
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА &СреднеСкользящая
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| И ТаблицаВидыЗапасов.Количество = 0
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ВЫБОР
| КОГДА &СреднеСкользящая
| ТОГДА 0
| КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) <> НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И ТаблицаВидыЗапасов.Количество = 0
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК ДопРасходы,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК ДопРасходыБезНДС,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСРегл + ТаблицаВидыЗапасов.СуммаНДСРегл
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСРегл
| КОНЕЦ КАК ДопРасходыРегл,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| И НЕ &СреднеСкользящая
| ИЛИ ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС В (
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС),
| ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД))
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НеотфактурованныеПоставки) КАК РазделУчета,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаРасхожденияТоваров КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| И &НеотфактурованныеПоставкиУслугРабот
| И НЕ ТаблицаВидыЗапасов.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнешнееПоступление_Корректировка_Работа_ОтчетПереработчика
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| &ДокументОснование КАК ДокументИсточник,
| &ПериодПоступления КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ПартииПроизводства.ПартияПроизводства КАК Партия,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ПартииПроизводства.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ТаблицаВидыЗапасов.СуммаСНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ТаблицаВидыЗапасов.СтоимостьРегл КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаНДСРегл
| КОНЕЦ КАК НДСРегл,
| ТаблицаВидыЗапасов.СтоимостьУпр КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр - ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК НДСУпр,
| 0 КАК СтоимостьЗабалансовая,
| 0 КАК СтоимостьЗабалансоваяРегл,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаСНДСУпр
| КОНЕЦ КАК ДопРасходы,
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ТОГДА 0
| КОГДА ТаблицаВидыЗапасов.Количество <> 0
| ТОГДА 0
| ИНАЧЕ ТаблицаВидыЗапасов.СуммаБезНДСУпр
| КОНЕЦ КАК ДопРасходыБезНДС,
| ТаблицаВидыЗапасов.ДопРасходыРегл КАК ДопРасходыРегл,
| ТаблицаВидыЗапасов.ДопРасходыУпр КАК ДопРасходыУпр,
| 0 КАК ПостояннаяРазница,
| 0 КАК ВременнаяРазница,
| 0 КАК КорСтоимость,
|
| ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.НезавершенноеПроизводство) КАК РазделУчета,
|
| ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
| ИЛИ ТаблицаВидыЗапасов.Количество > 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| КОГДА ТаблицаВидыЗапасов.Количество < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратТоваровПоставщику)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПриобретенияПрошлогоПериода)
| КОНЕЦ КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторФинЗаписи КАК ИдентификаторФинЗаписи,
| ТаблицаВидыЗапасов.НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.КорректировкаПриобретения КАК ТаблицаДокумента
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТаблицаРасхожденияТоваров КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтПартииПроизводства КАК ПартииПроизводства
| ПО ПартииПроизводства.ПартияВыпуска = ТаблицаДокумента.ДокументОснование
| И ПартииПроизводства.НомерГруппыЗатрат = ТаблицаВидыЗапасов.НомерГруппыЗатрат
|
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ ТаблицаВидыЗапасов.СписатьНаРасходы
| И (ТаблицаВидыЗапасов.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) ИЛИ
| ТаблицаВидыЗапасов.Назначение.ТипНазначения <> ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала))
| И НЕ ТаблицаВидыЗапасов.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах))
| И ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаОтчетаПереработчика)
| И НЕ НАЧАЛОПЕРИОДА(&ПериодПоступления, МЕСЯЦ) < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
|";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
Функция ТекстЗапросаВтПартииПроизводства(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПроизводства";
ТекстЗапроса = Документы.ОтчетПереработчика2_5.ТекстЗапросаВтПартииПроизводства(Запрос);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Ссылка", "&ДокументОснование");
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
Процедура ОформитьКорректировкуТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаДокумента = "
|ВЫБРАТЬ
| ИсточникДанных.Ссылка КАК Ссылка,
| ИсточникДанных.Ссылка.ДокументОснование КАК Накладная,
| ЛОЖЬ КАК Исправление,
| НЕОПРЕДЕЛЕНО КАК ИсправляемыйДокумент,
| ИсточникДанных.ЗаказПоставщику КАК Заказ,
| ИсточникДанных.Ссылка.Договор КАК Договор,
| ИсточникДанных.Ссылка.Соглашение КАК Соглашение,
| ЕСТЬNULL(ДанныеОснование.ВариантПриемкиТоваров, НЕОПРЕДЕЛЕНО) КАК ВариантПриемкиТоваров,
| ИсточникДанных.Ссылка.Дата КАК Дата,
|
| ВЫБОР КОГДА ЕСТЬNULL(ДанныеОснование.ДатаПоступления, ДАТАВРЕМЯ(1, 1, 1)) <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА
| ЕСТЬNULL(ДанныеОснование.ДатаПоступления, ДАТАВРЕМЯ(1, 1, 1))
| ИНАЧЕ
| ИсточникДанных.Ссылка.Дата
| КОНЕЦ КАК ДатаПланируемогоПоступления,
|
| ИсточникДанных.Номенклатура КАК Номенклатура,
| ИсточникДанных.Характеристика КАК Характеристика,
| ИсточникДанных.Назначение КАК Назначение,
| ИсточникДанных.Серия КАК Серия,
| ИсточникДанных.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ИСТИНА КАК СверхЗаказа,
| ИсточникДанных.Склад КАК Склад,
| ВЫБОР
| КОГДА ИсточникДанных.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА ЕСТЬNULL(ДанныеОснование.ПодотчетноеЛицо, ИсточникДанных.Ссылка.Партнер)
| ИНАЧЕ ИсточникДанных.Ссылка.Партнер
| КОНЕЦ КАК Отправитель,
| ИсточникДанных.Ссылка.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ИсточникДанных.Количество КАК Количество,
| ИСТИНА КАК ЭтоНакладная,
| ИсточникДанных.Ссылка.ПоступлениеПоЗаказам КАК ПоступлениеПоЗаказам
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ИсточникДанных
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК ДанныеОснование
| ПО ИсточникДанных.Ссылка.ДокументОснование = ДанныеОснование.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Номенклатура КАК СпрНоменклатура
| ПО ИсточникДанных.Номенклатура = СпрНоменклатура.Ссылка
|ГДЕ
| ИсточникДанных.Ссылка В (&Ссылка)
| И ИсточникДанных.ВариантОтражения В (
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьЗакупкуУвеличитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьЗакупкуУменьшитьТоварыУПартнеров),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УвеличитьСтоимостьТовара),
| ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.УменьшитьСтоимостьТовара))
| И (ВЫБОР
| КОГДА ИсточникДанных.Ссылка.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА ЛОЖЬ
| КОГДА НЕ ИсточникДанных.Ссылка.Договор.ВариантОформленияЗакупок ЕСТЬ NULL
| И ИсточникДанных.Ссылка.Договор.ВариантОформленияЗакупок <> ЗНАЧЕНИЕ(Перечисление.ВариантыОформленияЗакупок.НеРазделять)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ)
| И ВЫБОР
| КОГДА ИсточникДанных.Ссылка.ДокументОснование ССЫЛКА Документ.ПриобретениеТоваровУслуг
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ДанныеОснование.ХозяйственнаяОперация, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|";
СкладыСервер.ОформитьПриобретениеТоваровПоДвухходовке(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДокумента);
СкладыСервер.ЗапланироватьПоступлениеТоваров(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаДокумента,
"ИсточникДанных", Истина);
КонецПроцедуры
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати(КомандыПечати, "ЗаданиеНаРазмещение");
КорректировкаПриобретенияЛокализация.ДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
#КонецОбласти
#Область Прочее
Процедура ЗаполнитьТоварыПоИсходнымДанным(ДокументОснование, Товары, ДокументСсылка = Неопределено) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, ДокументОснование, ДокументСсылка);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
| *
|ИЗ ИсходныеДанные КАК ИсходныеДанные
|
|УПОРЯДОЧИТЬ ПО
| ИсходныеДанные.НомерСтроки
|";
ДанныеПоТоварам = Запрос.Выполнить().Выгрузить();
Если Не ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПервичныйДокумент")
Или ДанныеПоТоварам.Количество() > 0 Тогда
Товары.Загрузить(ДанныеПоТоварам);
КонецЕсли;
КонецПроцедуры
Процедура СформироватьВременнуюТаблицуИсходныхДанных(МенеджерВременныхТаблиц, ДокументОснование, ДокументСсылка = Неопределено) Экспорт
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") Тогда
ТекстЗапросаПоОснованию = ТекстЗапросаПоИсходнымДаннымПриобретениеТоваровУслуг();
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПриобретениеУслугПрочихАктивов") Тогда
ТекстЗапросаПоОснованию = ТекстЗапросаПоИсходнымДаннымПриобретениеУслугПрочихАктивов();
ИначеЕсли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ОтчетПереработчика2_5") Тогда
ТекстЗапросаПоОснованию = ТекстЗапросаПоИсходнымДаннымОтчетаПереработчика();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПервичныйДокумент") Тогда
ТекстЗапроса = ТекстЗапросаПоИсходнымДаннымКорректировокПервичногоДокумента();
Если ЗначениеЗаполнено(ДокументСсылка) Тогда
ТекущийМоментВремени = ДокументСсылка.МоментВремени();
Иначе
ТекущийМоментВремени =
Новый МоментВремени(ТекущаяДатаСеанса(), Документы.КорректировкаПриобретения.ПустаяСсылка());
КонецЕсли;
Запрос.УстановитьПараметр("ТекущийМоментВремени", ТекущийМоментВремени);
Иначе
ТекстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаПриобретения.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ДанныеПоследнейКорректировки
|ИЗ
| Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО
| КорректировкаПриобретения.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И РеестрДокументовСторноИсправление.Проведен
| И НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись
|ГДЕ
| КорректировкаПриобретения.Проведен
| И КорректировкаПриобретения.Ссылка <> &ДокументСсылка
| И КорректировкаПриобретения.ДокументОснование = &ДокументОснование
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаПриобретения.МоментВремени УБЫВ
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ВЫБОР
| КОГДА ТаблицаТовары.КоличествоУпаковок = 0
| ТОГДА ТаблицаТовары.Количество
| ИНАЧЕ
| ТаблицаТовары.КоличествоУпаковок
| КОНЕЦ КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|
|ПОМЕСТИТЬ ИсходныеДанные
|ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ТаблицаТовары.Ссылка = ДанныеПоследнейКорректировки.Ссылка
|";
ТекстЗапросаПоОснованию = ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении() + ТекстЗапросаПоОснованию;
ТекстЗапроса = ТекстЗапроса + ТекстЗапросаПоОснованию
+ ОбщегоНазначения.РазделительПакетаЗапросов() + "УНИЧТОЖИТЬ ДанныеПоследнейКорректировки";
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
Запрос.Выполнить();
КонецПроцедуры
Функция ТекстЗапросаПоИсходнымДаннымПриобретениеТоваровУслуг()
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ВЫБОР КОГДА ТаблицаТовары.СтатусУказанияСерий = 14
| ТОГДА 14
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий,
| """" КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
|
| ВЫБОР
| КОГДА ВЫРАЗИТЬ(ТаблицаТовары.Цена * ТаблицаТовары.КоличествоУпаковок КАК ЧИСЛО(31,2)) = ТаблицаТовары.Сумма
| ТОГДА ТаблицаТовары.Цена
| КОГДА ВЫРАЗИТЬ(ТаблицаТовары.КоличествоУпаковок КАК ЧИСЛО(31,3)) > 0
| ТОГДА ВЫРАЗИТЬ(ТаблицаТовары.Сумма / ТаблицаТовары.КоличествоУпаковок КАК ЧИСЛО(31,2))
| ИНАЧЕ 0
| КОНЕЦ КАК Цена,
|
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| 0 КАК НомерГруппыЗатрат,
| ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов
|ИЗ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ИСТИНА
|ГДЕ
| ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
| И ТаблицаТовары.Ссылка = &ДокументОснование
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПоИсходнымДаннымПриобретениеУслугПрочихАктивов()
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаРасходы.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
| ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка) КАК Назначение,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
| ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КАК Серия,
| 0 КАК СтатусУказанияСерий,
| ТаблицаРасходы.Содержание КАК Содержание,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ТаблицаРасходы.Количество КАК КоличествоУпаковок,
| ТаблицаРасходы.Количество КАК Количество,
| ТаблицаРасходы.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаРасходы.Цена КАК Цена,
| ТаблицаРасходы.Сумма КАК Сумма,
| ТаблицаРасходы.СтавкаНДС КАК СтавкаНДС,
| ТаблицаРасходы.СуммаНДС КАК СуммаНДС,
| ТаблицаРасходы.СуммаСНДС КАК СуммаСНДС,
| ЗНАЧЕНИЕ(Документ.ЗаказПоставщику.ПустаяСсылка) КАК ЗаказПоставщику,
| 0 КАК КодСтроки,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| ТаблицаРасходы.НомерГТД КАК НомерГТД,
| ТаблицаРасходы.КодТНВЭД КАК КодТНВЭД,
| ЗНАЧЕНИЕ(Справочник.СделкиСКлиентами.ПустаяСсылка) КАК Сделка,
| ТаблицаРасходы.Подразделение КАК Подразделение,
| 0 КАК НомерГруппыЗатрат,
| ЗНАЧЕНИЕ(Справочник.СтатьиКалькуляции.ПустаяСсылка) КАК СтатьяКалькуляции,
| ИСТИНА КАК СписатьНаРасходы,
| ТаблицаРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаРасходы.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаРасходы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаРасходы.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаРасходы.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаРасходы.АналитикаДоходов КАК АналитикаДоходов
|ИЗ
| Документ.ПриобретениеУслугПрочихАктивов.Расходы КАК ТаблицаРасходы
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ИСТИНА
|ГДЕ
| ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
| И ТаблицаРасходы.Ссылка = &ДокументОснование
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПоИсходнымДаннымОтчетаПереработчика()
ТекстЗапроса = "
|ВЫБРАТЬ
| ТаблицаУслуги.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ТаблицаУслуги.Номенклатура КАК Номенклатура,
| АналитикаНоменклатуры.Назначение КАК Назначение,
| АналитикаНоменклатуры.Характеристика КАК Характеристика,
| АналитикаНоменклатуры.Серия КАК Серия,
| 0 КАК СтатусУказанияСерий,
| """" КАК Содержание,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| ТаблицаУслуги.Количество КАК КоличествоУпаковок,
| ТаблицаУслуги.Количество КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| ТаблицаУслуги.Цена КАК Цена,
| ТаблицаУслуги.Сумма КАК Сумма,
| ТаблицаУслуги.СтавкаНДС КАК СтавкаНДС,
| ТаблицаУслуги.СуммаНДС КАК СуммаНДС,
| ТаблицаУслуги.СуммаСНДС КАК СуммаСНДС,
| ОтчетПереработчика2_5.ЗаказПереработчику КАК ЗаказПоставщику,
| ТаблицаУслуги.КодСтроки КАК КодСтроки,
| ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
| ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка) КАК НомерГТД,
| ЗНАЧЕНИЕ(Справочник.КлассификаторТНВЭД.ПустаяСсылка) КАК КодТНВЭД,
| ЗНАЧЕНИЕ(Справочник.СделкиСКлиентами.ПустаяСсылка) КАК Сделка,
| ОтчетПереработчика2_5.Подразделение КАК Подразделение,
| ТаблицаУслуги.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаУслуги.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ЛОЖЬ КАК СписатьНаРасходы,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК СтатьяРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаРасходов,
| ОтчетПереработчика2_5.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка) КАК НастройкаСчетовУчета,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| НЕОПРЕДЕЛЕНО КАК АналитикаДоходов
|ИЗ
| Документ.ОтчетПереработчика2_5.Услуги КАК ТаблицаУслуги
|
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейКорректировки КАК ДанныеПоследнейКорректировки
| ПО ИСТИНА
|
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетПереработчика2_5 КАК ОтчетПереработчика2_5
| ПО ОтчетПереработчика2_5.Ссылка = ТаблицаУслуги.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаНоменклатуры КАК АналитикаНоменклатуры
| ПО АналитикаНоменклатуры.Ссылка = ТаблицаУслуги.АналитикаУчетаНоменклатуры
|
|ГДЕ
| ДанныеПоследнейКорректировки.Ссылка ЕСТЬ NULL
| И ТаблицаУслуги.Ссылка = &ДокументОснование
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПоИсходнымДаннымКорректировокПервичногоДокумента()
ТекстЗапроса = "
|ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаПриобретения.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| КорректировкаПриобретения.ЦенаВключаетНДС КАК ЦенаВключаетНДС
|ПОМЕСТИТЬ ДанныеПоследнейИсправительнойКорректировки
|ИЗ
| Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО
| КорректировкаПриобретения.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И РеестрДокументовСторноИсправление.Проведен
| И НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись
|ГДЕ
| КорректировкаПриобретения.Проведен
| И КорректировкаПриобретения.Ссылка <> &ДокументСсылка
| И КорректировкаПриобретения.ДокументОснование = &ДокументОснование
| И КорректировкаПриобретения.МоментВремени < &ТекущийМоментВремени
| И КорректировкаПриобретения.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ИсправлениеОшибок)
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаПриобретения.МоментВремени УБЫВ
|;
|
|
|ВЫБРАТЬ
| КорректировкаПриобретения.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| КорректировкаПриобретения.ЦенаВключаетНДС КАК ЦенаВключаетНДС
|ПОМЕСТИТЬ ДанныеПредыдущейКорректировки
|ИЗ
| Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО КорректировкаПриобретения.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И РеестрДокументовСторноИсправление.Проведен
| И НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК ДанныеПоследнейИсправительнойКорректировки
| ПО (ИСТИНА)
|ГДЕ
| КорректировкаПриобретения.Проведен
| И КорректировкаПриобретения.Ссылка <> &ДокументСсылка
| И КорректировкаПриобретения.ДокументОснование = &ДокументОснование
| И КорректировкаПриобретения.МоментВремени < &ТекущийМоментВремени
| И (ДанныеПоследнейИсправительнойКорректировки.МоментВремени ЕСТЬ NULL
| ИЛИ КорректировкаПриобретения.МоментВремени > ДанныеПоследнейИсправительнойКорректировки.МоментВремени)
| И КорректировкаПриобретения.ВидКорректировки = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КорректировкаПоСогласованиюСторон)
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировки
|ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ТаблицаТовары
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПредыдущейКорректировки КАК КорректировкаПриобретения
| ПО ТаблицаТовары.Ссылка = КорректировкаПриобретения.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| 0 КАК КоличествоУпаковок,
| 0 КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК Цена,
| 0 КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| 0 КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПредыдущейКорректировки КАК КорректировкаПриобретения
| ПО ТаблицаТовары.Ссылка = КорректировкаПриобретения.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| НЕ (ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Содержание, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.НомерГТД, ТаблицаТовары.КодТНВЭД, ТаблицаТовары.Подразделение, ТаблицаТовары.СтатьяРасходов, ТаблицаТовары.АналитикаРасходов) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.НомерГТД,
| ТоварыПредыдущейКорректировки.КодТНВЭД,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.СтатьяРасходов,
| ТоварыПредыдущейКорректировки.АналитикаРасходов
| ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Ссылка = ТаблицаТовары.Ссылка)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|
|ПОМЕСТИТЬ ВТТоварыПоследнейИсправительнойКорректировки
|ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК КорректировкаПриобретения
| ПО ТаблицаТовары.Ссылка = КорректировкаПриобретения.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(Справочник.НоменклатураКонтрагентов.ПустаяСсылка) КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| 0 КАК КоличествоУпаковок,
| 0 КАК Количество,
| 0 КАК КоличествоПоРНПТ,
| 0 КАК Цена,
| 0 КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| 0 КАК СуммаНДС,
| 0 КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов,
| ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ) КАК ВестиУчетПоГТД
|ИЗ
| Документ.КорректировкаПриобретения.Расхождения КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК КорректировкаПриобретения
| ПО ТаблицаТовары.Ссылка = КорректировкаПриобретения.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТовары.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| НЕ (ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Содержание, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.НомерГТД, ТаблицаТовары.КодТНВЭД, ТаблицаТовары.Подразделение, ТаблицаТовары.СтатьяРасходов, ТаблицаТовары.АналитикаРасходов) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.НомерГТД,
| ТоварыПредыдущейКорректировки.КодТНВЭД,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.СтатьяРасходов,
| ТоварыПредыдущейКорректировки.АналитикаРасходов
| ИЗ
| Документ.КорректировкаПриобретения.Товары КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Ссылка = ТаблицаТовары.Ссылка)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_1
|ИЗ
| ВТТоварыПредыдущейКорректировки КАК ТаблицаТовары
|ГДЕ
| (НЕ ТаблицаТовары.ВестиУчетПоГТД
| ИЛИ ТаблицаТовары.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка))
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_3
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_1 КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ТоварыПредыдущейКорректировки.Ссылка
| ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_1 КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Номенклатура = ТаблицаТовары.Номенклатура
| И ТоварыПредыдущейКорректировки.Характеристика = ТаблицаТовары.Характеристика
| И ТоварыПредыдущейКорректировки.Содержание = ТаблицаТовары.Содержание
| И ТоварыПредыдущейКорректировки.Серия = ТаблицаТовары.Серия
| И ТоварыПредыдущейКорректировки.Упаковка = ТаблицаТовары.Упаковка
| И ТоварыПредыдущейКорректировки.Склад = ТаблицаТовары.Склад
| И ТоварыПредыдущейКорректировки.НомерГТД = ТаблицаТовары.НомерГТД
| И ТоварыПредыдущейКорректировки.КодТНВЭД = ТаблицаТовары.КодТНВЭД
| И ТоварыПредыдущейКорректировки.Подразделение = ТаблицаТовары.Подразделение
| И ТоварыПредыдущейКорректировки.СтатьяРасходов = ТаблицаТовары.СтатьяРасходов
| И ТоварыПредыдущейКорректировки.АналитикаРасходов = ТаблицаТовары.АналитикаРасходов
| УПОРЯДОЧИТЬ ПО
| ТоварыПредыдущейКорректировки.МоментВремени УБЫВ)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| КорректировкаПриобретения.НоменклатураПартнера КАК НоменклатураПартнера,
| ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура,
| КорректировкаПриобретения.Назначение КАК Назначение,
| ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика,
| КорректировкаПриобретения.Серия КАК Серия,
| КорректировкаПриобретения.СтатусУказанияСерий КАК СтатусУказанияСерий,
| КорректировкаПриобретения.Содержание КАК Содержание,
| КорректировкаПриобретения.Упаковка КАК Упаковка,
| КорректировкаПриобретения.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВЫБОР
| КОГДА КорректировкаПриобретения.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС > 0
| И ТаблицаТовары.Количество > 0
| ТОГДА ТаблицаТовары.СуммаСНДС / ТаблицаТовары.Количество
| КОГДА НЕ КорректировкаПриобретения.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС > 0
| И ТаблицаТовары.Количество > 0
| ТОГДА (ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) / ТаблицаТовары.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА КорректировкаПриобретения.ЦенаВключаетНДС
| ТОГДА ТаблицаТовары.СуммаСНДС
| ИНАЧЕ ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС
| КОНЕЦ КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| КорректировкаПриобретения.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| КорректировкаПриобретения.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| КорректировкаПриобретения.Подразделение КАК Подразделение,
| КорректировкаПриобретения.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| КорректировкаПриобретения.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаПриобретения.НаправлениеДеятельности КАК НаправлениеДеятельности,
| КорректировкаПриобретения.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_2
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТТоварыПредыдущейКорректировки КАК КорректировкаПриобретения
| ПО (КорректировкаПриобретения.Ссылка = ТаблицаТовары.Ссылка)
| И (КорректировкаПриобретения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура)
| И (КорректировкаПриобретения.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика)
| И (КорректировкаПриобретения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Серия = ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия)
| И (КорректировкаПриобретения.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Подразделение = ТаблицаТовары.АналитикаУчетаНоменклатуры.Подразделение)
| И (КорректировкаПриобретения.ЗаказПоставщику = ТаблицаТовары.ЗаказПоставщику)
| И (КорректировкаПриобретения.Сделка = ТаблицаТовары.Сделка)
|ГДЕ
| КорректировкаПриобретения.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И КорректировкаПриобретения.ВестиУчетПоГТД
| И КорректировкаПриобретения.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
| И КорректировкаПриобретения.Количество > 0
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиСГТД_4
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_2 КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка В
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ТоварыПредыдущейКорректировки.Ссылка
| ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_2 КАК ТоварыПредыдущейКорректировки
| ГДЕ
| ТоварыПредыдущейКорректировки.Номенклатура = ТаблицаТовары.Номенклатура
| И ТоварыПредыдущейКорректировки.Характеристика = ТаблицаТовары.Характеристика
| И ТоварыПредыдущейКорректировки.Содержание = ТаблицаТовары.Содержание
| И ТоварыПредыдущейКорректировки.Серия = ТаблицаТовары.Серия
| И ТоварыПредыдущейКорректировки.Упаковка = ТаблицаТовары.Упаковка
| И ТоварыПредыдущейКорректировки.Склад = ТаблицаТовары.Склад
| И ТоварыПредыдущейКорректировки.НомерГТД = ТаблицаТовары.НомерГТД
| И ТоварыПредыдущейКорректировки.КодТНВЭД = ТаблицаТовары.КодТНВЭД
| И ТоварыПредыдущейКорректировки.Подразделение = ТаблицаТовары.Подразделение
| И ТоварыПредыдущейКорректировки.СтатьяРасходов = ТаблицаТовары.СтатьяРасходов
| И ТоварыПредыдущейКорректировки.АналитикаРасходов = ТаблицаТовары.АналитикаРасходов
| УПОРЯДОЧИТЬ ПО
| ТоварыПредыдущейКорректировки.МоментВремени УБЫВ)
| И ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ВТТоварыПредыдущейКорректировкиИтог
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_3 КАК ТаблицаТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_4 КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТТоварыПредыдущейКорректировкиСГТД_3 КАК ТоварыПредыдущейКорректировки
| ПО ТоварыПредыдущейКорректировки.Номенклатура = ТаблицаТовары.Номенклатура
| И ТоварыПредыдущейКорректировки.Характеристика = ТаблицаТовары.Характеристика
| И ТоварыПредыдущейКорректировки.Содержание = ТаблицаТовары.Содержание
| И ТоварыПредыдущейКорректировки.Серия = ТаблицаТовары.Серия
| И ТоварыПредыдущейКорректировки.Упаковка = ТаблицаТовары.Упаковка
| И ТоварыПредыдущейКорректировки.Склад = ТаблицаТовары.Склад
| И ТоварыПредыдущейКорректировки.НомерГТД = ТаблицаТовары.НомерГТД
| И ТоварыПредыдущейКорректировки.КодТНВЭД = ТаблицаТовары.КодТНВЭД
| И ТоварыПредыдущейКорректировки.Подразделение = ТаблицаТовары.Подразделение
| И ТоварыПредыдущейКорректировки.СтатьяРасходов = ТаблицаТовары.СтатьяРасходов
| И ТоварыПредыдущейКорректировки.АналитикаРасходов = ТаблицаТовары.АналитикаРасходов
| И ТаблицаТовары.МоментВремени >= ТоварыПредыдущейКорректировки.МоментВремени
|ГДЕ
| ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И ТоварыПредыдущейКорректировки.Количество > 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_4 КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И НЕ (ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Содержание, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.НомерГТД, ТаблицаТовары.КодТНВЭД, ТаблицаТовары.Подразделение, ТаблицаТовары.СтатьяРасходов, ТаблицаТовары.АналитикаРасходов) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.НомерГТД,
| ТоварыПредыдущейКорректировки.КодТНВЭД,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.СтатьяРасходов,
| ТоварыПредыдущейКорректировки.АналитикаРасходов
| ИЗ
| ВТТоварыПредыдущейКорректировкиСГТД_3 КАК ТоварыПредыдущейКорректировки)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.МоментВремени КАК МоментВремени,
| ТаблицаТовары.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ВТТоварыИсправительнойКорректировкиСГТД
|ИЗ
| ВТТоварыПоследнейИсправительнойКорректировки КАК ТаблицаТовары
|ГДЕ
| (НЕ ТаблицаТовары.ВестиУчетПоГТД
| ИЛИ ТаблицаТовары.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| КорректировкаПриобретения.МоментВремени КАК МоментВремени,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| КорректировкаПриобретения.НоменклатураПартнера КАК НоменклатураПартнера,
| КорректировкаПриобретения.Номенклатура КАК Номенклатура,
| КорректировкаПриобретения.Назначение КАК Назначение,
| КорректировкаПриобретения.Характеристика КАК Характеристика,
| КорректировкаПриобретения.Серия КАК Серия,
| КорректировкаПриобретения.СтатусУказанияСерий КАК СтатусУказанияСерий,
| КорректировкаПриобретения.Содержание КАК Содержание,
| КорректировкаПриобретения.Упаковка КАК Упаковка,
| КорректировкаПриобретения.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ВЫБОР
| КОГДА КорректировкаПриобретения.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС > 0
| И ТаблицаТовары.Количество > 0
| ТОГДА ТаблицаТовары.СуммаСНДС / ТаблицаТовары.Количество
| КОГДА НЕ КорректировкаПриобретения.ЦенаВключаетНДС
| И ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС > 0
| И ТаблицаТовары.Количество > 0
| ТОГДА (ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС) / ТаблицаТовары.Количество
| ИНАЧЕ 0
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА КорректировкаПриобретения.ЦенаВключаетНДС
| ТОГДА ТаблицаТовары.СуммаСНДС
| ИНАЧЕ ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаНДС
| КОНЕЦ КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| КорректировкаПриобретения.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| КорректировкаПриобретения.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| КорректировкаПриобретения.Подразделение КАК Подразделение,
| КорректировкаПриобретения.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| КорректировкаПриобретения.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| КорректировкаПриобретения.НаправлениеДеятельности КАК НаправлениеДеятельности,
| КорректировкаПриобретения.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ИЗ
| Документ.КорректировкаПриобретения.ВидыЗапасов КАК ТаблицаТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТТоварыПоследнейИсправительнойКорректировки КАК КорректировкаПриобретения
| ПО (КорректировкаПриобретения.Ссылка = ТаблицаТовары.Ссылка)
| И (КорректировкаПриобретения.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Номенклатура = ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура)
| И (КорректировкаПриобретения.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Характеристика = ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика)
| И (КорректировкаПриобретения.Серия = ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Серия = ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия)
| И (КорректировкаПриобретения.Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
| ИЛИ КорректировкаПриобретения.Подразделение = ТаблицаТовары.АналитикаУчетаНоменклатуры.Подразделение)
| И (КорректировкаПриобретения.ЗаказПоставщику = ТаблицаТовары.ЗаказПоставщику)
| И (КорректировкаПриобретения.Сделка = ТаблицаТовары.Сделка)
|ГДЕ
| КорректировкаПриобретения.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И КорректировкаПриобретения.ВестиУчетПоГТД
| И КорректировкаПриобретения.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|;
|
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ПОМЕСТИТЬ ИсходныеДанные
|ИЗ
| ВТТоварыИсправительнойКорректировкиСГТД КАК ТаблицаТовары
|ГДЕ
| ВЫБОР
| КОГДА ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковУслугИПрочихАктивов)
| ТОГДА НЕ (ТаблицаТовары.Содержание, ТаблицаТовары.Подразделение, ТаблицаТовары.СтатьяРасходов, ТаблицаТовары.АналитикаРасходов) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.СтатьяРасходов,
| ТоварыПредыдущейКорректировки.АналитикаРасходов
| ИЗ
| ВТТоварыПредыдущейКорректировкиИтог КАК ТоварыПредыдущейКорректировки)
| И ТаблицаТовары.Сумма > 0
| ИНАЧЕ НЕ (ТаблицаТовары.Номенклатура, ТаблицаТовары.Характеристика, ТаблицаТовары.Содержание, ТаблицаТовары.Серия, ТаблицаТовары.Упаковка, ТаблицаТовары.Склад, ТаблицаТовары.НомерГТД, ТаблицаТовары.КодТНВЭД, ТаблицаТовары.Подразделение, ТаблицаТовары.СтатьяРасходов, ТаблицаТовары.АналитикаРасходов) В
| (ВЫБРАТЬ
| ТоварыПредыдущейКорректировки.Номенклатура,
| ТоварыПредыдущейКорректировки.Характеристика,
| ТоварыПредыдущейКорректировки.Содержание,
| ТоварыПредыдущейКорректировки.Серия,
| ТоварыПредыдущейКорректировки.Упаковка,
| ТоварыПредыдущейКорректировки.Склад,
| ТоварыПредыдущейКорректировки.НомерГТД,
| ТоварыПредыдущейКорректировки.КодТНВЭД,
| ТоварыПредыдущейКорректировки.Подразделение,
| ТоварыПредыдущейКорректировки.СтатьяРасходов,
| ТоварыПредыдущейКорректировки.АналитикаРасходов
| ИЗ
| ВТТоварыПредыдущейКорректировкиИтог КАК ТоварыПредыдущейКорректировки)
| И ТаблицаТовары.Количество > 0
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.НоменклатураПартнера КАК НоменклатураПартнера,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| ТаблицаТовары.Содержание КАК Содержание,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТовары.ЗаказПоставщику КАК ЗаказПоставщику,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.Склад КАК Склад,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.КодТНВЭД КАК КодТНВЭД,
| ТаблицаТовары.Сделка КАК Сделка,
| ТаблицаТовары.Подразделение КАК Подразделение,
| ТаблицаТовары.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
| ТаблицаТовары.СтатьяКалькуляции КАК СтатьяКалькуляции,
| ТаблицаТовары.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТовары.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТовары.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТовары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.НастройкаСчетовУчета КАК НастройкаСчетовУчета,
| ТаблицаТовары.АналитикаАктивовПассивов КАК АналитикаАктивовПассивов,
| ТаблицаТовары.АналитикаДоходов КАК АналитикаДоходов
|ИЗ
| ВТТоварыПредыдущейКорректировкиИтог КАК ТаблицаТовары
|ГДЕ
| (ТаблицаТовары.ТипКорректировки = ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И ТаблицаТовары.Количество > 0
| ИЛИ ТаблицаТовары.ТипКорректировки <> ЗНАЧЕНИЕ(Перечисление.ТипыКорректировки.КорректировкаДоВводаОстатковТоваровИУслуг)
| И ТаблицаТовары.Сумма > 0)
|;
|
|
|УНИЧТОЖИТЬ ДанныеПредыдущейКорректировки
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировки
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПоследнейИсправительнойКорректировки
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_1
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_3
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_2
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиСГТД_4
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыПредыдущейКорректировкиИтог
|;
|
|
|УНИЧТОЖИТЬ ВТТоварыИсправительнойКорректировкиСГТД";
Возврат ТекстЗапроса;
КонецФункции
Функция СуммыПоЗаказам(СсылкаОбъект, ЗначенияРеквизитов = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Товары.СуммаСНДС КАК Сумма,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| &ВернутьМногооборотнуюТару КАК ВернутьМногооборотнуюТару,
| &ТребуетсяЗалогЗаТару КАК ТребуетсяЗалогЗаТару
|ПОМЕСТИТЬ ВТТовары
|ИЗ &ТаблицаЗначений КАК Товары
|ГДЕ &УсловиеСсылка
|;
|ВЫБРАТЬ
| Неопределено КАК Заказ,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаЗаказа,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(ВложенныйЗапрос.СуммаПлатежа) КАК СуммаПлатежа,
| СУММА(ВложенныйЗапрос.СуммаВзаиморасчетов) КАК СуммаВзаиморасчетов,
| СУММА(ВложенныйЗапрос.СуммаЗалогаЗаТару) КАК СуммаЗалогаЗаТару,
| СУММА(ВложенныйЗапрос.СуммаВзаиморасчетовПоТаре) КАК СуммаВзаиморасчетовПоТаре
|ИЗ (ВЫБРАТЬ
| ВЫБОР
| КОГДА (Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару)
| И Товары.Сумма > 0
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаПлатежа,
| ВЫБОР
| КОГДА (Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ НЕ Товары.ВернутьМногооборотнуюТару)
| И Товары.СуммаВзаиморасчетов > 0
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетов,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| И Товары.Сумма > 0
| ТОГДА Товары.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаЗалогаЗаТару,
| ВЫБОР
| КОГДА Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И Товары.ТребуетсяЗалогЗаТару
| И Товары.СуммаВзаиморасчетов > 0
| ТОГДА Товары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаВзаиморасчетовПоТаре
| ИЗ ВТТовары КАК Товары) КАК ВложенныйЗапрос
|";
Если ЗначенияРеквизитов = Неопределено Тогда
ВидКорректировки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаОбъект, "ВидКорректировки");
Запрос.УстановитьПараметр("Ссылка", СсылкаОбъект);
Если ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПриобретенияУвеличениеЗадолженностиСводно
ИЛИ ВидКорректировки = Перечисления.ХозяйственныеОперации.КорректировкаПриобретенияУменьшениеЗадолженностиСводно Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| Неопределено КАК Заказ,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаЗаказа,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(ВЫБОР
| КОГДА КорректировкаЗадолженности.СуммаСНДС > 0
| ТОГДА КорректировкаЗадолженности.СуммаСНДС
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаПлатежа,
| СУММА(ВЫБОР
| КОГДА КорректировкаЗадолженности.СуммаВзаиморасчетов > 0
| ТОГДА КорректировкаЗадолженности.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаВзаиморасчетов,
| 0 КАК СуммаЗалогаЗаТару,
| 0 КАК СуммаВзаиморасчетовПоТаре
|ИЗ
| Документ.КорректировкаПриобретения.КорректировкаЗадолженности КАК КорректировкаЗадолженности
|ГДЕ
| КорректировкаЗадолженности.Ссылка = &Ссылка";
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТаблицаЗначений", "Документ.КорректировкаПриобретения.Расхождения");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВернутьМногооборотнуюТару", "ВЫБОР
|КОГДА Товары.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ЛОЖЬ
|ИНАЧЕ
| ЕСТЬNULL(Товары.Ссылка.ДокументОснование.ВернутьМногооборотнуюТару,ЛОЖЬ)");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТребуетсяЗалогЗаТару", "ВЫБОР
|КОГДА Товары.Ссылка.ДокументОснование ССЫЛКА Документ.ПервичныйДокумент
| ТОГДА ЛОЖЬ
|ИНАЧЕ
| ЕСТЬNULL(Товары.Ссылка.ДокументОснование.ТребуетсяЗалогЗаТару,ЛОЖЬ)");
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "Товары.Ссылка = &Ссылка");
КонецЕсли;
Иначе
Для Каждого КлючЗначение Из ЗначенияРеквизитов Цикл
Запрос.УстановитьПараметр(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
Если ЗначенияРеквизитов.ТаблицаЗначений.Количество() = 0
Или НЕ ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(ЗначенияРеквизитов.ТаблицаЗначений[0],"Номенклатура") Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| Товары.СуммаСНДС КАК Сумма,
| Товары.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
|ПОМЕСТИТЬ ВТТовары
|ИЗ &ТаблицаЗначений КАК Товары
|;
|ВЫБРАТЬ
| Неопределено КАК Заказ,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаЗаказа,
| ДАТАВРЕМЯ(1,1,1) КАК ДатаСогласования,
| ЛОЖЬ КАК СверхЗаказа,
| СУММА(ВЫБОР
| КОГДА ВТТовары.Сумма > 0
| ТОГДА ВТТовары.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаПлатежа,
| СУММА(ВЫБОР
| КОГДА ВТТовары.СуммаВзаиморасчетов > 0
| ТОГДА ВТТовары.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаВзаиморасчетов,
| 0 КАК СуммаЗалогаЗаТару,
| 0 КАК СуммаВзаиморасчетовПоТаре
|ИЗ ВТТовары КАК ВТТовары";
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеСсылка", "ИСТИНА");
КонецЕсли;
КонецЕсли;
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
#Область ПроверкаЗаполненияДокументаДоВводаОстатков
Функция ТекстЗапросаВТТаблицыТоваров()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ТаблицаТоваров.Содержание КАК Содержание,
| ВЫРАЗИТЬ(ТаблицаТоваров.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
| ВЫРАЗИТЬ(ТаблицаТоваров.Характеристика КАК Справочник.ХарактеристикиНоменклатуры) КАК Характеристика,
| ВЫРАЗИТЬ(ТаблицаТоваров.НомерГТД КАК Справочник.НомераГТД) КАК НомерГТД,
| ВЫРАЗИТЬ(ТаблицаТоваров.КодТНВЭД КАК Справочник.КлассификаторТНВЭД) КАК КодТНВЭД,
| ТаблицаТоваров.Количество КАК Количество,
| ТаблицаТоваров.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТоваров.КоличествоПосле КАК КоличествоПосле,
| ТаблицаТоваров.КоличествоУпаковокПосле КАК КоличествоУпаковокПосле,
| ТаблицаТоваров.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТоваров.КоличествоПоРНПТПосле КАК КоличествоПоРНПТПосле,
| ТаблицаТоваров.Цена КАК Цена,
| ЕСТЬNULL(ТаблицаТоваров.ЦенаПосле,0) КАК ЦенаПосле,
| ТаблицаТоваров.Сумма КАК Сумма,
| ЕСТЬNULL(ТаблицаТоваров.СуммаПосле,0) КАК СуммаПосле,
| ЕСТЬNULL(ТаблицаТоваров.СтавкаНДС, ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)) КАК СтавкаНДС,
| ЕСТЬNULL(ТаблицаТоваров.СтавкаНДСПосле, ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)) КАК СтавкаНДСПосле,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СуммаНДСПосле КАК СуммаНДСПосле,
| ТаблицаТоваров.СуммаСНДС КАК СуммаСНДС,
| ТаблицаТоваров.СуммаСНДСПосле КАК СуммаСНДСПосле,
| ТаблицаТоваров.ВариантОтражения КАК ВариантОтражения,
| ТаблицаТоваров.ВариантОтраженияСписания КАК ВариантОтраженияСписания,
| ТаблицаТоваров.СписатьНаРасходы КАК СписатьНаРасходы,
| ТаблицаТоваров.Склад КАК Склад,
| ТаблицаТоваров.Подразделение КАК Подразделение,
| ТаблицаТоваров.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаТоваров.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаТоваров.Серия КАК Серия,
| ТаблицаТоваров.Упаковка КАК Упаковка
|ПОМЕСТИТЬ ТаблицаТоваровДляЗапроса
|ИЗ
| &ТаблицаТоваров КАК ТаблицаТоваров";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТДанныеДокументаОснования()
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументОснование.Организация КАК Организация,
| ДокументОснование.Контрагент КАК Контрагент,
| ДокументОснование.Договор КАК Договор,
| ДокументОснование.Партнер КАК Партнер,
| ДокументОснование.ПорядокРасчетов КАК ПорядокРасчетов,
| ДокументОснование.НалогообложениеНДС КАК НалогообложениеНДС
|ПОМЕСТИТЬ ДанныеДокументаОснования
|ИЗ
| Документ.ПервичныйДокумент КАК ДокументОснование
|ГДЕ
| ДокументОснование.Ссылка = &ДокументОснование";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТДанныеПредыдущейКорректировки() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| КорректировкаПриобретения.Ссылка КАК Ссылка,
| КорректировкаПриобретения.ТипКорректировки КАК ТипКорректировки,
| КорректировкаПриобретения.ДокументОснование КАК ДокументОснование,
| КорректировкаПриобретения.Дата КАК Дата
|ПОМЕСТИТЬ ВТПредыдущаяКорректировка
|ИЗ
| Документ.КорректировкаПриобретения КАК КорректировкаПриобретения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеестрДокументов КАК РеестрДокументовСторноИсправление
| ПО КорректировкаПриобретения.Ссылка = РеестрДокументовСторноИсправление.СторнируемыйДокумент
| И (РеестрДокументовСторноИсправление.Проведен)
| И (НЕ РеестрДокументовСторноИсправление.ДополнительнаяЗапись)
|ГДЕ
| КорректировкаПриобретения.Проведен
| И КорректировкаПриобретения.Дата < &Дата
| И КорректировкаПриобретения.ДокументОснование = &ДокументОснование
| И РеестрДокументовСторноИсправление.Ссылка ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| КорректировкаПриобретения.МоментВремени УБЫВ
|";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВТПроверкиДанныхПоПоследнейКорректировке()
ТекстЗапроса = "ВЫБРАТЬ
| МАКСИМУМ(ТаблицаКорректировки.НомерСтроки) КАК НомерСтроки,
| ТаблицаКорректировки.Номенклатура КАК Номенклатура,
| ТаблицаКорректировки.Характеристика КАК Характеристика,
| ТаблицаКорректировки.Содержание КАК Содержание,
| ТаблицаКорректировки.Упаковка КАК Упаковка,
| ТаблицаКорректировки.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаКорректировки.АналитикаРасходов КАК АналитикаРасходов,
| ТаблицаКорректировки.Серия КАК Серия,
| ТаблицаКорректировки.Склад КАК Склад,
| ТаблицаКорректировки.КодТНВЭД КАК КодТНВЭД,
| ТаблицаКорректировки.Подразделение КАК Подразделение,
| ТаблицаКорректировки.СтавкаНДС КАК СтавкаНДС,
| СУММА(ТаблицаКорректировки.Количество) КАК Количество,
| СУММА(ТаблицаКорректировки.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ТаблицаКорректировки.Сумма) КАК Сумма,
| СУММА(ТаблицаКорректировки.СуммаНДС) КАК СуммаНДС,
| СУММА(ТаблицаКорректировки.СуммаСНДС) КАК СуммаСНДС
|ПОМЕСТИТЬ ВТТаблицаТоваровИтог
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаКорректировки
|ГДЕ
| ТаблицаКорректировки.НомерГТД = ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| ТаблицаКорректировки.Номенклатура,
| ТаблицаКорректировки.Характеристика,
| ТаблицаКорректировки.Содержание,
| ТаблицаКорректировки.Упаковка,
| ТаблицаКорректировки.СтатьяРасходов,
| ТаблицаКорректировки.АналитикаРасходов,
| ТаблицаКорректировки.Серия,
| ТаблицаКорректировки.Склад,
| ТаблицаКорректировки.КодТНВЭД,
| ТаблицаКорректировки.Подразделение,
| ТаблицаКорректировки.СтавкаНДС
|;
|
|
|ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура КАК Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика КАК Характеристика,
| ДанныеПоследнейКорректировки.Содержание КАК Содержание,
| ДанныеПоследнейКорректировки.Упаковка КАК Упаковка,
| ДанныеПоследнейКорректировки.Серия КАК Серия,
| ДанныеПоследнейКорректировки.Склад КАК Склад,
| ДанныеПоследнейКорректировки.Подразделение КАК Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеПоследнейКорректировки.КодТНВЭД КАК КодТНВЭД,
| МАКСИМУМ(ДанныеПоследнейКорректировки.СтавкаНДС) КАК СтавкаНДС,
| СУММА(ДанныеПоследнейКорректировки.Количество) КАК Количество,
| СУММА(ДанныеПоследнейКорректировки.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ДанныеПоследнейКорректировки.Сумма) КАК Сумма,
| СУММА(ДанныеПоследнейКорректировки.СуммаНДС) КАК СуммаНДС,
| СУММА(ДанныеПоследнейКорректировки.СуммаСНДС) КАК СуммаСНДС
|ПОМЕСТИТЬ ИсходныеДанныеБезГТД
|ИЗ
| (ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура КАК Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика КАК Характеристика,
| ДанныеПоследнейКорректировки.Содержание КАК Содержание,
| ДанныеПоследнейКорректировки.Упаковка КАК Упаковка,
| ДанныеПоследнейКорректировки.Серия КАК Серия,
| ДанныеПоследнейКорректировки.Склад КАК Склад,
| ДанныеПоследнейКорректировки.Подразделение КАК Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеПоследнейКорректировки.КодТНВЭД КАК КодТНВЭД,
| ДанныеПоследнейКорректировки.СтавкаНДС КАК СтавкаНДС,
| ДанныеПоследнейКорректировки.КоличествоУпаковок КАК КоличествоУпаковок,
| ДанныеПоследнейКорректировки.Количество КАК Количество,
| ДанныеПоследнейКорректировки.Сумма КАК Сумма,
| ДанныеПоследнейКорректировки.СуммаНДС КАК СуммаНДС,
| ДанныеПоследнейКорректировки.СуммаСНДС КАК СуммаСНДС
| ИЗ
| ИсходныеДанные КАК ДанныеПоследнейКорректировки
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов,
| ДанныеПоследнейКорректировки.КодТНВЭД,
| ДанныеПоследнейКорректировки.СтавкаНДС,
| -ДанныеПоследнейКорректировки.КоличествоУпаковок,
| -ДанныеПоследнейКорректировки.Количество,
| -ДанныеПоследнейКорректировки.Сумма,
| -ДанныеПоследнейКорректировки.СуммаНДС,
| -ДанныеПоследнейКорректировки.СуммаСНДС
| ИЗ
| ТаблицаТоваровДляЗапроса КАК ДанныеПоследнейКорректировки
| ГДЕ
| ДанныеПоследнейКорректировки.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов,
| ДанныеПоследнейКорректировки.КодТНВЭД,
| ДанныеПоследнейКорректировки.СтавкаНДСПосле,
| ДанныеПоследнейКорректировки.КоличествоУпаковокПосле,
| ДанныеПоследнейКорректировки.КоличествоПосле,
| ДанныеПоследнейКорректировки.СуммаПосле,
| ДанныеПоследнейКорректировки.СуммаНДСПосле,
| ДанныеПоследнейКорректировки.СуммаСНДСПосле
| ИЗ
| ТаблицаТоваровДляЗапроса КАК ДанныеПоследнейКорректировки
| ГДЕ
| ДанныеПоследнейКорректировки.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)) КАК ДанныеПоследнейКорректировки
|
|СГРУППИРОВАТЬ ПО
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов,
| ДанныеПоследнейКорректировки.КодТНВЭД
|;
|
|
|ВЫБРАТЬ
| ДанныеПоследнейКорректировки.Номенклатура КАК Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика КАК Характеристика,
| ДанныеПоследнейКорректировки.Содержание КАК Содержание,
| ДанныеПоследнейКорректировки.Упаковка КАК Упаковка,
| ДанныеПоследнейКорректировки.Серия КАК Серия,
| ДанныеПоследнейКорректировки.Склад КАК Склад,
| ДанныеПоследнейКорректировки.Подразделение КАК Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеПоследнейКорректировки.НомерГТД КАК НомерГТД,
| ДанныеПоследнейКорректировки.КодТНВЭД КАК КодТНВЭД,
| ДанныеПоследнейКорректировки.СтавкаНДС КАК СтавкаНДС,
| СУММА(ДанныеПоследнейКорректировки.КоличествоУпаковок) КАК КоличествоУпаковок,
| СУММА(ДанныеПоследнейКорректировки.Количество) КАК Количество,
| СУММА(ДанныеПоследнейКорректировки.КоличествоПоРНПТ) КАК КоличествоПоРНПТ,
| СУММА(ДанныеПоследнейКорректировки.Сумма) КАК Сумма,
| СУММА(ДанныеПоследнейКорректировки.СуммаНДС) КАК СуммаНДС,
| СУММА(ДанныеПоследнейКорректировки.СуммаСНДС) КАК СуммаСНДС
|ПОМЕСТИТЬ ИсходныеДанныеПоГТД
|ИЗ
| ИсходныеДанные КАК ДанныеПоследнейКорректировки
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ДанныеПоследнейКорректировки.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)
|
|СГРУППИРОВАТЬ ПО
| ДанныеПоследнейКорректировки.Номенклатура,
| ДанныеПоследнейКорректировки.Характеристика,
| ДанныеПоследнейКорректировки.Содержание,
| ДанныеПоследнейКорректировки.Упаковка,
| ДанныеПоследнейКорректировки.Серия,
| ДанныеПоследнейКорректировки.Склад,
| ДанныеПоследнейКорректировки.Подразделение,
| ДанныеПоследнейКорректировки.СтатьяРасходов,
| ДанныеПоследнейКорректировки.АналитикаРасходов,
| ДанныеПоследнейКорректировки.НомерГТД,
| ДанныеПоследнейКорректировки.КодТНВЭД,
| ДанныеПоследнейКорректировки.СтавкаНДС
|;
|
|
|ВЫБРАТЬ
| ВТРасхождения.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Количество - ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ КАК Количество,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.КоличествоУпаковок - ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Сумма - ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ КАК СуммаНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаСНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ КАК СуммаСНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| КОГДА ВТРасхождения.СтавкаНДС <> ДанныеПоследнейКорректировки.СтавкаНДС
| И ВТРасхождения.Количество > 0
| И ВТРасхождения.КоличествоУпаковок > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЕстьОшибкаПоНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА ВТРасхождения.Количество
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ КАК ИсходноеКоличество,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА ВТРасхождения.КоличествоУпаковок
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ КАК ИсходноеКоличествоУпаковок,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА ВТРасхождения.Сумма
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ КАК ИсходнаяСумма,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ КАК ИсходнаяСуммаНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаСНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ КАК ИсходнаяСуммаСНДС,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СтавкаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СтавкаНДС, 0)
| КОНЕЦ КАК ИсходнаяСтавкаНДС
|ПОМЕСТИТЬ ВТПроверкиДанныхПоПоследнейКорректировке
|ИЗ
| ВТТаблицаТоваровИтог КАК ВТРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеТовара
| ПО ВТРасхождения.Номенклатура = ДанныеТовара.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ИсходныеДанныеБезГТД КАК ДанныеПоследнейКорректировки
| ПО (ВЫБОР
| КОГДА &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| ТОГДА ДанныеПоследнейКорректировки.Номенклатура = ВТРасхождения.Номенклатура
| И ДанныеПоследнейКорректировки.Характеристика = ВТРасхождения.Характеристика
| И ДанныеПоследнейКорректировки.Серия = ВТРасхождения.Серия
| И ДанныеПоследнейКорректировки.Упаковка = ВТРасхождения.Упаковка
| И ДанныеПоследнейКорректировки.Склад = ВТРасхождения.Склад
| И ДанныеПоследнейКорректировки.КодТНВЭД = ВТРасхождения.КодТНВЭД
| И ДанныеПоследнейКорректировки.СтатьяРасходов = ВТРасхождения.СтатьяРасходов
| И ДанныеПоследнейКорректировки.АналитикаРасходов = ВТРасхождения.АналитикаРасходов
| И ДанныеПоследнейКорректировки.Подразделение = ВТРасхождения.Подразделение
| ИНАЧЕ ДанныеПоследнейКорректировки.Содержание = ВТРасхождения.Содержание
| И ДанныеПоследнейКорректировки.Подразделение = ВТРасхождения.Подразделение
| И ДанныеПоследнейКорректировки.СтатьяРасходов = ВТРасхождения.СтатьяРасходов
| И ДанныеПоследнейКорректировки.АналитикаРасходов = ВТРасхождения.АналитикаРасходов
| И ДанныеПоследнейКорректировки.КодТНВЭД = ВТРасхождения.КодТНВЭД
| КОНЕЦ)
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК ДанныеПоследнейИсправительнойКорректировки
| ПО (ИСТИНА)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВТРасхождения.НомерСтроки,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Количество - ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.КоличествоУпаковок - ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.Сумма - ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА 0
| ИНАЧЕ ВТРасхождения.СуммаСНДС - ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| КОГДА ВТРасхождения.СтавкаНДС <> ДанныеПоследнейКорректировки.СтавкаНДС
| И ВТРасхождения.Количество > 0
| И ВТРасхождения.КоличествоУпаковок > 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Количество ЕСТЬ NULL
| ТОГДА ВТРасхождения.Количество
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Количество, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.КоличествоУпаковок ЕСТЬ NULL
| ТОГДА ВТРасхождения.КоличествоУпаковок
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.КоличествоУпаковок, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.Сумма ЕСТЬ NULL
| ТОГДА ВТРасхождения.Сумма
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.Сумма, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СуммаСНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СуммаСНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СуммаСНДС, 0)
| КОНЕЦ,
| ВЫБОР
| КОГДА ДанныеПоследнейИсправительнойКорректировки.Ссылка ЕСТЬ NULL
| И ДанныеПоследнейКорректировки.СтавкаНДС ЕСТЬ NULL
| ТОГДА ВТРасхождения.СтавкаНДС
| ИНАЧЕ ЕСТЬNULL(ДанныеПоследнейКорректировки.СтавкаНДС, 0)
| КОНЕЦ
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ВТРасхождения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеТовара
| ПО ВТРасхождения.Номенклатура = ДанныеТовара.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ИсходныеДанныеПоГТД КАК ДанныеПоследнейКорректировки
| ПО ДанныеПоследнейКорректировки.Номенклатура = ВТРасхождения.Номенклатура
| И ДанныеПоследнейКорректировки.Характеристика = ВТРасхождения.Характеристика
| И ДанныеПоследнейКорректировки.Серия = ВТРасхождения.Серия
| И ДанныеПоследнейКорректировки.Упаковка = ВТРасхождения.Упаковка
| И ДанныеПоследнейКорректировки.Склад = ВТРасхождения.Склад
| И ДанныеПоследнейКорректировки.НомерГТД = ВТРасхождения.НомерГТД
| И ДанныеПоследнейКорректировки.КодТНВЭД = ВТРасхождения.КодТНВЭД
| И ДанныеПоследнейКорректировки.СтатьяРасходов = ВТРасхождения.СтатьяРасходов
| И ДанныеПоследнейКорректировки.АналитикаРасходов = ВТРасхождения.АналитикаРасходов
| И ДанныеПоследнейКорректировки.Подразделение = ВТРасхождения.Подразделение
| ЛЕВОЕ СОЕДИНЕНИЕ ДанныеПоследнейИсправительнойКорректировки КАК ДанныеПоследнейИсправительнойКорректировки
| ПО (ИСТИНА)
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ВТРасхождения.НомерГТД <> ЗНАЧЕНИЕ(Справочник.НомераГТД.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСклада()
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| 0 КАК НомерСтроки,
| ""НеУказанСклад"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьНесколькоСкладов
| И НЕ ТаблицаТоваров.СписатьНаРасходы
| И &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияНоменклатурыИСодержания()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаНоменклатура"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ТаблицаТоваров.Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноСодержание"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.Содержание = """"
| И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияХарактеристик()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаХарактеристика"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьХарактеристикиНоменклатуры
| И ДанныеНоменклатуры.ИспользованиеХарактеристик В
| (ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры),
| ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры),
| ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры))
| И ТаблицаТоваров.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияКоличества()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоУпаковок <> 0
| ТОГДА ""ОшибкаПересчетаКоличества""
| ИНАЧЕ ""НеУказаноКоличествоУпаковок""
| КОНЕЦ КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ((ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоУпаковок <> 0)
| ИЛИ (НЕ (ТаблицаТоваров.КоличествоПосле = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| И ((ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоПосле = 0)
| ИЛИ (ТаблицаТоваров.КоличествоУпаковок = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле = 0))
| ИЛИ (ТаблицаТоваров.КоличествоУпаковок = 0
| И ТаблицаТоваров.Цена > 0)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаТоваров.КоличествоПосле = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле <> 0
| ТОГДА ""ОшибкаПересчетаКоличестваПосле""
| ИНАЧЕ ""НеУказаноКоличествоУпаковокПосле""
| КОНЕЦ КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ((ТаблицаТоваров.КоличествоПосле = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| ИЛИ (НЕ (ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоУпаковок <> 0)
| И ((ТаблицаТоваров.Количество = 0
| И ТаблицаТоваров.КоличествоПосле = 0)
| ИЛИ (ТаблицаТоваров.КоличествоУпаковок = 0
| И ТаблицаТоваров.КоличествоУпаковокПосле = 0))
| ИЛИ (ТаблицаТоваров.КоличествоУпаковокПосле = 0
| И ТаблицаТоваров.ЦенаПосле > 0)))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноКоличествоПоРНПТ"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаТоваров.КоличествоПоРНПТ = 0
| И (ТаблицаТоваров.Цена > 0
| ИЛИ ТаблицаТоваров.Количество <> 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок <> 0)
| И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноКоличествоПоРНПТПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| ТаблицаТоваров.КоличествоПоРНПТПосле = 0
| И (ТаблицаТоваров.ЦенаПосле > 0
| ИЛИ ТаблицаТоваров.КоличествоПосле <> 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И ЕСТЬNULL(ДанныеНоменклатуры.ВестиУчетПоГТД, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ПрослеживаемыйТовар, ЛОЖЬ)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноКоличествоПоРНПТ"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторТНВЭД КАК КлассификаторТНВЭД
| ПО ТаблицаТоваров.КодТНВЭД = КлассификаторТНВЭД.Ссылка
|ГДЕ
| ТаблицаТоваров.КоличествоПоРНПТ = 0
| И (ТаблицаТоваров.Цена > 0
| ИЛИ ТаблицаТоваров.Количество <> 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковок <> 0)
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ЕСТЬNULL(КлассификаторТНВЭД.ПрослеживаемыйТовар, ЛОЖЬ)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказаноКоличествоПоРНПТПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторТНВЭД КАК КлассификаторТНВЭД
| ПО ТаблицаТоваров.КодТНВЭД = КлассификаторТНВЭД.Ссылка
|ГДЕ
| ТаблицаТоваров.КоличествоПоРНПТПосле = 0
| И (ТаблицаТоваров.ЦенаПосле > 0
| ИЛИ ТаблицаТоваров.КоличествоПосле <> 0
| ИЛИ ТаблицаТоваров.КоличествоУпаковокПосле <> 0)
| И &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг
| И ЕСТЬNULL(КлассификаторТНВЭД.ПрослеживаемыйТовар, ЛОЖЬ)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСуммовыхПоказателей()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаЦена"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.Цена = 0 И ТаблицаТоваров.Количество > 0)
| ИЛИ (ТаблицаТоваров.Цена = 0 И ТаблицаТоваров.ЦенаПосле = 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаЦенаПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.ЦенаПосле = 0 И ТаблицаТоваров.КоличествоПосле > 0)
| ИЛИ (ТаблицаТоваров.Цена = 0 И ТаблицаТоваров.ЦенаПосле = 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСумма"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.Сумма = 0 И ТаблицаТоваров.Количество > 0)
| ИЛИ (ТаблицаТоваров.Сумма = 0 И ТаблицаТоваров.СуммаПосле = 0)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСуммаПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.СуммаПосле = 0 И ТаблицаТоваров.КоличествоПосле > 0)
| ИЛИ (ТаблицаТоваров.Сумма = 0 И ТаблицаТоваров.СуммаПосле = 0)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСтавокНДС()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСтавкаНДС"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ИспользоватьУчетНДС
| И ТаблицаТоваров.СтавкаНДС = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ((ТаблицаТоваров.Количество > 0 И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг)
| ИЛИ (ТаблицаТоваров.Сумма > 0 И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаСтавкаНДСПосле"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| &ИспользоватьУчетНДС
| И ТаблицаТоваров.СтавкаНДСПосле = ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ((ТаблицаТоваров.КоличествоПосле > 0 И &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг)
| ИЛИ (ТаблицаТоваров.СуммаПосле > 0 И НЕ &ЭтоКорректировкаДоВводаОстатковТоваровИУслуг))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиВариантовОтражения()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаВариантОтраженияСписания"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.СуммаНДС <> 0
| И ТаблицаТоваров.СуммаСНДС <> 0
| И ТаблицаТоваров.Количество <> 0
| И ТаблицаТоваров.СтавкаНДС <> ТаблицаТоваров.СтавкаНДСПосле
| И ТаблицаТоваров.СтавкаНДС <> ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ТаблицаТоваров.СтавкаНДСПосле <> ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)
| И ТаблицаТоваров.ВариантОтраженияСписания = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ПустаяСсылка)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанаВариантОтраженияРасхождения"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| (ТаблицаТоваров.СуммаНДС <> ТаблицаТоваров.СуммаНДСПосле
| ИЛИ ТаблицаТоваров.СуммаСНДС <> ТаблицаТоваров.СуммаСНДСПосле
| ИЛИ ТаблицаТоваров.Количество <> ТаблицаТоваров.КоличествоПосле)
| И ТаблицаТоваров.ВариантОтражения = ЗНАЧЕНИЕ(Перечисление.ВариантыОтраженияКорректировокПоступлений.ПустаяСсылка)";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиЗаполненияСкладаВТабличнойЧасти()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""НеУказанСкладВТабличнойЧасти"" КАК ТипПроверки
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ДанныеНоменклатуры
| ПО ТаблицаТоваров.Номенклатура = ДанныеНоменклатуры.Ссылка
|ГДЕ
| &ИспользоватьНесколькоСкладов
| И НЕ ТаблицаТоваров.СписатьНаРасходы
| И ВЫРАЗИТЬ(&Склад КАК Справочник.Склады).ЭтоГруппа
| И &Склад <> ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| И ТаблицаТоваров.Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| И ЕСТЬNULL(ДанныеНоменклатуры.ТипНоменклатуры, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиНалогообложениеНДССоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""НалогообложениеНДСНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.НалогообложениеНДС <> &НалогообложениеНДС";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиОрганизацияСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ОрганизацияНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Организация <> &Организация";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиДоговорСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ДоговорНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Договор <> &Договор";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиПартнерСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ПартнерНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Партнер <> &Партнер";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиКонтрагентСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""КонтрагентНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.Контрагент <> &Контрагент";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиПорядокРасчетовСоответствуетОснованию()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ПорядокРасчетовНеСоответствуетОснованию"" КАК ТипПроверки
|ИЗ
| ДанныеДокументаОснования КАК ДокументОснование
|ГДЕ ДокументОснование.ПорядокРасчетов <> &ПорядокРасчетов";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиТипКорректировкиНеСоответствуетПредыдущей()
ТекстЗапроса =
"ВЫБРАТЬ
| 0 КАК НомерСтроки,
| ""ТипКорректировкиНеСоответствуетПредыдущей"" КАК ТипПроверки
|ИЗ
| ВТПредыдущаяКорректировка КАК ПредыдущаяКорректировка
|ГДЕ ПредыдущаяКорректировка.ТипКорректировки <> &ТипКорректировки";
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаПроверкиДанныхПоПоследнейКорректировке()
ТекстЗапроса = "ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""ОшибкаКоличествоПоИсходнойКорректировки"" КАК ТипПроверки,
| ТаблицаТоваров.ИсходноеКоличество КАК ИсходноеЗначение
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.Количество <> 0
| И ТаблицаТоваров.КоличествоУпаковок = 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаКоличествоУпаковокПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходноеКоличествоУпаковок
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.КоличествоУпаковок <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСуммыПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходнаяСумма
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.Сумма <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСуммыНДСПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходнаяСуммаНДС
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.СуммаНДС <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСуммыСНДСПоИсходнойКорректировки"",
| ТаблицаТоваров.ИсходнаяСуммаСНДС
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.СуммаСНДС <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки,
| ""ОшибкаСтавкиНДС"",
| ТаблицаТоваров.ИсходнаяСтавкаНДС
|ИЗ
| ВТПроверкиДанныхПоПоследнейКорректировке КАК ТаблицаТоваров
|ГДЕ
| ТаблицаТоваров.ЕстьОшибкаПоНДС ";
Возврат ТекстЗапроса;
КонецФункции
Процедура СообщитьОшибкиЗаполнения(Выборка, Отказ)
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
ШаблонСообщенияНеЗаполненоПоле = НСтр("ru = 'Поле ""%1"" не заполнено'");
ШаблонСообщенияНеЗаполненаКолонка = НСтр("ru = 'Не заполнена колонка ""%1"" в строке %2 списка ""%3""'");
ШаблонСообщенияОшибкаПересчетаКоличества = НСтр("ru = 'Обнаружено нулевое %1 при пересчете в единицу хранения в строке %2 списка ""%3""'");
ШаблонСообщенияНеУказанаВариантОтраженияСписания = НСтр("ru = 'Не указан вариант списания принятых позиций в строке %1 списка ""%2""'");
ШаблонСообщенияНеУказанаВариантОтраженияРасхождения = НСтр("ru = 'Не указан вариант отражения расхождений по строке %1 списка ""%2""'");
ШаблонСообщенияНеСоответствуетОснованию = НСтр("ru = 'Поле ""%1"" не соответствует аналогичному полю документа основания'");
ШаблонСообщенияНеСоответствуетПерыдущейКорректировке= НСтр("ru = 'Поле ""%1"" не соответствует аналогичному полю предыдущей корректировки'");
Пока Выборка.Следующий() Цикл
Если Выборка.ТипПроверки = "НеУказанСклад" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненоПоле, НСтр("ru = 'Склад'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Склад",
"Объект",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаНоменклатура" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Номенклатура'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Номенклатура");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноСодержание" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Содержание'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Содержание");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаХарактеристика" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Характеристика'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Характеристика");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаПересчетаКоличества" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаПересчетаКоличества,
НСтр("ru = 'количество до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоУпаковок" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество упаковок до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаПересчетаКоличестваПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаПересчетаКоличества,
НСтр("ru = 'количество после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковокПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоУпаковокПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество упаковок после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковокПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоПоРНПТ" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество по РНПТ до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоПоРНПТ");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказаноКоличествоПоРНПТПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Количество по РНПТ после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоПоРНПТПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаЦена" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Цена до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Цена");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаЦенаПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Цена после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"ЦенаПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСумма" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Сумма до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Сумма");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСуммаПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Сумма после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСтавкаНДС" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Ставка НДС до корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СтавкаНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаСтавкаНДСПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Ставка НДС после корректировки'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СтавкаНДСПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаВариантОтраженияСписания" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеУказанаВариантОтраженияСписания,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"ВариантОтраженияСписания");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанаВариантОтраженияРасхождения" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеУказанаВариантОтраженияРасхождения,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"ВариантОтражения");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НеУказанСкладВТабличнойЧасти" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеЗаполненаКолонка,
НСтр("ru = 'Склад'"),
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Склад");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "НалогообложениеНДСНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Налогообложение'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.НалогообложениеНДС",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОрганизацияНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Организация'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Организация",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ПартнерНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Поставщик'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Партнер",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "КонтрагентНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Контрагент'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Контрагент",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ДоговорНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Договор'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.Договор",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ПорядокРасчетовНеСоответствуетОснованию" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетОснованию, НСтр("ru = 'Порядок расчетов'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.ПорядокРасчетов",
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ТипКорректировкиНеСоответствуетПредыдущей" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияНеСоответствуетПерыдущейКорректировке, НСтр("ru = 'Тип корректировки'"));
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
"Объект.ТипКорректировки",
"",
Отказ);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура СообщитьОшибкиПоЦепочкеКорректировок(Выборка, Отказ)
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
ШаблонСообщенияРасходитсяЗначениеКоличество = НСтр("ru = 'Предупреждение: в поле ""%1"" в строке %2 указано количество отличное от количества %3 после последней корректировки'");
ШаблонСообщенияРасходитсяЗначениеСумма = НСтр("ru = 'Предупреждение: в поле ""%1"" в строке %2 указана сумма отличная от суммы %3 после последней корректировки'");
ШаблонСообщенияРасходитсяСтавкаНДС = НСтр("ru = 'Предупреждение: ставка НДС в строке %1 отличается от ставки НДС %2 после последней корректировки'");
Пока Выборка.Следующий() Цикл
Если Выборка.ТипПроверки = "ОшибкаКоличествоПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеКоличество,
НСтр("ru = 'Количество'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Количество");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаКоличествоУпаковокПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеКоличество,
НСтр("ru = 'Количество упаковок'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"КоличествоУпаковок");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСуммыПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеСумма,
НСтр("ru = 'Сумма'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"Сумма");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСуммыНДСПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеСумма,
НСтр("ru = 'Сумма НДС'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСуммыСНДСПоИсходнойКорректировки" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяЗначениеСумма,
НСтр("ru = 'Сумма с НДС'"),
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаСНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаСтавкиНДС" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияРасходитсяСтавкаНДС,
Выборка.НомерСтроки,
Выборка.ИсходноеЗначение);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СтавкаСНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ПроверитьУказаниеСуммыИСуммыНДС(Объект, МенеджерВременныхТаблиц, Отказ)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = ТекстЗапросаПроверкиУказанияСуммыИСуммыНДС();
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
ИмяТЧ = "ТаблицаКорректировки";
ПредставлениеТЧ = НСтр("ru = 'Данные корректировки'");
ШаблонСообщенияОшибкаУказанияСуммы = НСтр("ru = 'Сумма НДС до корректировки %1 %2 при ставке ""%3"" больше общей суммы до корректировки по строке %4 %5 в строке %6 списка ""%7""'");
ШаблонСообщенияОшибкаУказанияСуммыПосле = НСтр("ru = 'Сумма НДС после корректировки %1 %2 при ставке ""%3"" больше общей суммы после корректировки по строке %4 %5 в строке %6 списка ""%7""'");
Пока Выборка.Следующий() Цикл
Если Выборка.ТипПроверки = "ОшибкаУказанияСуммы" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаУказанияСуммы,
Выборка.СуммаНДС,
Объект.Валюта,
Выборка.СтавкаНДС,
Выборка.Сумма,
Объект.Валюта,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаНДС");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
Если Выборка.ТипПроверки = "ОшибкаУказанияСуммыПосле" Тогда
ТекстСообщения = СтрШаблон(ШаблонСообщенияОшибкаУказанияСуммы,
Выборка.СуммаНДС,
Объект.Валюта,
Выборка.СтавкаНДС,
Выборка.Сумма,
Объект.Валюта,
Выборка.НомерСтроки,
ПредставлениеТЧ);
Поле = ОбщегоНазначенияКлиентСервер.ПутьКТабличнойЧасти(ИмяТЧ,
Выборка.НомерСтроки,
"СуммаНДСПосле");
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,
Неопределено,
Поле,
"",
Отказ);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция ТекстЗапросаПроверкиУказанияСуммыИСуммыНДС()
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""ОшибкаУказанияСуммы"" КАК ТипПроверки,
| ТаблицаТоваров.Сумма КАК Сумма,
| ТаблицаТоваров.СуммаНДС КАК СуммаНДС,
| ТаблицаТоваров.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаТоваров.Сумма < 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.Сумма >= 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьОшибкиСуммыНДС
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| ВЫБОР
| КОГДА ТаблицаТоваров.Сумма < 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.Сумма >= 0
| И ТаблицаТоваров.Сумма - ТаблицаТоваров.СуммаНДС >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТоваров.НомерСтроки КАК НомерСтроки,
| ""ОшибкаУказанияСуммыПосле"" КАК ТипПроверки,
| ТаблицаТоваров.СуммаПосле КАК Сумма,
| ТаблицаТоваров.СуммаНДСПосле КАК СуммаНДС,
| ТаблицаТоваров.СтавкаНДСПосле КАК СтавкаНДС,
| ВЫБОР
| КОГДА ТаблицаТоваров.СуммаПосле < 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.СуммаПосле >= 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьОшибкиСуммыНДС
|ИЗ
| ТаблицаТоваровДляЗапроса КАК ТаблицаТоваров
|ГДЕ
| ВЫБОР
| КОГДА ТаблицаТоваров.СуммаПосле < 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле <= 0
| ТОГДА ЛОЖЬ
| КОГДА ТаблицаТоваров.СуммаПосле >= 0
| И ТаблицаТоваров.СуммаПосле - ТаблицаТоваров.СуммаНДСПосле >= 0
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
Функция РезультатПроверкиПоРасхождениям(ТЗТаблицаКорректировки)
РезультатПроверки = Новый Структура;
РезультатПроверки.Вставить("СуммаНаПрочиеДоходы", 0);
РезультатПроверки.Вставить("СуммаНаПрочиеРасходы", 0);
Для Каждого СтрокаРасхождений Из ТЗТаблицаКорректировки Цикл
Если СтрокаРасхождений.СтавкаНДС = СтрокаРасхождений.СтавкаНДСПосле
Или (СтрокаРасхождений.КоличествоПосле = 0
И СтрокаРасхождений.СуммаНДСПосле = 0
И СтрокаРасхождений.СуммаНДСПосле = 0) Тогда
РасхождениеСуммаСНДС = СтрокаРасхождений.СуммаСНДСПосле - СтрокаРасхождений.СуммаСНДС;
РасхождениеСуммаНДС = СтрокаРасхождений.СуммаНДСПосле - СтрокаРасхождений.СуммаНДС;
РассчитатьСуммыОтраженияРасходовИДоходов(РезультатПроверки, РасхождениеСуммаСНДС, РасхождениеСуммаНДС,
СтрокаРасхождений.ВариантОтражения, СтрокаРасхождений.СписатьНаРасходы);
Иначе
РасхождениеСуммаСНДС = -СтрокаРасхождений.СуммаСНДС;
РасхождениеСуммаНДС = -СтрокаРасхождений.СуммаНДС;
РассчитатьСуммыОтраженияРасходовИДоходов(РезультатПроверки, РасхождениеСуммаСНДС, РасхождениеСуммаНДС,
СтрокаРасхождений.ВариантОтраженияСписания, СтрокаРасхождений.СписатьНаРасходы);
РасхождениеСуммаСНДС = СтрокаРасхождений.СуммаСНДСПосле;
РасхождениеСуммаНДС = СтрокаРасхождений.СуммаНДСПосле;
РассчитатьСуммыОтраженияРасходовИДоходов(РезультатПроверки, РасхождениеСуммаСНДС, РасхождениеСуммаНДС,
СтрокаРасхождений.ВариантОтражения, СтрокаРасхождений.СписатьНаРасходы);
КонецЕсли;
КонецЦикла;
Возврат РезультатПроверки;
КонецФункции
Процедура РассчитатьСуммыОтраженияРасходовИДоходов(ДанныеСумм,
РасхождениеСуммаСНДС,
РасхождениеСуммаНДС,
ВариантОтражения,
СписатьНаРасходы)
Если ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокПоступлений.ОтразитьНаПрочихДоходах Тогда
ДанныеСумм.СуммаНаПрочиеДоходы = ДанныеСумм.СуммаНаПрочиеДоходы + ?(РасхождениеСуммаСНДС < 0,
-РасхождениеСуммаСНДС,
РасхождениеСуммаСНДС);
ИначеЕсли Не СписатьНаРасходы
И ВариантОтражения = Перечисления.ВариантыОтраженияКорректировокПоступлений.СписатьНаРасходы Тогда
ДанныеСумм.СуммаНаПрочиеРасходы = ДанныеСумм.СуммаНаПрочиеРасходы + ?(РасхождениеСуммаСНДС < 0,
-РасхождениеСуммаСНДС,
РасхождениеСуммаСНДС);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти
#КонецЕсли