#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ПрограммныйИнтерфейс
#Область СозданиеНаОсновании
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
БизнесПроцессы.Задание.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КомандаСоздатьНаОсновании = Обработки.СправочноеРазмещениеНоменклатуры.ДобавитьКомандуСоздатьНаОсновании(
КомандыСозданияНаОсновании);
Если КомандаСоздатьНаОсновании <> Неопределено Тогда
ОперацииДокумента = Новый Массив;
ОперацииДокумента.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров);
ОперацииДокумента.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию);
ОперацииДокумента.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков);
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаСоздатьНаОсновании,
"ХозяйственнаяОперация",
ОперацииДокумента,
ВидСравнения.ВСписке);
КонецЕсли;
ИсправлениеДокументов.ДобавитьКомандуИсправление(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ИсправлениеДокументов.ДобавитьКомандуСторно(КомандыСозданияНаОсновании, ПустаяСсылка().Метаданные());
ВводОстатковЛокализация.ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры);
КонецПроцедуры
#КонецОбласти
#Область Отчеты
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
ВводОстатковЛокализация.ВводОстатковДобавитьКомандыОтчетов(КомандыОтчетов, Параметры);
КонецПроцедуры
#КонецОбласти
#Область Серии
Функция ИменаРеквизитовДляЗаполненияПараметровУказанияСерий() Экспорт
ИменаРеквизитов = "Склад,Помещение,Подразделение,ХозяйственнаяОперация,Дата";
Возврат ИменаРеквизитов;
КонецФункции
Функция ПараметрыУказанияСерий(Объект) Экспорт
ПараметрыУказанияСерий = НоменклатураКлиентСервер.ПараметрыУказанияСерий();
ПараметрыУказанияСерий.ПолноеИмяОбъекта = "Документ.ВводОстатков";
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство Тогда
Иначе
ПараметрыСерийСклада = СкладыСервер.ИспользованиеСерийНаСкладе(Объект.Склад, Ложь);
КонецЕсли;
НужнаяОперация = Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений;
ПараметрыУказанияСерий.ИспользоватьСерииНоменклатуры = ПараметрыСерийСклада.ИспользоватьСерииНоменклатуры И НужнаяОперация;
ПараметрыУказанияСерий.УчитыватьСебестоимостьПоСериям = ПараметрыСерийСклада.УчитыватьСебестоимостьПоСериям И НужнаяОперация;
ПараметрыУказанияСерий.СкладскиеОперации.Добавить(Перечисления.СкладскиеОперации.ВводОстатков);
ПараметрыУказанияСерий.СерииПриПланированииОтгрузкиУказываютсяВТЧСерии = Истина;
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Назначение");
ПараметрыУказанияСерий.ЭтоНакладная = Истина;
ПараметрыУказанияСерий.Дата = Объект.Дата;
ПараметрыУказанияСерий.ИмяПоляПомещение = "Помещение";
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков
Или ((Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков)
И СкладыСервер.ИспользоватьАдресноеХранение(Объект.Склад, Объект.Помещение, Объект.Дата)) Тогда
ПараметрыУказанияСерий.ИспользоватьАдресноеХранение = Истина;
ПараметрыУказанияСерий.ПоляСвязи.Добавить("Упаковка");
ПараметрыУказанияСерий.ИмяПоляКоличество = "КоличествоУпаковок";
КонецЕсли;
ПараметрыУказанияСерий.ТолькоСерииСУчетомОстатков = Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений;
Возврат ПараметрыУказанияСерий;
КонецФункции
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерий(ПараметрыУказанияСерий) Экспорт
Если ПараметрыУказанияСерий.ИмяПоляСклад = "Подразделение" Тогда
Иначе
Возврат ТекстЗапросаЗаполненияСтатусовУказанияСерийСклад(ПараметрыУказанияСерий);
КонецЕсли;
КонецФункции
#КонецОбласти
#Область Печать
Функция ПравилаПечатиЗаданияНаОтборРазмещение() Экспорт
ПравилаПечатиЗадания = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ПравилаПечатиЗаданияНаОтборРазмещение();
ПравилаПечатиЗадания.ОперацияПоступления = Истина;
ПравилаПечатиЗадания.ИмяПоляПомещение = "Помещение";
Возврат ПравилаПечатиЗадания;
КонецФункции
#КонецОбласти
Функция МакетФормыВыбораНазначений() Экспорт
МакетФормы = Справочники.Назначения.МакетФормыВыбораНазначений();
ОписаниеКолонок = Справочники.Назначения.ДобавитьОписаниеКолонок(МакетФормы, "ОбеспечениеЗаказов", Истина, "Объект.Товары.Назначение");
ОписаниеКолонок.Колонки.НайтиПоЗначению("Потребность").Пометка = Истина;
ОписаниеКолонок.ПутиКДанным.Номенклатура = "Объект.Товары.Номенклатура";
ОписаниеКолонок.ПутиКДанным.Характеристика = "Объект.Товары.Характеристика";
ОписаниеКолонок.ПутиКДанным.Склад = "Объект.Склад";
ОписаниеКолонок.ИмяЭлементаФормы = "СобственныеТоварыНазначение";
ОписаниеКолонок.ИмяТаблицыФормы = "СобственныеТовары";
Возврат МакетФормы;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Возврат СозданиеНаОсновании.ДобавитьКомандуСозданияНаОсновании(КомандыСозданияНаОсновании, Метаданные.Документы.ВводОстатков);
КонецФункции
Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
Ограничение.Текст =
"РазрешитьЧтениеИзменение
|ГДЕ
| ЗначениеРазрешено(Организация)
| И( ЗначениеРазрешено(Склад)
| ИЛИ Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
| )И( ЗначениеРазрешено(ОрганизацияПолучатель)
| ИЛИ ОрганизацияПолучатель = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
| ) ";
КонецПроцедуры
#КонецОбласти
#Область ИнициализацияДокументаИПараметровДокумента
Функция ИнициализироватьПараметрыРегистрацииСчетовФактурПолученных(ДанныеОбъекта) Экспорт
ПараметрыРегистрации = УчетНДСУПКлиентСервер.ПараметрыРегистрацииСчетовФактурПолученных();
ПараметрыРегистрации.Ссылка = ДанныеОбъекта.Ссылка;
ПараметрыРегистрации.Дата = ДанныеОбъекта.Дата;
ПараметрыРегистрации.Организация = ДанныеОбъекта.Организация;
ПараметрыРегистрации.Контрагент = ДанныеОбъекта.Контрагент;
ПараметрыРегистрации.НалогообложениеНДС = ДанныеОбъекта.НалогообложениеНДС;
ПараметрыРегистрации.ПриобретениеТоваровРаботУслуг = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ИнициализироватьПараметрыВидовДеятельностиНДС(ДанныеОбъекта) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияВидаДеятельностиНДС();
ПараметрыЗаполнения.Организация = ДанныеОбъекта.Организация;
ПараметрыЗаполнения.Дата = ДанныеОбъекта.Дата;
ПараметрыЗаполнения.Склад = ДанныеОбъекта.Склад;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = ДанныеОбъекта.НаправлениеДеятельности;
ПараметрыЗаполнения.ПриобретениеТоваров = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ИнициализироватьПараметрыНалогообложенияНДС(ДанныеОбъекта) Экспорт
ПараметрыЗаполнения = УчетНДСУПКлиентСервер.ПараметрыЗаполненияНалогообложенияНДСПродажи();
ПараметрыЗаполнения.Организация = ДанныеОбъекта.Организация;
ПараметрыЗаполнения.Дата = ДанныеОбъекта.Дата;
ПараметрыЗаполнения.Договор = ДанныеОбъекта.Договор;
ПараметрыЗаполнения.НаправлениеДеятельности = ДанныеОбъекта.НаправлениеДеятельности;
ПараметрыЗаполнения.ПередачаНаКомиссию = Истина;
Возврат ПараметрыЗаполнения;
КонецФункции
Функция ИнициализироватьХозяйственнуюОперациюТовародвижения(ДанныеОбъекта) Экспорт
ХозяйственнаяОперацияТовародвижения = Новый Структура();
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиПринятойТары", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиПереданнойТары", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПереданнойКлиентам);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиСобственныхТоваров", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиПереданныхНаКомиссиюТоваров", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиПринятыхНаКомиссиюТоваров", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиПереданныхПереработчикамТоваров", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоОстаткиПереданныхВПроизводствоТоваров", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоПереходНаАдресноеХранение", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков);
ХозяйственнаяОперацияТовародвижения.Вставить("ЭтоПереходНаСкладскиеПомещения", ДанныеОбъекта.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений);
Возврат ХозяйственнаяОперацияТовародвижения;
КонецФункции
Процедура ЗаполнитьВидДеятельностиНДС(ДанныеОбъекта, ЗаполняемаяФорма, Перезаполнять = Ложь) Экспорт
ТипыОперацийТовародвижения = ИнициализироватьХозяйственнуюОперациюТовародвижения(ДанныеОбъекта);
ПараметрыЗаполненияВидаДеятельности = ИнициализироватьПараметрыВидовДеятельностиНДС(ДанныеОбъекта);
ЭлементФормыЗаполнения = Неопределено;
Если ТипыОперацийТовародвижения.ЭтоОстаткиСобственныхТоваров Тогда
ЭлементФормыЗаполнения = ЗаполняемаяФорма.Элементы.СобственныеТоварыВидДеятельностиНДС;
ИначеЕсли ТипыОперацийТовародвижения.ЭтоОстаткиПринятойТары Тогда
ЭлементФормыЗаполнения = ЗаполняемаяФорма.Элементы.ПринятаяТараВидДеятельностиНДС;
ИначеЕсли ТипыОперацийТовародвижения.ЭтоОстаткиПереданныхВПроизводствоТоваров Тогда
ЭлементФормыЗаполнения = ЗаполняемаяФорма.Элементы.ПереданныеВПроизводствоТоварыВидДеятельностиНДС;
ИначеЕсли ТипыОперацийТовародвижения.ЭтоОстаткиПереданныхПереработчикамТоваров Тогда
ЭлементФормыЗаполнения = ЗаполняемаяФорма.Элементы.ПереданныеПереработчикамТоварыВидДеятельностиНДС;
ИначеЕсли ТипыОперацийТовародвижения.ЭтоОстаткиПринятыхНаКомиссиюТоваров Тогда
ЭлементФормыЗаполнения = ЗаполняемаяФорма.Элементы.ПолученныеНаКомиссиюНалогообложениеНДС;
ИначеЕсли ТипыОперацийТовародвижения.ЭтоОстаткиПереданныхНаКомиссиюТоваров Тогда
ЭлементФормыЗаполнения = ЗаполняемаяФорма.Элементы.ПереданныеНаКомиссиюНалогообложениеНДС;
КонецЕсли;
Если ЭлементФормыЗаполнения = Неопределено Тогда
Возврат;
КонецЕсли;
Если Перезаполнять Тогда
УчетНДСУП.ЗаполнитьВидДеятельностиНДС(
ДанныеОбъекта.ВидДеятельностиНДС,
ПараметрыЗаполненияВидаДеятельности,
ЗаполняемаяФорма.УчетНДСКэшированныеЗначенияПараметров);
КонецЕсли;
УчетНДСУП.ЗаполнитьСписокВыбораВидаДеятельностиНДС(
ЭлементФормыЗаполнения,
ДанныеОбъекта.ВидДеятельностиНДС,
ПараметрыЗаполненияВидаДеятельности,
ЗаполняемаяФорма.УчетНДСКэшированныеЗначенияПараметров);
КонецПроцедуры
Функция ПараметрыВзаиморасчеты(ДанныеЗаполнения = Неопределено) Экспорт
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(ДанныеЗаполнения) Тогда
СтруктураДанныеЗаполнения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
ДанныеЗаполнения,
"ТипДоговора,
|Сумма");
ТипДоговора = СтруктураДанныеЗаполнения.ТипДоговора;
Сумма = СтруктураДанныеЗаполнения.Сумма;
ИначеЕсли ДанныеЗаполнения = Неопределено Тогда
ТипДоговора = Неопределено;
Сумма = 0;
Иначе
ТипДоговора = ДанныеЗаполнения.ТипДоговора;
Сумма = ДанныеЗаполнения.Сумма;
КонецЕсли;
МассивПараметров = Новый Массив();
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоСправочник = Ложь;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.ОплатаВВалюте = Ложь;
СтруктураПараметров.ИзменяетПланОплаты = ТипДоговора = Перечисления.ТипыДоговоровМеждуОрганизациями.КупляПродажа И Сумма <> 0;
СтруктураПараметров.Дата = "Объект.Дата";
СтруктураПараметров.ВалютаДокумента = "";
СтруктураПараметров.СуммаДокумента = "";
СтруктураПараметров.Партнер = Справочники.Партнеры.НашеПредприятие;
СтруктураПараметров.Контрагент = "Объект.ОрганизацияПолучатель";
СтруктураПараметров.Договор = "Объект.Ссылка";
СтруктураПараметров.ПорядокРасчетов = "";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.Менеджер = "";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.Номер";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.Дата";
МассивПараметров.Добавить(СтруктураПараметров);
Если ТипДоговора = Перечисления.ТипыДоговоровМеждуОрганизациями.Комиссионный Тогда
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоСправочник = Ложь;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ИзменяетПланОплаты = Ложь;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
СтруктураПараметров.ОплатаВВалюте = Ложь;
СтруктураПараметров.Дата = "Объект.Дата";
СтруктураПараметров.ВалютаДокумента = "";
СтруктураПараметров.СуммаДокумента = "";
СтруктураПараметров.Партнер = Справочники.Партнеры.НашеПредприятие;
СтруктураПараметров.Контрагент = "Объект.ОрганизацияПолучатель";
СтруктураПараметров.Договор = "Объект.Ссылка";
СтруктураПараметров.ПорядокРасчетов = "";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.Менеджер = "";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.Номер";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.Дата";
МассивПараметров.Добавить(СтруктураПараметров);
КонецЕсли;
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоСправочник = Ложь;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
СтруктураПараметров.ИзменяетПланОплаты = ТипДоговора = Перечисления.ТипыДоговоровМеждуОрганизациями.КупляПродажа И Сумма <> 0;
СтруктураПараметров.Дата = "Объект.Дата";
СтруктураПараметров.ВалютаДокумента = "";
СтруктураПараметров.СуммаДокумента = "";
СтруктураПараметров.Организация = "Объект.ОрганизацияПолучатель";
СтруктураПараметров.Контрагент = "Объект.Организация";
СтруктураПараметров.Партнер = Справочники.Партнеры.НашеПредприятие;
СтруктураПараметров.Договор = "Объект.Ссылка";
СтруктураПараметров.ПорядокРасчетов = "";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.ОплатаВВалюте = Ложь;
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.ГруппаФинансовогоУчета = "";
СтруктураПараметров.Менеджер = "";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.Номер";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.Дата";
МассивПараметров.Добавить(СтруктураПараметров);
Если ТипДоговора = Перечисления.ТипыДоговоровМеждуОрганизациями.Комиссионный Тогда
СтруктураПараметров = ВзаиморасчетыСервер.ПараметрыМеханизма();
СтруктураПараметров.ЭтоСправочник = Ложь;
СтруктураПараметров.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
СтруктураПараметров.ИзменяетПланОплаты = Ложь;
СтруктураПараметров.ИзменяетПланОтгрузкиПоставки = Ложь;
СтруктураПараметров.Дата = "Объект.Дата";
СтруктураПараметров.ВалютаДокумента = "";
СтруктураПараметров.СуммаДокумента = "";
СтруктураПараметров.Организация = "Объект.ОрганизацияПолучатель";
СтруктураПараметров.Контрагент = "Объект.Организация";
СтруктураПараметров.Партнер = Справочники.Партнеры.НашеПредприятие;
СтруктураПараметров.Договор = "Объект.Ссылка";
СтруктураПараметров.ПорядокРасчетов = "";
СтруктураПараметров.Соглашение = "";
СтруктураПараметров.ОплатаВВалюте = Ложь;
СтруктураПараметров.БанковскийСчетОрганизации = "";
СтруктураПараметров.БанковскийСчетКонтрагента = "";
СтруктураПараметров.Касса = "";
СтруктураПараметров.ФормаОплаты = "";
СтруктураПараметров.ИдентификаторПлатежа = "";
СтруктураПараметров.Менеджер = "";
СтруктураПараметров.НомерВходящегоДокумента = "Объект.Номер";
СтруктураПараметров.ДатаВходящегоДокумента = "Объект.Дата";
МассивПараметров.Добавить(СтруктураПараметров);
КонецЕсли;
Возврат МассивПараметров;
КонецФункции
#КонецОбласти
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
КонецПроцедуры
#КонецОбласти
#КонецЕсли
#Область ОбработчикиСобытий
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
ВыбраннаяОперация = Неопределено;
Если Параметры.Свойство("Ключ") И ЗначениеЗаполнено(Параметры.Ключ) Тогда
ВыбраннаяОперация = Параметры.Ключ.ХозяйственнаяОперация;
ИначеЕсли Параметры.Свойство("ЗначенияЗаполнения") Тогда
Параметры.ЗначенияЗаполнения.Свойство("ХозяйственнаяОперация", ВыбраннаяОперация);
ИначеЕсли Параметры.Свойство("ЗначениеКопирования") Тогда
ВыбраннаяОперация = ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта(Параметры.ЗначениеКопирования,"ХозяйственнаяОперация");
ИначеЕсли Параметры.Свойство("Основание") Тогда
ВыбраннаяОперация = ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта(Параметры.Основание,"ХозяйственнаяОперация");
ИначеЕсли Параметры.Свойство("ОтборПоТипамОпераций") И Параметры.ОтборПоТипамОпераций.Количество() = 1 Тогда
ВыбраннаяОперация = Параметры.ОтборПоТипамОпераций[0].Значение;
ЗначенияЗаполнения = Новый Структура;
ЗначенияЗаполнения.Вставить("ХозяйственнаяОперация", ВыбраннаяОперация);
Параметры.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения);
Если Параметры.Свойство("Организация") Тогда
ЗначенияЗаполнения.Вставить("Организация", Параметры.Организация);
КонецЕсли;
Если Параметры.Свойство("ОтражатьВОперативномУчете") Тогда
ЗначенияЗаполнения.Вставить("ОтражатьВОперативномУчете", Параметры.ОтражатьВОперативномУчете);
КонецЕсли;
Если Параметры.Свойство("ОтражатьСебестоимость") Тогда
ЗначенияЗаполнения.Вставить("ОтражатьСебестоимость", Параметры.ОтражатьСебестоимость);
КонецЕсли;
Если Параметры.Свойство("ОтражатьВБУиНУ") Тогда
ЗначенияЗаполнения.Вставить("ОтражатьВБУиНУ", Параметры.ОтражатьВБУиНУ);
КонецЕсли;
Если Параметры.Свойство("ОтражатьВУУ") Тогда
ЗначенияЗаполнения.Вставить("ОтражатьВУУ", Параметры.ОтражатьВУУ);
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ВыбраннаяОперация) Тогда
СтандартнаяОбработка = Ложь;
СоответствиеТиповОперацийФормам = Новый Соответствие;
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковВАвтономныхКассахККМКОформлениюОтчетовОРозничныхПродажах"), "ФормаКассы");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковВАвтономныхКассахККМПоРозничнойВыручке"), "ФормаКассы");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковВКассах"), "ФормаКассы");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов"), "ФормаРасчетыСПартнерами");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам"), "ФормаРасчетыСПартнерами");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПодотчетников"), "ФормаРасчетыСПодотчетнымиЛицами");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПерерасходовПодотчетныхСредств"), "ФормаРасчетыСПодотчетнымиЛицами");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковНаБанковскихСчетах"), "ФормаБанковскиеСчета");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковАвансовКлиентов"), "ФормаРасчетыСПартнерами");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам"), "ФормаРасчетыСПартнерами");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам"), "ФормаРасчетыМеждуОрганизациями");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям"), "ФормаРасчетыМеждуОрганизациями");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковДенежныхСредствКПоступлениюОтЭквайера"), "ФормаРасчетыПоЭквайрингу");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПереданнойКлиентам"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПрочихАктивовПассивов"), "ФормаПрочиеАктивыПассивы");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПодарочныхСертификатов"), "ФормаПодарочныеСертификаты");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПоДоговорамКредитовИДепозитов"), "ФормаРасчетыПоДоговорамКредитовИДепозитов");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковТМЦВЭксплуатации"), "ФормаТМЦВЭксплуатации");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство"), "ФормаТовары");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковПрочихРасходов"), "ФормаПрочиеРасходы");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковФинансовогоРезультатаЗаПрошлыеПериоды"), "ФормаФинансовыйРезультат");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковОптовыхПродажЗаПрошлыеПериоды"), "ФормаОптовыеПродажи");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковРозничныхПродажЗаПрошлыеПериоды"), "ФормаРозничныеПродажи");
СоответствиеТиповОперацийФормам.Вставить(ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ВводОстатковНДСПоПриобретеннымЦенностям"), "ФормаНДСПредъявленный");
ВыбраннаяФорма = СоответствиеТиповОперацийФормам[ВыбраннаяОперация];
КонецЕсли;
Если Параметры.Свойство("ЗначениеКопирования")
И ЗначениеЗаполнено(Параметры.ЗначениеКопирования)
И ЗначениеЗаполнено(ВыбраннаяОперация) Тогда
ПараметрыКопирования = ВводОстатковВызовСервера.ПолучитьПараметрыКопированияДокумента(ВыбраннаяОперация);
ТекстИсключения = "";
Если ПараметрыКопирования.НовыйДокументВводаОстатковСтрокой = "Документ.ВводОстатков" Тогда
ТекстИсключения = НСтр("ru = 'Копирование документов %ВыбраннаяОперация% при использовании партионного учета версии 2.1 запрещено'");
КонецЕсли;
Если ПараметрыКопирования.ХозяйственныеОперацииДоступныеДляВвода.Найти(ВыбраннаяОперация) = Неопределено Тогда
ТекстИсключения = НСтр("ru = 'Копирование документов %ВыбраннаяОперация% запрещено'");
КонецЕсли;
Если ЗначениеЗаполнено(ТекстИсключения) Тогда
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ВыбраннаяОперация%", ВыбраннаяОперация);
ВызватьИсключение ТекстИсключения;
Иначе
Параметры.Вставить("ДокументВводаОстатковСтрокой", ПараметрыКопирования.НовыйДокументВводаОстатковСтрокой);
ВыбраннаяФорма = "ФормаОткрытияНовогоВводаОстатков";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Ссылка");
Поля.Добавить("Номер");
Поля.Добавить("Дата");
Поля.Добавить("ХозяйственнаяОперация");
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Данные.Ссылка <> Неопределено Тогда
Представление =
ВводОстатковВызовСервера.ЗаголовокДокументаВводОстатковПоХозяйственнойОперации(Данные.Ссылка, Данные.Номер, Данные.Дата, Данные.ХозяйственнаяОперация);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
#Область Проведение
Функция ПараметрыВыбораСтатейИАналитик(ХозяйственнаяОперация) Экспорт
ПараметрыВыбораСтатейИАналитик = Новый Массив;
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПрочихАктивовПассивов Тогда
#Область ПрочиеАктивыПассивы
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ПрочиеАктивыПассивы";
ПараметрыВыбора.Статья = "Статья";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиАктивовПассивов = Истина;
ПараметрыВыбора.АналитикаАктивовПассивов = "Аналитика";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ПрочиеАктивыПассивыСтатья");
ПараметрыВыбора.ЭлементыФормы.АналитикаАктивовПассивов.Добавить("ПрочиеАктивыПассивыАналитика");
ПараметрыВыбораСтатейИАналитик.Добавить(ПараметрыВыбора);
#КонецОбласти
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТМЦВЭксплуатации Тогда
#Область ТМЦВЭксплуатации
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ТМЦВЭксплуатации";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ТМЦВЭксплуатацииСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ТМЦВЭксплуатацииАналитикаРасходов");
ПараметрыВыбораСтатейИАналитик.Добавить(ПараметрыВыбора);
#КонецОбласти
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПрочихРасходов Тогда
#Область ПрочиеРасходы
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ПрочиеРасходы";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Истина;
ПараметрыВыбора.АналитикаРасходов = "АналитикаРасходов";
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ПрочиеРасходыСтатьяРасходов");
ПараметрыВыбора.ЭлементыФормы.АналитикаРасходов.Добавить("ПрочиеРасходыАналитикаРасходов");
ПараметрыВыбораСтатейИАналитик.Добавить(ПараметрыВыбора);
#КонецОбласти
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковФинансовогоРезультатаЗаПрошлыеПериоды Тогда
#Область ФинансовыйРезультатРасходы
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ФинансовыйРезультатРасходы";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Ложь;
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ФинансовыйРезультатРасходыСтатьяРасходов");
ПараметрыВыбораСтатейИАналитик.Добавить(ПараметрыВыбора);
#КонецОбласти
#Область ФинансовыйРезультатДоходы
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.ФинансовыйРезультатДоходы";
ПараметрыВыбора.Статья = "СтатьяДоходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = Ложь;
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("ФинансовыйРезультатДоходыСтатьяДоходов");
ПараметрыВыбораСтатейИАналитик.Добавить(ПараметрыВыбора);
#КонецОбласти
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПрочихРасходовУСН
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасходовУСНПоМатериалам
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасходовУСНПоТоварам Тогда
#Область РасходыПриУСН
ПараметрыВыбора = ДоходыИРасходыСервер.ПараметрыВыбораСтатьиИАналитики();
ПараметрыВыбора.ПутьКДанным = "Объект.РасходыПриУСН";
ПараметрыВыбора.Статья = "СтатьяРасходов";
ПараметрыВыбора.ДоступностьПоОперации = Неопределено;
ПараметрыВыбора.ВыборСтатьиРасходов = (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПрочихРасходовУСН);
ПараметрыВыбора.ЭлементыФормы.Статья.Добавить("РасходыПриУСНПрочиеРасходыСтатьяРасходов");
ПараметрыВыбораСтатейИАналитик.Добавить(ПараметрыВыбора);
#КонецОбласти
КонецЕсли;
Возврат ПараметрыВыбораСтатейИАналитик;
КонецФункции
Функция ДополнительныеИсточникиДанныхДляДвижений(ИмяРегистра) Экспорт
ИсточникиДанных = Новый Соответствие;
Возврат ИсточникиДанных;
КонецФункции
Функция АдаптированныйТекстЗапросаДвиженийПоРегистру(ИмяРегистра) Экспорт
Запрос = Новый Запрос;
ТекстыЗапроса = Новый СписокЗначений();
ПолноеИмяДокумента = "Документ.ВводОстатков";
ВЗапросеЕстьИсточник = Ложь;
ЗначенияПараметров = Новый Структура;
ЗначенияПараметров.Вставить("ИдентификаторМетаданных", ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Документы.ВводОстатков));
ПереопределениеРасчетаПараметров = Новый Структура;
Если ИмяРегистра = "ТоварыВЯчейках" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаТоварыВЯчейках(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ТаблицаТовары";
ИначеЕсли ИмяРегистра = "РаспределениеЗапасовДвижения" Тогда
ТекстыЗапроса = Новый СписокЗначений();
СинонимТаблицыДокумента = "ТабЧасть";
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, ИмяРегистра);
ТекстЗапроса = СтрСоединить(ТекстыЗапроса.ВыгрузитьЗначения(), ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
ИначеЕсли ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, ИмяРегистра);
СинонимТаблицыДокумента = "ДанныеДокумента";
ВЗапросеЕстьИсточник = Истина;
Иначе
ТекстИсключения = НСтр("ru = 'В документе %ПолноеИмяДокумента% не реализована адаптация текста запроса формирования движений по регистру %ИмяРегистра%.'");
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ПолноеИмяДокумента%", ПолноеИмяДокумента);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "%ИмяРегистра%", ИмяРегистра);
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если ИмяРегистра = "РеестрДокументов" Тогда
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросПроведенияПоНезависимомуРегистру(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ВЗапросеЕстьИсточник,
ПереопределениеРасчетаПараметров);
Иначе
ТекстЗапроса = ОбновлениеИнформационнойБазыУТ.АдаптироватьЗапросМеханизмаПроведения(
ТекстЗапроса,
ПолноеИмяДокумента,
СинонимТаблицыДокумента,
ПереопределениеРасчетаПараметров);
КонецЕсли;
Результат = ОбновлениеИнформационнойБазыУТ.РезультатАдаптацииЗапроса();
Результат.ТекстЗапроса = ТекстЗапроса;
Результат.ЗначенияПараметров = ЗначенияПараметров;
Возврат Результат;
КонецФункции
Процедура ЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента) Экспорт
МеханизмыДокумента.Добавить("Взаиморасчеты");
МеханизмыДокумента.Добавить("Обеспечение");
МеханизмыДокумента.Добавить("ОперативныйУчетТоваровОрганизаций");
МеханизмыДокумента.Добавить("ПередачаНаОтветхранение");
МеханизмыДокумента.Добавить("ПриемНаОтветхранение");
МеханизмыДокумента.Добавить("РасчетыСПодотчетниками");
МеханизмыДокумента.Добавить("СебестоимостьИПартионныйУчет");
МеханизмыДокумента.Добавить("СерийныйУчет");
МеханизмыДокумента.Добавить("АдресныйСклад");
МеханизмыДокумента.Добавить("УчетДенежныхСредств");
МеханизмыДокумента.Добавить("УчетДоходовРасходов");
МеханизмыДокумента.Добавить("УчетНДС");
МеханизмыДокумента.Добавить("УчетПрочихАктивовПассивов");
МеханизмыДокумента.Добавить("УчетРабот");
МеханизмыДокумента.Добавить("ФинансовыеИнструменты");
МеханизмыДокумента.Добавить("ФинансовыйРезультат");
МеханизмыДокумента.Добавить("РеестрДокументов");
МеханизмыДокумента.Добавить("ИсправлениеДокументов");
ВводОстатковЛокализация.ВводОстатковЗарегистрироватьУчетныеМеханизмы(МеханизмыДокумента);
КонецПроцедуры
Процедура ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка) Экспорт
Если Не ЗначениеЗаполнено(ДокументСсылка) Тогда
Возврат;
КонецЕсли;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Запрос.Текст ="ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.ОрганизацияПолучатель КАК ОрганизацияПолучатель,
| ДанныеДокумента.Подразделение КАК Подразделение,
| ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров КАК ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.Склад КАК Склад,
| ДанныеДокумента.Валюта КАК Валюта,
| ДанныеДокумента.Помещение КАК Помещение,
| ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| ДанныеДокумента.НалогообложениеНДС КАК НалогообложениеНДС,
| ДанныеДокумента.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ДанныеДокумента.Партия КАК Партия,
| ЕСТЬNULL(ДанныеДокумента.Партия.ТипПервичногоДокумента, ЗНАЧЕНИЕ(Перечисление.ТипыПервичныхДокументов.ПустаяСсылка)) = ЗНАЧЕНИЕ(Перечисление.ТипыПервичныхДокументов.ВнутренняяНакладная) КАК ВнутренняяНакладнаяВПартии,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.СоглашениеСКомиссионером КАК СоглашениеСКомиссионером,
| ДанныеДокумента.СоглашениеСКомитентом КАК СоглашениеСКомитентом,
| ДанныеДокумента.СоглашениеСКлиентом КАК СоглашениеСКлиентом,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.СоглашениеСКомитентом КАК Соглашение,
| ЛОЖЬ КАК ОбособленныйУчетТоваровПоСделке,
| ДанныеДокумента.ЗаказПереработчику КАК ЗаказПереработчику,
| ДанныеДокумента.ЗонаПриемки КАК ЗонаПриемки,
| ДанныеДокумента.Менеджер КАК Менеджер,
| ДанныеДокумента.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
| ДанныеДокумента.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокумента.ОтражатьВОперативномУчете КАК ОтражатьВОперативномУчете,
| ДанныеДокумента.ОтражатьСебестоимость КАК ОтражатьСебестоимость,
| ДанныеДокумента.ОтражатьВБУиНУ КАК ОтражатьВБУиНУ,
| ДанныеДокумента.ОтражатьВУУ КАК ОтражатьВУУ,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.ПометкаУдаления КАК ПометкаУдаления,
| ДанныеДокумента.ВводОстатков22 КАК ВводОстатков22,
| ДанныеДокумента.Автор КАК Автор,
| ДанныеДокумента.Ответственный КАК Ответственный,
| ДанныеДокумента.Исправление КАК Исправление,
| ДанныеДокумента.СторнируемыйДокумент КАК СторнируемыйДокумент,
| ДанныеДокумента.ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиТовары.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиКассы.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиБанковскиеСчета.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиКассыККМ.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыМеждуОрганизациями.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыСПартнерами.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыСПодотчетниками.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыПоЭквайрингу.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиПрочиеАктивыПассивы.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиПодарочныеСертификаты.СуммаВВалютеСертификата, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыПоФинансовымИнструментам.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиТМЦВЭксплуатации.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиПрочиеРасходы.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиФинансовыйРезультатРасходы.СуммаРасходов, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиФинансовыйРезультатДоходы.СуммаДоходов, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиОптовыеПродажи.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРозничныеПродажи.Сумма, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиНДСПредъявленный.СуммаБезНДС, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиНДСПредъявленный.НДС, 0) + ЕСТЬNULL(ДанныеТабличнойЧастиРасходыПриУСН.СуммаРасходов, 0)) КАК Сумма,
| ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)) КАК Комментарий
|ИЗ
| Документ.ВводОстатков КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.Товары КАК ДанныеТабличнойЧастиТовары
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиТовары.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.Кассы КАК ДанныеТабличнойЧастиКассы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиКассы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.БанковскиеСчета КАК ДанныеТабличнойЧастиБанковскиеСчета
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиБанковскиеСчета.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.КассыККМ КАК ДанныеТабличнойЧастиКассыККМ
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиКассыККМ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ДанныеТабличнойЧастиРасчетыМеждуОрганизациями
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыМеждуОрганизациями.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыСПартнерами КАК ДанныеТабличнойЧастиРасчетыСПартнерами
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыСПартнерами.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыСПодотчетниками КАК ДанныеТабличнойЧастиРасчетыСПодотчетниками
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыСПодотчетниками.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыПоЭквайрингу КАК ДанныеТабличнойЧастиРасчетыПоЭквайрингу
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыПоЭквайрингу.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ПрочиеАктивыПассивы КАК ДанныеТабличнойЧастиПрочиеАктивыПассивы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиПрочиеАктивыПассивы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ПодарочныеСертификаты КАК ДанныеТабличнойЧастиПодарочныеСертификаты
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиПодарочныеСертификаты.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК ДанныеТабличнойЧастиРасчетыПоФинансовымИнструментам
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыПоФинансовымИнструментам.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ТМЦВЭксплуатации КАК ДанныеТабличнойЧастиТМЦВЭксплуатации
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиТМЦВЭксплуатации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ПрочиеРасходы КАК ДанныеТабличнойЧастиПрочиеРасходы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиПрочиеРасходы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ФинансовыйРезультатРасходы КАК ДанныеТабличнойЧастиФинансовыйРезультатРасходы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиФинансовыйРезультатРасходы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ФинансовыйРезультатДоходы КАК ДанныеТабличнойЧастиФинансовыйРезультатДоходы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиФинансовыйРезультатДоходы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ОптовыеПродажи КАК ДанныеТабличнойЧастиОптовыеПродажи
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиОптовыеПродажи.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РозничныеПродажи КАК ДанныеТабличнойЧастиРозничныеПродажи
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРозничныеПродажи.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.НДСПредъявленный КАК ДанныеТабличнойЧастиНДСПредъявленный
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиНДСПредъявленный.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасходыПриУСН КАК ДанныеТабличнойЧастиРасходыПриУСН
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасходыПриУСН.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Номер,
| ДанныеДокумента.Ссылка,
| ДанныеДокумента.Организация,
| ДанныеДокумента.ОрганизацияПолучатель,
| ДанныеДокумента.Подразделение,
| ДанныеДокумента.Подразделение.ВариантОбособленногоУчетаТоваров,
| ДанныеДокумента.Склад,
| ДанныеДокумента.Валюта,
| ДанныеДокумента.Помещение,
| ДанныеДокумента.ХозяйственнаяОперация,
| ДанныеДокумента.НалогообложениеНДС,
| ДанныеДокумента.ВидДеятельностиНДС,
| ДанныеДокумента.Партия,
| ЕСТЬNULL(ДанныеДокумента.Партия.ТипПервичногоДокумента, ЗНАЧЕНИЕ(Перечисление.ТипыПервичныхДокументов.ПустаяСсылка)) = ЗНАЧЕНИЕ(Перечисление.ТипыПервичныхДокументов.ВнутренняяНакладная),
| ДанныеДокумента.Партнер,
| ДанныеДокумента.Контрагент,
| ДанныеДокумента.Договор,
| ДанныеДокумента.СоглашениеСКомиссионером,
| ДанныеДокумента.СоглашениеСКомитентом,
| ДанныеДокумента.СоглашениеСКлиентом,
| ДанныеДокумента.ЗаказПереработчику,
| ДанныеДокумента.ЗонаПриемки,
| ДанныеДокумента.Менеджер,
| ДанныеДокумента.ЦенаВключаетНДС,
| ДанныеДокумента.НаправлениеДеятельности,
| ДанныеДокумента.ОтражатьВОперативномУчете,
| ДанныеДокумента.ОтражатьСебестоимость,
| ДанныеДокумента.ОтражатьВБУиНУ,
| ДанныеДокумента.ОтражатьВУУ,
| ДанныеДокумента.Проведен,
| ДанныеДокумента.ПометкаУдаления,
| ДанныеДокумента.ВводОстатков22,
| ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)),
| ДанныеДокумента.Партнер,
| ДанныеДокумента.СоглашениеСКомитентом,
| ДанныеДокумента.Автор,
| ДанныеДокумента.Ответственный,
| ДанныеДокумента.Исправление,
| ДанныеДокумента.СторнируемыйДокумент,
| ДанныеДокумента.ИсправляемыйДокумент";
Реквизиты = Запрос.Выполнить().Выбрать();
Реквизиты.Следующий();
Запрос.УстановитьПараметр("Период", Реквизиты.Период);
Запрос.УстановитьПараметр("Номер", Реквизиты.Номер);
Запрос.УстановитьПараметр("Проведен", Реквизиты.Проведен);
Если Реквизиты.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию
Или Реквизиты.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПереданнойКлиентам Тогда
Запрос.УстановитьПараметр("Склад" , Реквизиты.Партнер);
Иначе
Запрос.УстановитьПараметр("Склад" , Реквизиты.Склад);
КонецЕсли;
СписокТиповЗаказов = Новый СписокЗначений;
СписокТиповЗаказов.Добавить(Тип("СправочникСсылка.ДоговорыКонтрагентов"));
СписокТиповЗаказов.Добавить(Тип("СправочникСсылка.ДоговорыМеждуОрганизациями"));
СписокТиповЗаказов.Добавить(Тип("ДокументСсылка.ЗаказКлиента"));
СписокТиповЗаказов.Добавить(Тип("ДокументСсылка.ЗаказПоставщику"));
СписокТиповЗаказов.Добавить(Тип("ДокументСсылка.ЗаявкаНаВозвратТоваровОтКлиента"));
Запрос.УстановитьПараметр("СписокТиповЗаказов", СписокТиповЗаказов);
Запрос.УстановитьПараметр("Помещение", Реквизиты.Помещение);
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("ОрганизацияПолучатель", Реквизиты.ОрганизацияПолучатель);
Запрос.УстановитьПараметр("Подразделение", Реквизиты.Подразделение);
Запрос.УстановитьПараметр("ХозяйственнаяОперация", Реквизиты.ХозяйственнаяОперация);
Запрос.УстановитьПараметр("Партнер", Реквизиты.Партнер);
Запрос.УстановитьПараметр("Контрагент", Реквизиты.Контрагент);
Запрос.УстановитьПараметр("Договор", Реквизиты.Договор);
Запрос.УстановитьПараметр("СоглашениеСКлиентом", Реквизиты.СоглашениеСКлиентом);
Запрос.УстановитьПараметр("СоглашениеСКомиссионером", Реквизиты.СоглашениеСКомиссионером);
Запрос.УстановитьПараметр("НалогообложениеНДС", Реквизиты.НалогообложениеНДС);
Запрос.УстановитьПараметр("ВидДеятельностиНДС", Реквизиты.ВидДеятельностиНДС);
Запрос.УстановитьПараметр("ИспользоватьУчетПрочихДоходовРасходов", ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихДоходовРасходов"));
Запрос.УстановитьПараметр("Менеджер", Реквизиты.Менеджер);
Запрос.УстановитьПараметр("ВалютаРегламентированногоУчета", ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Реквизиты.Организация));
Запрос.УстановитьПараметр("ВалютаУправленческогоУчета", Константы.ВалютаУправленческогоУчета.Получить());
Запрос.УстановитьПараметр("ЗонаПриемки", Реквизиты.ЗонаПриемки);
Запрос.УстановитьПараметр("ЗаказПереработчику", Реквизиты.ЗаказПереработчику);
Запрос.УстановитьПараметр("ЦенаВключаетНДС", Реквизиты.ЦенаВключаетНДС);
Запрос.УстановитьПараметр("НаправлениеДеятельности", Реквизиты.НаправлениеДеятельности);
Запрос.УстановитьПараметр("ОтражатьВОперативномУчете", Реквизиты.ОтражатьВОперативномУчете);
Запрос.УстановитьПараметр("ОтражатьВБУиНУ", Реквизиты.ОтражатьВБУиНУ);
Запрос.УстановитьПараметр("ОтражатьВУУ", Реквизиты.ОтражатьВУУ);
Запрос.УстановитьПараметр("ПустоеНазначение", Справочники.Назначения.ПустаяСсылка());
Запрос.УстановитьПараметр("Партия", Реквизиты.Партия);
Запрос.УстановитьПараметр("ВнутренняяНакладнаяВПартии", Реквизиты.ВнутренняяНакладнаяВПартии);
Запрос.УстановитьПараметр("ВводОстатков22", Реквизиты.ВводОстатков22);
Запрос.УстановитьПараметр("Ответственный", Реквизиты.Ответственный);
Запрос.УстановитьПараметр("Комментарий", Реквизиты.Комментарий);
Запрос.УстановитьПараметр("ПометкаУдаления", Реквизиты.ПометкаУдаления);
Запрос.УстановитьПараметр("Валюта", Реквизиты.Валюта);
Запрос.УстановитьПараметр("Автор", Реквизиты.Автор);
Запрос.УстановитьПараметр("Исправление", Реквизиты.Исправление);
Запрос.УстановитьПараметр("СторнируемыйДокумент", Реквизиты.СторнируемыйДокумент);
Запрос.УстановитьПараметр("ИсправляемыйДокумент", Реквизиты.ИсправляемыйДокумент);
Запрос.УстановитьПараметр("ИдентификаторМетаданных",
ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.Документы.ВводОстатков));
Запрос.УстановитьПараметр("ИдентификаторНеиспользуемойФинЗаписи",
ПроведениеДокументов.ИдентификаторНеиспользуемойФинЗаписи());
Запрос.УстановитьПараметр("ОтражатьСебестоимость",
Реквизиты.ОтражатьСебестоимость
И РасчетСебестоимостиПовтИсп.ФормироватьДвиженияПоРегистрамСебестоимости(НачалоМесяца(Реквизиты.Период), Истина));
РасчетСебестоимостиПрикладныеАлгоритмы.ЗаполнитьПараметрыИнициализации(Запрос, Реквизиты);
УчетПрослеживаемыхТоваровЛокализация.УстановитьПараметрыИспользованияУчетаПрослеживаемыхТоваров(Запрос);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиУчетаНоменклатурыИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Ключи.Номенклатура КАК Номенклатура,
| Ключи.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Ключи.Серия КАК Серия,
| Ключи.Склад КАК Склад
|ИЗ
| (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Товары.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| Товары.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад
| ИЗ
| Документ.ВводОстатков.Товары КАК Товары
| ГДЕ
| Не &УчитыватьСебестоимостьТоваровПоНазначениям
| И Товары.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Продажи.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Продажи.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Продажи.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| Продажи.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад
| ИЗ
| Документ.ВводОстатков.ОптовыеПродажи КАК Продажи
| ГДЕ
| Не &УчитыватьСебестоимостьТоваровПоНазначениям
| И Продажи.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Продажи.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Продажи.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| &ПустоеНазначение КАК Назначение,
| Продажи.АналитикаУчетаНоменклатуры.Серия КАК Серия,
| Продажи.АналитикаУчетаНоменклатуры.МестоХранения КАК Склад
| ИЗ
| Документ.ВводОстатков.РозничныеПродажи КАК Продажи
| ГДЕ
| Не &УчитыватьСебестоимостьТоваровПоНазначениям
| И Продажи.Ссылка = &Ссылка
| ) КАК Ключи
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК Аналитика
| ПО Ключи.Номенклатура = Аналитика.Номенклатура
| И Ключи.Характеристика = Аналитика.Характеристика
| И Ключи.Серия = Аналитика.Серия
| И Ключи.Склад = Аналитика.МестоХранения
| И &ПустоеНазначение = Аналитика.Назначение
|ГДЕ
| Аналитика.КлючАналитики ЕСТЬ NULL
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПереданнойКлиентам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковОптовыхПродажЗаПрошлыеПериоды),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРозничныхПродажЗаПрошлыеПериоды)
| )
|");
ЗапросАналитик.УстановитьПараметр("Ссылка", Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("ПустоеНазначение", Запрос.Параметры.ПустоеНазначение);
ЗапросАналитик.УстановитьПараметр("УчитыватьСебестоимостьТоваровПоНазначениям", Запрос.Параметры.УчитыватьСебестоимостьТоваровПоНазначениям);
ЗапросАналитик.УстановитьПараметр("ХозяйственнаяОперация", Запрос.Параметры.ХозяйственнаяОперация);
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаНоменклатуры.СоздатьКлючАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиУчетаНоменклатурыИнициализированы", Истина);
КонецПроцедуры
Процедура ИнициализироватьКлючиАналитикиПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("КлючиАналитикиПоПартнерамИнициализированы") Тогда
Возврат;
КонецЕсли;
ЗапросАналитик = Новый Запрос;
ЗапросАналитик.УстановитьПараметр("Ссылка" , Запрос.Параметры.Ссылка);
ЗапросАналитик.УстановитьПараметр("Организация", Запрос.Параметры.Организация);
ЗапросАналитик.УстановитьПараметр("ХозяйственнаяОперация", Запрос.Параметры.ХозяйственнаяОперация);
ЗапросАналитик.УстановитьПараметр("ОтражатьВОперативномУчете", Запрос.Параметры.ОтражатьВОперативномУчете);
ЗапросАналитик.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
ЗапросАналитик.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасчетыСПартнерами.ОбъектРасчетов КАК ОбъектРасчетов,
| ВЫБОР КОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Организация.ГоловнаяОрганизация = &Организация ТОГДА
| ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Организация
| ИНАЧЕ
| &Организация
| КОНЕЦ КАК Организация
|
|ПОМЕСТИТЬ ВтТаблицаОбъектовРасчетов
|ИЗ
| Документ.ВводОстатков.РасчетыСПартнерами КАК ТаблицаРасчетыСПартнерами
|
|ГДЕ
| ТаблицаРасчетыСПартнерами.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовКлиентов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам)
| )
|
|ИНДЕКСИРОВАТЬ ПО
| ОбъектРасчетов
|;
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаОбъектовРасчетов.Организация КАК Организация,
| ТаблицаРасчетыСПартнерами.Партнер КАК Партнер,
| ТаблицаРасчетыСПартнерами.Контрагент КАК Контрагент,
| ВЫБОР
| КОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыКонтрагентов
| ИЛИ ТаблицаРасчетыСПартнерами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов
| КОГДА ТаблицаРасчетыСПартнерами.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ТОГДА ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка))
| КОНЕЦ КАК Договор,
| ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности
|
|ИЗ
| Документ.ВводОстатков.РасчетыСПартнерами КАК ТаблицаРасчетыСПартнерами
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВтТаблицаОбъектовРасчетов КАК ТаблицаОбъектовРасчетов
| ПО
| ТаблицаРасчетыСПартнерами.ОбъектРасчетов = ТаблицаОбъектовРасчетов.ОбъектРасчетов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО
| ТаблицаОбъектовРасчетов.Организация = РегистрАналитикаУчетаПоПартнерам.Организация
| И ТаблицаРасчетыСПартнерами.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И ТаблицаРасчетыСПартнерами.Контрагент = РегистрАналитикаУчетаПоПартнерам.Контрагент
| И (
| ВЫБОР
| КОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыКонтрагентов
| ИЛИ ТаблицаРасчетыСПартнерами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов
| КОГДА ТаблицаРасчетыСПартнерами.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ТОГДА ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка))
| КОНЕЦ) = РегистрАналитикаУчетаПоПартнерам.Договор
| И ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСПартнерами.Ссылка = &Ссылка
| И РегистрАналитикаУчетаПоПартнерам.КлючАналитики ЕСТЬ NULL
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовКлиентов),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Организация,
| РасчетыПоФинансовымИнструментам.Партнер,
| РасчетыПоФинансовымИнструментам.Контрагент,
| ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка),
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ИЗ
| Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК РасчетыПоФинансовымИнструментам
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО &Организация = РегистрАналитикаУчетаПоПартнерам.Организация
| И РасчетыПоФинансовымИнструментам.Партнер = РегистрАналитикаУчетаПоПартнерам.Партнер
| И РасчетыПоФинансовымИнструментам.Контрагент = РегистрАналитикаУчетаПоПартнерам.Контрагент
| И ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) = РегистрАналитикаУчетаПоПартнерам.Договор
| И ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) = РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности
|ГДЕ
| РасчетыПоФинансовымИнструментам.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПоДоговорамКредитовИДепозитов)
| И РегистрАналитикаУчетаПоПартнерам.КлючАналитики ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Реквизиты.Организация КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| Реквизиты.ОрганизацияПолучатель КАК Контрагент,
| ВЫБОР КОГДА Расчеты.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями ТОГДА
| Расчеты.ОбъектРасчетов
| ИНАЧЕ
| ЕСТЬNULL(Расчеты.ОбъектРасчетовОтправитель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ КАК Договор,
| ЕСТЬNULL(Расчеты.ОбъектРасчетовОтправитель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК Расчеты
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ВводОстатков КАК Реквизиты
| ПО
| Реквизиты.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| Реквизиты.Организация = Аналитика.Организация
| И ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) = Аналитика.Партнер
| И Реквизиты.ОрганизацияПолучатель = Аналитика.Контрагент
| И (ВЫБОР КОГДА Расчеты.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями ТОГДА
| Расчеты.ОбъектРасчетов
| ИНАЧЕ
| ЕСТЬNULL(Расчеты.ОбъектРасчетовОтправитель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ) = Аналитика.Договор
| И ЕСТЬNULL(Расчеты.ОбъектРасчетовОтправитель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = Аналитика.НаправлениеДеятельности
|ГДЕ
| Расчеты.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Реквизиты.ОрганизацияПолучатель КАК Организация,
| ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
| Реквизиты.Организация КАК Контрагент,
| ВЫБОР КОГДА Расчеты.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями ТОГДА
| Расчеты.ОбъектРасчетов
| ИНАЧЕ
| ЕСТЬNULL(Расчеты.ОбъектРасчетовПолучатель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ КАК Договор,
| ЕСТЬNULL(Расчеты.ОбъектРасчетовПолучатель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК Расчеты
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ВводОстатков КАК Реквизиты
| ПО
| Реквизиты.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| Реквизиты.ОрганизацияПолучатель = Аналитика.Организация
| И ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) = Аналитика.Партнер
| И Реквизиты.Организация = Аналитика.Контрагент
| И (ВЫБОР КОГДА Расчеты.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями ТОГДА
| Расчеты.ОбъектРасчетов
| ИНАЧЕ
| ЕСТЬNULL(Расчеты.ОбъектРасчетовПолучатель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ) = Аналитика.Договор
| И ЕСТЬNULL(Расчеты.ОбъектРасчетовПолучатель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = Аналитика.НаправлениеДеятельности
|ГДЕ
| Расчеты.Ссылка = &Ссылка
| И Аналитика.КлючАналитики ЕСТЬ NULL
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям))
|";
Выборка = ЗапросАналитик.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(Выборка);
КонецЦикла;
Запрос.УстановитьПараметр("КлючиАналитикиПоПартнерамИнициализированы", Истина);
КонецПроцедуры
Функция ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтКурсыВалют";
ТекстЗапроса =
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Валюта,
| КурсыВалютСрезПоследних.КурсЧислитель / КурсыВалютСрезПоследних.КурсЗнаменатель КАК КоэффициентПересчета
|
|ПОМЕСТИТЬ ВтКурсыВалют
|ИЗ
| РегистрСведений.ОтносительныеКурсыВалют.СрезПоследних(
| &Период,
| Валюта В
| (ВЫБРАТЬ
| &ВалютаУправленческогоУчета
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| Кассы.ВалютаДенежныхСредств
| ИЗ
| Документ.ВводОстатков.Кассы КАК ВводОстатковКассы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Кассы КАК Кассы
| ПО ВводОстатковКассы.Касса = Кассы.Ссылка
| ГДЕ
| ВводОстатковКассы.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| КассыККМ.ВалютаДенежныхСредств
| ИЗ
| Документ.ВводОстатков.КассыККМ КАК ВводОстатковКассыККМ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КассыККМ КАК КассыККМ
| ПО ВводОстатковКассыККМ.КассаККМ = КассыККМ.Ссылка
| ГДЕ
| ВводОстатковКассыККМ.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| БанковскиеСчетаОрганизаций.ВалютаДенежныхСредств
| ИЗ
| Документ.ВводОстатков.БанковскиеСчета КАК ВводОстатковБанковскиеСчета
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчетаОрганизаций КАК БанковскиеСчетаОрганизаций
| ПО ВводОстатковБанковскиеСчета.БанковскийСчет = БанковскиеСчетаОрганизаций.Ссылка
| ГДЕ
| ВводОстатковБанковскиеСчета.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| БанковскиеСчетаОрганизаций.ВалютаДенежныхСредств
| ИЗ
| Документ.ВводОстатков.РасчетыПоЭквайрингу КАК ВводОстатковРасчетыПоЭквайрингу
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчетаОрганизаций КАК БанковскиеСчетаОрганизаций
| ПО ВводОстатковРасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет = БанковскиеСчетаОрганизаций.Ссылка
| ГДЕ
| ВводОстатковРасчетыПоЭквайрингу.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВводОстатковРасчетыСПартнерами.ВалютаВзаиморасчетов
| ИЗ
| Документ.ВводОстатков.РасчетыСПартнерами КАК ВводОстатковРасчетыСПартнерами
| ГДЕ
| ВводОстатковРасчетыСПартнерами.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВводОстатковРасчетыСПартнерами.ВалютаВзаиморасчетов
| ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ВводОстатковРасчетыСПартнерами
| ГДЕ
| ВводОстатковРасчетыСПартнерами.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВводОстатковРасчетыСПодотчетниками.Валюта
| ИЗ
| Документ.ВводОстатков.РасчетыСПодотчетниками КАК ВводОстатковРасчетыСПодотчетниками
| ГДЕ
| ВводОстатковРасчетыСПодотчетниками.Ссылка = &Ссылка
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВводОстатковКредитовДепозитовЗаймов.Договор.ВалютаВзаиморасчетов
| ИЗ
| Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК ВводОстатковКредитовДепозитовЗаймов
| ГДЕ
| ВводОстатковКредитовДепозитовЗаймов.Ссылка = &Ссылка
| ) И БазоваяВалюта = &ВалютаРегламентированногоУчета
| ) КАК КурсыВалютСрезПоследних";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДатыПоступленияТоваровОрганизаций";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПоступления,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД
|ИЗ
| ВтТовары КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ДатыПоступленияТоваровОрганизаций КАК ПоступленияТоваров
| ПО
| ТаблицаТовары.ВидЗапасов = ПоступленияТоваров.ВидЗапасов
| И ТаблицаТовары.Номенклатура = ПоступленияТоваров.Номенклатура
| И ТаблицаТовары.Характеристика = ПоступленияТоваров.Характеристика
| И ТаблицаТовары.Серия = ПоступленияТоваров.Серия
| И ТаблицаТовары.Назначение = ПоступленияТоваров.Назначение
| И ТаблицаТовары.НомерГТД = ПоступленияТоваров.НомерГТД
|ГДЕ
| (ПоступленияТоваров.ДатаПоступления ЕСТЬ NULL
| ИЛИ ПоступленияТоваров.ДатаПоступления < &Период)
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков))
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаТовары.ВидЗапасов,
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.НомерГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДатыПередачиТоваровНаКомиссию(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДатыПередачиТоваровНаКомиссию";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| &Период КАК ДатаПередачи,
| Товары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| Товары.ВидЗапасов КАК ВидЗапасов,
| Товары.НомерГТД КАК НомерГТД,
| &СоглашениеСКомиссионером КАК Соглашение,
| &Организация КАК Организация
|ИЗ
| ВтТовары КАК Товары
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ДатыПередачиТоваровНаКомиссию КАК ДатыПередачиТоваровНаКомиссию
| ПО
| Товары.ВидЗапасов = ДатыПередачиТоваровНаКомиссию.ВидЗапасов
| И Товары.АналитикаУчетаНоменклатуры = ДатыПередачиТоваровНаКомиссию.АналитикаУчетаНоменклатуры
| И Товары.НомерГТД = ДатыПередачиТоваровНаКомиссию.НомерГТД
| И ДатыПередачиТоваровНаКомиссию.Соглашение = &СоглашениеСКомиссионером
| И ДатыПередачиТоваровНаКомиссию.Организация = &Организация
|
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию)
| И &ОтражатьВОперативномУчете
| И (ДатыПередачиТоваровНаКомиссию.ДатаПередачи ЕСТЬ NULL
| ИЛИ ДатыПередачиТоваровНаКомиссию.ДатаПередачи < &Период)
|
|УПОРЯДОЧИТЬ ПО
| Товары.АналитикаУчетаНоменклатуры,
| Товары.НомерГТД";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыОрганизаций";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Склад КАК Склад,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ИСТИНА КАК Первичное
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков))
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваНаличные(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваНаличные";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаКассы.Касса КАК Касса,
| ТаблицаКассы.Сумма КАК Сумма,
| ТаблицаКассы.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА Кассы.ВалютаДенежныхСредств = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаКассы.Сумма
| ИНАЧЕ
| ТаблицаКассы.Сумма * ЕСТЬNULL(КурсыВалютКассы.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.Кассы КАК ТаблицаКассы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Кассы КАК Кассы
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютКассы
| ПО КурсыВалютКассы.Валюта = Кассы.ВалютаДенежныхСредств
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ПО ТаблицаКассы.Касса = Кассы.Ссылка
|ГДЕ
| ТаблицаКассы.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВКассах)
|
|УПОРЯДОЧИТЬ ПО
| ТаблицаКассы.НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваВКассахККМ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваВКассахККМ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаКассы.КассаККМ КАК КассаККМ,
| ТаблицаКассы.Сумма КАК Сумма,
| ТаблицаКассы.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА КассыККМ.ВалютаДенежныхСредств = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаКассы.Сумма
| ИНАЧЕ
| ТаблицаКассы.Сумма * ЕСТЬNULL(КурсыВалютКассы.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| ТаблицаКассы.НомерСтроки КАК НомерСтроки,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.КассыККМ КАК ТаблицаКассы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КассыККМ КАК КассыККМ
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютКассы
| ПО КурсыВалютКассы.Валюта = КассыККМ.ВалютаДенежныхСредств
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ПО ТаблицаКассы.КассаККМ = КассыККМ.Ссылка
|ГДЕ
| ТаблицаКассы.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВАвтономныхКассахККМПоРозничнойВыручке)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Организация,
| ТаблицаКассы.КассаККМ,
| ТаблицаКассы.Сумма,
| ТаблицаКассы.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА КассыККМ.ВалютаДенежныхСредств = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаКассы.Сумма
| ИНАЧЕ
| ТаблицаКассы.Сумма * ЕСТЬNULL(КурсыВалютКассы.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| ТаблицаКассы.НомерСтроки КАК НомерСтроки,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.КассыККМ КАК ТаблицаКассы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КассыККМ КАК КассыККМ
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютКассы
| ПО КурсыВалютКассы.Валюта = КассыККМ.ВалютаДенежныхСредств
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ПО ТаблицаКассы.КассаККМ = КассыККМ.Ссылка
|ГДЕ
| ТаблицаКассы.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВАвтономныхКассахККМКОформлениюОтчетовОРозничныхПродажах)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваБезналичные(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваБезналичные";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаБанковскиеСчета.БанковскийСчет КАК БанковскийСчет,
| ТаблицаБанковскиеСчета.Сумма КАК Сумма,
| ТаблицаБанковскиеСчета.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА БанковскиеСчета.ВалютаДенежныхСредств = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаБанковскиеСчета.Сумма
| ИНАЧЕ
| ТаблицаБанковскиеСчета.Сумма * ЕСТЬNULL(КурсыВалютСчета.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.БанковскиеСчета КАК ТаблицаБанковскиеСчета
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчетаОрганизаций КАК БанковскиеСчета
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютСчета
| ПО КурсыВалютСчета.Валюта = БанковскиеСчета.ВалютаДенежныхСредств
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ПО ТаблицаБанковскиеСчета.БанковскийСчет = БанковскиеСчета.Ссылка
|ГДЕ
| ТаблицаБанковскиеСчета.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковНаБанковскихСчетах)
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтРасчетыСПартнерами(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтРасчетыСПартнерами";
ИнициализироватьКлючиАналитикиПоПартнерам(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаРасчетыСПартнерами.НомерСтроки КАК НомерСтроки,
| ТаблицаРасчетыСПартнерами.ДатаПлатежа КАК ДатаПлатежа,
| ТаблицаРасчетыСПартнерами.ОбъектРасчетовОтправитель КАК ОбъектРасчетов,
| ТаблицаРасчетыСПартнерами.Сумма КАК Сумма,
| ТаблицаРасчетыСПартнерами.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасчетыСПартнерами.СуммаРегл КАК СуммаРегл,
| ТаблицаРасчетыСПартнерами.СуммаУпр КАК СуммаУпр,
| ЕСТЬNULL(Аналитика.КлючАналитики, Неопределено) КАК КлючАналитики,
| ТаблицаРасчетыСПартнерами.ДокументРасчетов КАК РасчетныйДокумент,
| ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ДокументРасчетов.Дата, &Период) КАК ДатаРасчетныйДокумент
|
|ПОМЕСТИТЬ ВтРасчетыСПартнерами
|ИЗ
| Документ.ВводОстатков.РасчетыСПартнерами КАК ТаблицаРасчетыСПартнерами
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВтТаблицаОбъектовРасчетов КАК ТаблицаОбъектовРасчетов
| ПО
| ТаблицаРасчетыСПартнерами.ОбъектРасчетов = ТаблицаОбъектовРасчетов.ОбъектРасчетов
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| ТаблицаОбъектовРасчетов.Организация = Аналитика.Организация
| И ТаблицаРасчетыСПартнерами.Контрагент = Аналитика.Контрагент
| И ТаблицаРасчетыСПартнерами.Партнер = Аналитика.Партнер
| И (
| ВЫБОР
| КОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыКонтрагентов
| ИЛИ ТаблицаРасчетыСПартнерами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПартнерами.ОбъектРасчетов
| КОГДА ТаблицаРасчетыСПартнерами.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| ТОГДА ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка))
| КОНЕЦ) = Аналитика.Договор
| И ЕСТЬNULL(ТаблицаРасчетыСПартнерами.ОбъектРасчетов.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = Аналитика.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСПартнерами.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетыСКлиентами(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыСКлиентами";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасчетыСПартнерами", ТекстыЗапроса) Тогда
ТекстЗапросаВтРасчетыСПартнерами(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| 1 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСКлиентами.ДатаРасчетныйДокумент
| ИНАЧЕ &Период
| КОНЕЦ КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСКлиентами.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаРасчетыСКлиентами.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСКлиентами.КлючАналитики.Договор КАК Договор,
| ИСТИНА КАК ИсключатьПриКонтроле,
| ТаблицаРасчетыСКлиентами.Сумма КАК Сумма,
| 0 КАК КОплате,
| ТаблицаРасчетыСКлиентами.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСКлиентами.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСКлиентами.СуммаУпр
| КОГДА ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСКлиентами.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСКлиентами.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСКлиентами.РасчетныйДокумент
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаРасчетыСКлиентами.ОбъектРасчетов.Объект) НЕ В (&СписокТиповЗаказов)
| И ТаблицаРасчетыСКлиентами.ОбъектРасчетов.Объект <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов.Объект
| ИНАЧЕ Неопределено
| КОНЕЦ КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Отгрузка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| ВтРасчетыСПартнерами КАК ТаблицаРасчетыСКлиентами
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| ВЫБОР КОГДА КОНЕЦПЕРИОДА(ТаблицаРасчетыСКлиентами.ДатаПлатежа, День) < &Период
| ТОГДА &Период
| ИНАЧЕ КОНЕЦПЕРИОДА(ТаблицаРасчетыСКлиентами.ДатаПлатежа, День)
| КОНЕЦ КАК Период,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСКлиентами.ДатаРасчетныйДокумент
| ИНАЧЕ &Период
| КОНЕЦ КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСКлиентами.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаРасчетыСКлиентами.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСКлиентами.КлючАналитики.Договор КАК Договор,
| ИСТИНА КАК ИсключатьПриКонтроле,
| 0 КАК Сумма,
| ТаблицаРасчетыСКлиентами.Сумма КАК КОплате,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСКлиентами.РасчетныйДокумент
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаРасчетыСКлиентами.ОбъектРасчетов.Объект) НЕ В (&СписокТиповЗаказов)
| И ТаблицаРасчетыСКлиентами.ОбъектРасчетов.Объект <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов.Объект
| ИНАЧЕ Неопределено
| КОНЕЦ КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.ПустаяСсылка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| ВтРасчетыСПартнерами КАК ТаблицаРасчетыСКлиентами
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСКлиентами.ДатаРасчетныйДокумент
| ИНАЧЕ &Период
| КОНЕЦ КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| NULL КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасчетыСКлиентами.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСКлиентами.КлючАналитики.Договор КАК Договор,
| ИСТИНА КАК ИсключатьПриКонтроле,
| ТаблицаРасчетыСКлиентами.Сумма КАК Сумма,
| ТаблицаРасчетыСКлиентами.Сумма КАК КОплате,
| ТаблицаРасчетыСКлиентами.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСКлиентами.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСКлиентами.СуммаУпр
| КОГДА ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСКлиентами.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСКлиентами.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСКлиентами.РасчетныйДокумент
| ИНАЧЕ Неопределено
| КОНЕЦ КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Оплата) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовКлиентов) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| ВтРасчетыСПартнерами КАК ТаблицаРасчетыСКлиентами
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовКлиентов)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 4 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСКлиентами.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК Валюта,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| АналитикаПартнера.Договор КАК Договор,
| ИСТИНА КАК ИсключатьПриКонтроле,
| ТаблицаРасчетыСКлиентами.Сумма КАК Сумма,
| 0 КАК КОплате,
| ТаблицаРасчетыСКлиентами.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСКлиентами.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСКлиентами.СуммаУпр
| КОГДА ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСКлиентами.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСКлиентами.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| Неопределено КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Отгрузка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСКлиентами
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &ОрганизацияПолучатель
| И АналитикаПартнера.Организация = &Организация
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСКлиентами.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 5 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| ВЫБОР КОГДА КОНЕЦПЕРИОДА(ТаблицаРасчетыСКлиентами.ДатаПлатежа, День) < &Период
| ТОГДА &Период
| ИНАЧЕ КОНЕЦПЕРИОДА(ТаблицаРасчетыСКлиентами.ДатаПлатежа, День)
| КОНЕЦ КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСКлиентами.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК Валюта,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| АналитикаПартнера.Договор КАК Договор,
| ИСТИНА КАК ИсключатьПриКонтроле,
| 0 КАК Сумма,
| ТаблицаРасчетыСКлиентами.Сумма КАК КОплате,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| Неопределено КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.ПустаяСсылка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСКлиентами
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &ОрганизацияПолучатель
| И АналитикаПартнера.Организация = &Организация
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСКлиентами.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 6 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| NULL КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| АналитикаПартнера.Договор КАК Договор,
| ИСТИНА КАК ИсключатьПриКонтроле,
| ТаблицаРасчетыСКлиентами.Сумма КАК Сумма,
| ТаблицаРасчетыСКлиентами.Сумма КАК КОплате,
| ТаблицаРасчетыСКлиентами.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСКлиентами.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСКлиентами.СуммаУпр
| КОГДА ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСКлиентами.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСКлиентами.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| Неопределено КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Оплата) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовКлиентов) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСКлиентами
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &ОрганизацияПолучатель
| И АналитикаПартнера.Организация = &Организация
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСКлиентами.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам)
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетыСКлиентамиНУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыСКлиентамиНУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| 1 КАК Порядок,
| ТаблицаРасчетыСКлиентами.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСКлиентами.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель КАК ОбъектРасчетов,
| ТаблицаРасчетыСКлиентами.ВалютаВзаиморасчетов КАК Валюта,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСКлиентами.Сумма КАК СуммаНУ,
| ТаблицаРасчетыСКлиентами.ОтложенныйДоходНУ КАК ОтложенныйДоход,
| ТаблицаРасчетыСКлиентами.ОтложенныйРасходНУ КАК ОтложенныйРасход,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСКлиентами
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &ОрганизацияПолучатель
| И АналитикаПартнера.Организация = &Организация
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСКлиентами.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСКлиентами.ОбъектРасчетовОтправитель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСКлиентами.Ссылка = &Ссылка
| И &ОтражатьВБУиНУ
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
| И (ТаблицаРасчетыСКлиентами.Сумма <> 0
| ИЛИ ТаблицаРасчетыСКлиентами.ОтложенныйДоходНУ <> 0
| ИЛИ ТаблицаРасчетыСКлиентами.ОтложенныйРасходНУ <> 0)
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрАналитикаВзаиморасчетовПоставщик(Запрос)
Если Запрос.Параметры.Свойство("АналитикаВзаиморасчетовПоставщик") Тогда
Возврат;
КонецЕсли;
ИнициализироватьКлючиАналитикиПоПартнерам(Запрос);
АналитикаВзаиморасчетовПоставщик = Неопределено;
Если Запрос.Параметры.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам
Или Запрос.Параметры.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям Тогда
СтруктураПоставщик = Новый Структура;
СтруктураПоставщик.Вставить("Организация", Запрос.Параметры.ОрганизацияПолучатель);
СтруктураПоставщик.Вставить("Партнер", Справочники.Партнеры.НашеПредприятие);
СтруктураПоставщик.Вставить("Контрагент", Запрос.Параметры.Организация);
СтруктураПоставщик.Вставить("Договор", Справочники.ДоговорыМеждуОрганизациями.ПустаяСсылка());
СтруктураПоставщик.Вставить("НаправлениеДеятельности", Справочники.НаправленияДеятельности.ПустаяСсылка());
АналитикаВзаиморасчетовПоставщик = РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(СтруктураПоставщик);
КонецЕсли;
Запрос.УстановитьПараметр("АналитикаВзаиморасчетовПоставщик", АналитикаВзаиморасчетовПоставщик);
КонецПроцедуры
Функция ТекстЗапросаТаблицаРасчетыСПоставщиками(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыСПоставщиками";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтРасчетыСПартнерами", ТекстыЗапроса) Тогда
ТекстЗапросаВтРасчетыСПартнерами(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
УстановитьПараметрАналитикаВзаиморасчетовПоставщик(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| 1 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСПоставщиками.ДатаРасчетныйДокумент
| ИНАЧЕ &Период
| КОНЕЦ КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСПоставщиками.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасчетыСПоставщиками.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСПоставщиками.КлючАналитики.Договор КАК Договор,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаРасчетыСПоставщиками.Сумма КАК Сумма,
| 0 КАК КОплате,
| ТаблицаРасчетыСПоставщиками.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр
| КОГДА ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСПоставщиками.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСПоставщиками.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСПоставщиками.РасчетныйДокумент
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаРасчетыСПоставщиками.ОбъектРасчетов.Объект) НЕ В (&СписокТиповЗаказов)
| И ТаблицаРасчетыСПоставщиками.ОбъектРасчетов.Объект <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов.Объект
| ИНАЧЕ Неопределено
| КОНЕЦ КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Отгрузка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| ВтРасчетыСПартнерами КАК ТаблицаРасчетыСПоставщиками
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 2 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| ВЫБОР КОГДА КОНЕЦПЕРИОДА(ТаблицаРасчетыСПоставщиками.ДатаПлатежа, День) < &Период
| ТОГДА &Период
| ИНАЧЕ КОНЕЦПЕРИОДА(ТаблицаРасчетыСПоставщиками.ДатаПлатежа, День)
| КОНЕЦ КАК Период,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСПоставщиками.ДатаРасчетныйДокумент
| ИНАЧЕ &Период
| КОНЕЦ КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСПоставщиками.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасчетыСПоставщиками.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСПоставщиками.КлючАналитики.Договор КАК Договор,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК Валюта,
| 0 КАК Сумма,
| ТаблицаРасчетыСПоставщиками.Сумма КАК КОплате,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСПоставщиками.РасчетныйДокумент
| КОГДА ТИПЗНАЧЕНИЯ(ТаблицаРасчетыСПоставщиками.ОбъектРасчетов.Объект) НЕ В (&СписокТиповЗаказов)
| И ТаблицаРасчетыСПоставщиками.ОбъектРасчетов.Объект <> НЕОПРЕДЕЛЕНО
| ТОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов.Объект
| ИНАЧЕ Неопределено
| КОНЕЦ КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.ПустаяСсылка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| ВтРасчетыСПартнерами КАК ТаблицаРасчетыСПоставщиками
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 3 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСПоставщиками.ДатаРасчетныйДокумент
| ИНАЧЕ &Период
| КОНЕЦ КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| NULL КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетов КАК ОбъектРасчетов,
| ТаблицаРасчетыСПоставщиками.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСПоставщиками.КлючАналитики.Договор КАК Договор,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасчетыСПоставщиками.Сумма КАК Сумма,
| ТаблицаРасчетыСПоставщиками.Сумма КАК КОплате,
| ТаблицаРасчетыСПоставщиками.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр
| КОГДА ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСПоставщиками.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСПоставщиками.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР
| КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаРасчетыСПоставщиками.РасчетныйДокумент
| ИНАЧЕ Неопределено
| КОНЕЦ КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Оплата) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| ВтРасчетыСПартнерами КАК ТаблицаРасчетыСПоставщиками
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 4 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСПоставщиками.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель КАК ОбъектРасчетов,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| АналитикаПартнера.Договор КАК Договор,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаРасчетыСПоставщиками.Сумма КАК Сумма,
| 0 КАК КОплате,
| ТаблицаРасчетыСПоставщиками.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр
| КОГДА ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСПоставщиками.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСПоставщиками.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| Неопределено КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Отгрузка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСПоставщиками
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &Организация
| И АналитикаПартнера.Организация = &ОрганизацияПолучатель
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСПоставщиками.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 5 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| ВЫБОР КОГДА КОНЕЦПЕРИОДА(ТаблицаРасчетыСПоставщиками.ДатаПлатежа, День) < &Период
| ТОГДА &Период
| ИНАЧЕ КОНЕЦПЕРИОДА(ТаблицаРасчетыСПоставщиками.ДатаПлатежа, День)
| КОНЕЦ КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСПоставщиками.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель КАК ОбъектРасчетов,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| АналитикаПартнера.Договор КАК Договор,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК Валюта,
| 0 КАК Сумма,
| ТаблицаРасчетыСПоставщиками.Сумма КАК КОплате,
| 0 КАК СуммаРегл,
| 0 КАК СуммаУпр,
| Неопределено КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.ПустаяСсылка) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСПоставщиками
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &Организация
| И АналитикаПартнера.Организация = &ОрганизацияПолучатель
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСПоставщиками.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| 6 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| NULL КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель КАК ОбъектРасчетов,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| АналитикаПартнера.Договор КАК Договор,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ТаблицаРасчетыСПоставщиками.Сумма КАК Сумма,
| ТаблицаРасчетыСПоставщиками.Сумма КАК КОплате,
| ТаблицаРасчетыСПоставщиками.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр <> 0
| ТОГДА ТаблицаРасчетыСПоставщиками.СуммаУпр
| КОГДА ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА ТаблицаРасчетыСПоставщиками.Сумма
| ИНАЧЕ
| ТаблицаРасчетыСПоставщиками.Сумма * ЕСТЬNULL(КурсыВалютВзаиморасчетов.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| Неопределено КАК РасчетныйДокумент,
| ЗНАЧЕНИЕ(Перечисление.ОперацииВзаиморасчетов.Оплата) КАК ОперацияВзаиморасчетов,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам) КАК ХозяйственнаяОперация,
| &ВалютаРегламентированногоУчета КАК ВалютаДокумента,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации,
| 1 КАК ВидОперацииДляСортировки,
| 1 КАК ПорядокОперацииВПределахДокумента
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСПоставщиками
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютВзаиморасчетов
| ПО КурсыВалютВзаиморасчетов.Валюта = ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &Организация
| И АналитикаПартнера.Организация = &ОрганизацияПолучатель
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСПоставщиками.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам)
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетыСПоставщикамиНУ(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыСПоставщикамиНУ";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрАналитикаВзаиморасчетовПоставщик(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| 1 КАК Порядок,
| ТаблицаРасчетыСПоставщиками.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Номер КАК НомерРегистратора,
| ТаблицаРасчетыСПоставщиками.ДатаПлатежа КАК ДатаПлатежа,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель КАК ОбъектРасчетов,
| АналитикаПартнера.КлючАналитики КАК АналитикаУчетаПоПартнерам,
| ТаблицаРасчетыСПоставщиками.ВалютаВзаиморасчетов КАК Валюта,
| ТаблицаРасчетыСПоставщиками.Сумма КАК СуммаНУ,
| ТаблицаРасчетыСПоставщиками.ОтложенныйРасходНУ КАК ОтложенныйДоход,
| ТаблицаРасчетыСПоставщиками.ОтложенныйДоходНУ КАК ОтложенныйРасход,
| НЕОПРЕДЕЛЕНО КАК РасчетныйДокумент
|ИЗ
| Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ТаблицаРасчетыСПоставщиками
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПартнера
| ПО АналитикаПартнера.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
| И АналитикаПартнера.Контрагент = &Организация
| И АналитикаПартнера.Организация = &ОрганизацияПолучатель
| И АналитикаПартнера.Договор =
| ВЫБОР КОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов ССЫЛКА Справочник.ДоговорыМеждуОрганизациями
| ТОГДА ТаблицаРасчетыСПоставщиками.ОбъектРасчетов
| ИНАЧЕ ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыМеждуОрганизациями.ПустаяСсылка))
| КОНЕЦ
| И ЕСТЬNULL(ТаблицаРасчетыСПоставщиками.ОбъектРасчетовПолучатель.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| = АналитикаПартнера.НаправлениеДеятельности
|ГДЕ
| ТаблицаРасчетыСПоставщиками.Ссылка = &Ссылка
| И &ОтражатьВБУиНУ
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
| И (ТаблицаРасчетыСПоставщиками.Сумма <> 0
| ИЛИ ТаблицаРасчетыСПоставщиками.ОтложенныйДоходНУ <> 0
| ИЛИ ТаблицаРасчетыСПоставщиками.ОтложенныйРасходНУ <> 0)
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыПереданныеНаКомиссию";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| &Партнер КАК Партнер,
| &СоглашениеСКомиссионером КАК Соглашение,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию)
| И &ОтражатьВОперативномУчете
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваУПодотчетныхЛиц(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваУПодотчетныхЛиц";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| РасчетыСПодотчетниками.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПерерасходовПодотчетныхСредств)
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| &Организация КАК Организация,
| РасчетыСПодотчетниками.ПодотчетноеЛицо КАК ПодотчетноеЛицо,
| РасчетыСПодотчетниками.Ссылка.Подразделение КАК Подразделение,
| РасчетыСПодотчетниками.СтатьяДвиженияДенежныхСредств КАК ЦельВыдачи,
| РасчетыСПодотчетниками.Валюта КАК Валюта,
| РасчетыСПодотчетниками.Сумма КАК Сумма,
| РасчетыСПодотчетниками.СуммаРегл КАК СуммаРегл,
| РасчетыСПодотчетниками.Сумма КАК КОтчету,
| ВЫБОР
| КОГДА РасчетыСПодотчетниками.Валюта = &ВалютаУправленческогоУчета
| ТОГДА РасчетыСПодотчетниками.Сумма
| ИНАЧЕ
| РасчетыСПодотчетниками.Сумма * ЕСТЬNULL(КурсыВалютПодотчетников.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.РасчетыСПодотчетниками КАК РасчетыСПодотчетниками
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютПодотчетников
| ПО КурсыВалютПодотчетников.Валюта = РасчетыСПодотчетниками.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
|ГДЕ
| РасчетыСПодотчетниками.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковЗадолженностиПодотчетников)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПерерасходовПодотчетныхСредств))
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетыПоЭквайрингу(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыПоЭквайрингу";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| РасчетыПоЭквайрингу.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| РасчетыПоЭквайрингу.ТипДенежныхСредств КАК ТипДенежныхСредств,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет.ВалютаДенежныхСредств КАК Валюта,
| РасчетыПоЭквайрингу.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| РасчетыПоЭквайрингу.ДоговорЭквайринга КАК Договор,
| РасчетыПоЭквайрингу.НомерПлатежнойКарты КАК НомерПлатежнойКарты,
| РасчетыПоЭквайрингу.ДатаПлатежа КАК ДатаПлатежа,
| РасчетыПоЭквайрингу.Сумма КАК Сумма,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиентаПоПлатежнойКарте) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеОплатыОтКлиента) КАК СтатьяДвиженияДенежныхСредств
|ИЗ
| Документ.ВводОстатковРасчетовПоЭквайрингу.РасчетыПоЭквайрингу КАК РасчетыПоЭквайрингу
|ГДЕ
| РасчетыПоЭквайрингу.Ссылка = &Ссылка
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковДенежныхСредствКПоступлениюОтЭквайера)
| И РасчетыПоЭквайрингу.ТипДенежныхСредств = ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.ПоступлениеПоПлатежнойКарте)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыПоЭквайрингу.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| РасчетыПоЭквайрингу.ТипДенежныхСредств КАК ТипДенежныхСредств,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет.ВалютаДенежныхСредств КАК Валюта,
| РасчетыПоЭквайрингу.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| РасчетыПоЭквайрингу.ДоговорЭквайринга КАК Договор,
| РасчетыПоЭквайрингу.НомерПлатежнойКарты КАК НомерПлатежнойКарты,
| РасчетыПоЭквайрингу.ДатаПлатежа КАК ДатаПлатежа,
| РасчетыПоЭквайрингу.Сумма КАК Сумма,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиентуНаПлатежнуюКарту) КАК ХозяйственнаяОперация,
| ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ВозвратОплатыКлиенту) КАК СтатьяДвиженияДенежныхСредств
|ИЗ
| Документ.ВводОстатковРасчетовПоЭквайрингу.РасчетыПоЭквайрингу КАК РасчетыПоЭквайрингу
|ГДЕ
| РасчетыПоЭквайрингу.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковДенежныхСредствКПоступлениюОтЭквайера)
| И РасчетыПоЭквайрингу.ТипДенежныхСредств = ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.СписаниеПоПлатежнойКарте)
|
|УПОРЯДОЧИТЬ ПО
| ТипДенежныхСредств,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса)
ТекстНомераСтрок = РасчетСебестоимостиПроведениеДокументов.ТекстЗапросаКодыСтрокДляАналитикиУчетаПартий(
Метаданные.Документы.ВводОстатков.Имя,
"Товары");
ТекстВыборкаПоляАналитик = ТекстНомераСтрок + "
|ВЫБРАТЬ
| ""Товары"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ЕСТЬNULL(ПервичныйДокумент.Партнер, ДанныеДокумента.Партнер) КАК Поставщик,
| ЕСТЬNULL(ПервичныйДокумент.Контрагент, ДанныеДокумента.Контрагент) КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство))
| ТОГДА ВЫБОР
| КОГДА ЕСТЬNULL(ТаблицаДокумента.Назначение.ВидДеятельностиНДС,ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПустаяСсылка)
| ТОГДА ТаблицаДокумента.Назначение.ВидДеятельностиНДС
| ИНАЧЕ ДанныеДокумента.ВидДеятельностиНДС
| КОНЕЦ
| ИНАЧЕ ДанныеДокумента.НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС,
| ЕСТЬNULL(ГФУ.ВидЦенностиНДС, ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.Товары)) КАК ВидЦенности,
| КодыСтрок.КодСтроки КАК КодСтроки
|ПОМЕСТИТЬ ВТПоляАналитикУчетаПартий
|ИЗ
| Документ.ВводОстатков.Товары КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВводОстатков КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКодыСтрокДляАналитикиУчетаПартий КАК КодыСтрок
| ПО ТаблицаДокумента.НомерСтроки = КодыСтрок.НомерСтроки
| И КодыСтрок.ИмяТабличнойЧасти = ""Товары""
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыФинансовогоУчетаНоменклатуры КАК ГФУ
| ПО ТаблицаДокумента.Номенклатура.ГруппаФинансовогоУчета = ГФУ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПервичныйДокумент КАК ПервичныйДокумент
| ПО ПервичныйДокумент.Ссылка = ДанныеДокумента.Партия
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ДетализацияПартий"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР
| КОГДА ДанныеДокумента.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство))
| ТОГДА ДанныеДокумента.ВидДеятельностиНДС
| ИНАЧЕ ДанныеДокумента.НалогообложениеНДС
| КОНЕЦ КАК НалогообложениеНДС,
| ТаблицаДокумента.ВидЦенности КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ВводОстатков.ДетализацияПартий КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВводОстатков КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ""ПрочиеРасходы"" КАК ИмяТабличнойЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ДанныеДокумента.Партнер КАК Поставщик,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| ВЫБОР КОГДА ЕСТЬNULL(Статьи.ВариантРаздельногоУчетаНДС, НЕОПРЕДЕЛЕНО) =
| ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ОпределяетсяРаспределением)
| ИНАЧЕ ДанныеДокумента.ВидДеятельностиНДС
| КОНЕЦ КАК НалогообложениеНДС,
| Статьи.ВидЦенностиНДС КАК ВидЦенности,
| 0 КАК КодСтроки
|ИЗ
| Документ.ВводОстатков.ПрочиеРасходы КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВводОстатков КАК ДанныеДокумента
| ПО ДанныеДокумента.Ссылка = ТаблицаДокумента.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
| ПО ТаблицаДокумента.СтатьяРасходов = Статьи.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка = &Ссылка
|";
ТекстЗапроса = Справочники.КлючиАналитикиУчетаПартий.ТекстЗапросаВтТаблицаАналитикУчетаПартий(ТекстВыборкаПоляАналитик, Запрос, ТекстыЗапроса);
Возврат ТекстЗапроса;
КонецФункции
Процедура ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры)
Если Не УчетНДСУП.ТребуетсяПроведениеПоРегистрамНДС(Регистры) Тогда
Возврат;
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДетализацияПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтДетализацияПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДетализацияПартийСуммы", ТекстыЗапроса) Тогда
ТекстЗапросаВтДетализацияПартийСуммы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстТовары =
"ВЫБРАТЬ
| Товары.Ссылка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеТоваров) КАК ХозяйственнаяОперация,
| Товары.Ссылка.ВводОстатков22 КАК ВводОстатков22,
| Товары.Ссылка.Организация КАК Организация,
| Товары.Ссылка.Подразделение КАК Подразделение,
| ВЫБОР
| КОГДА Товары.Ссылка.ВводОстатков22
| ТОГДА Товары.Ссылка.Контрагент
| ИНАЧЕ Товары.Ссылка.Партия.Контрагент
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА Товары.Ссылка.ВводОстатков22
| ТОГДА Товары.Ссылка
| ИНАЧЕ Товары.Ссылка.Партия
| КОНЕЦ КАК ПартияПриобретенияТоваров,
| Товары.Ссылка.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.ВидЗапасов КАК ВидЗапасов,
| Товары.НомерГТД КАК НомерГТД,
| ВЫБОР
| КОГДА Товары.СуммаРегл - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаРегл, 0) > 0
| ТОГДА Товары.СуммаРегл - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаРегл, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаБезНДСРегл,
| ВЫБОР
| КОГДА Товары.НДСРегл - ЕСТЬNULL(ДетализацияПартийСуммы.НДСРегл, 0) > 0
| ТОГДА Товары.НДСРегл - ЕСТЬNULL(ДетализацияПартийСуммы.НДСРегл, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНДСРегл,
| ВЫБОР
| КОГДА Товары.НДСУпр - ЕСТЬNULL(ДетализацияПартийСуммы.НДСУпр, 0) > 0
| ТОГДА Товары.НДСУпр - ЕСТЬNULL(ДетализацияПартийСуммы.НДСУпр, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНДСУпр,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВтДетализацияПартийСуммы КАК ДетализацияПартийСуммы
| ПО
| Товары.ИдентификаторСтроки = ДетализацияПартийСуммы.ИдентификаторСтроки
| И Товары.Ссылка = ДетализацияПартийСуммы.Ссылка
|ГДЕ
| Товары.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров)
| И Товары.Ссылка.ОтражатьСебестоимость
| И (Товары.Ссылка.ВводОстатков22
| ИЛИ Товары.Ссылка.Партия <> ЗНАЧЕНИЕ(Документ.ПервичныйДокумент.ПустаяСсылка))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Товары.Ссылка.Дата КАК Период,
| Товары.Ссылка КАК Ссылка,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеТоваров) КАК ХозяйственнаяОперация,
| Товары.Ссылка.ВводОстатков22 КАК ВводОстатков22,
| Товары.Ссылка.Организация КАК Организация,
| Товары.Ссылка.Подразделение КАК Подразделение,
| Товары.АналитикаУчетаПартий.Контрагент КАК Контрагент,
| Товары.ДокументПоступления КАК ПартияПриобретенияТоваров,
| Товары.Ссылка.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| Товары.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
| Товары.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.ВидЗапасов КАК ВидЗапасов,
| Товары.НомерГТД КАК НомерГТД,
| Товары.СуммаРегл КАК СуммаБезНДСРегл,
| Товары.НДСРегл КАК СуммаНДСРегл,
| Товары.НДСУпр КАК СуммаНДСУпр,
| Товары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ИЗ
| ВтДетализацияПартий КАК Товары
|ГДЕ
| Товары.Ссылка.ОтражатьСебестоимость
| И Товары.Ссылка.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров)
|";
УчетНДСУП.ОтразитьВводОстатковСобственныхТоваров(Запрос, ТекстыЗапроса, Регистры, ТекстТовары);
КонецПроцедуры
Функция ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтТовары";
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.Ссылка КАК Ссылка,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаСебестоимости.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаСебестоимости,
|
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.Количество КАК Количество,
| ВЫБОР
| КОГДА НЕ &ИспользоватьУчетПрослеживаемыхИмпортныхТоваров
| ИЛИ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) < &ДатаНачалаУчетаПрослеживаемыхИмпортныхТоваров
| ТОГДА 0
| ИНАЧЕ ТаблицаТовары.КоличествоПоРНПТ
| КОНЕЦ КАК КоличествоПоРНПТ,
| ВЫБОР
| КОГДА &ЦенаВключаетНДС
| ТОГДА ТаблицаТовары.Сумма
| ИНАЧЕ ТаблицаТовары.СуммаСНДС
| КОНЕЦ КАК Сумма,
| ТаблицаТовары.СуммаБезНДС КАК СуммаБезНДС,
| ТаблицаТовары.СуммаБезНДС КАК СуммаУпр,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СуммаРегл КАК СуммаРегл,
| ТаблицаТовары.НДСРегл КАК НДСРегл,
| ВЫБОР
| КОГДА &ЦенаВключаетНДС
| ТОГДА ТаблицаТовары.Сумма - ТаблицаТовары.СуммаБезНДС
| ИНАЧЕ ТаблицаТовары.СуммаСНДС - ТаблицаТовары.СуммаБезНДС
| КОНЕЦ КАК НДСУпр,
| ТаблицаТовары.СуммаПР КАК СуммаПР,
| ТаблицаТовары.СуммаВР КАК СуммаВР,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.ПредусмотренЗалогЗаТару КАК ПредусмотренЗалогЗаТару,
| ТаблицаТовары.КодСтроки КАК КодСтроки,
| ТаблицаТовары.ГруппаПродукции КАК ГруппаПродукции,
| ТаблицаТовары.ИдентификаторСтроки КАК ИдентификаторСтроки
|ПОМЕСТИТЬ ВтТовары
|ИЗ
| Документ.ВводОстатков.Товары КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаСебестоимости
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаСебестоимости.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = АналитикаСебестоимости.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия = АналитикаСебестоимости.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаСебестоимости.МестоХранения
| И &ПустоеНазначение = АналитикаСебестоимости.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПереданнойКлиентам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство))
| И ТаблицаТовары.Количество <> 0";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтДетализацияПартий(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтДетализацияПартий";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДетализацияПартий.Ссылка КАК Ссылка,
| ТаблицаДетализацияПартий.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаСебестоимости.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаСебестоимости,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаДетализацияПартий.СтавкаНДС КАК СтавкаНДС,
| ТаблицаДетализацияПартий.ДокументПоступления КАК ДокументПоступления,
| ТаблицаАналитикУчетаПартийДетализацияПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартийДетализацияПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартийДетализацияПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартийДокументаПоступления,
| ТаблицаАналитикУчетаПартийТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаДетализацияПартий.СуммаРегл КАК СуммаРегл,
| ТаблицаДетализацияПартий.СуммаУпр КАК СуммаУпр,
| ТаблицаДетализацияПартий.НДСРегл КАК НДСРегл,
| ТаблицаДетализацияПартий.НДСУпр КАК НДСУпр,
|
| ТаблицаТовары.ГруппаПродукции КАК ГруппаПродукции,
| ТаблицаДетализацияПартий.ИдентификаторСтроки КАК ИдентификаторСтроки
|
|ПОМЕСТИТЬ ВтДетализацияПартий
|ИЗ
| Документ.ВводОстатков.ДетализацияПартий КАК ТаблицаДетализацияПартий
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВводОстатков.Товары КАК ТаблицаТовары
| ПО ТаблицаДетализацияПартий.Ссылка = ТаблицаТовары.Ссылка
| И ТаблицаДетализацияПартий.ИдентификаторСтроки = ТаблицаТовары.ИдентификаторСтроки
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаСебестоимости
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаСебестоимости.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = АналитикаСебестоимости.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия = АналитикаСебестоимости.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаСебестоимости.МестоХранения
| И &ПустоеНазначение = АналитикаСебестоимости.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартийДетализацияПартий
| ПО ТаблицаАналитикУчетаПартийДетализацияПартий.НомерСтроки = ТаблицаДетализацияПартий.НомерСтроки
| И ТаблицаАналитикУчетаПартийДетализацияПартий.ИмяТабличнойЧасти = ""ДетализацияПартий""
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартийТовары
| ПО ТаблицаАналитикУчетаПартийТовары.НомерСтроки = ТаблицаТовары.НомерСтроки
| И ТаблицаАналитикУчетаПартийТовары.ИмяТабличнойЧасти = ""Товары""
|
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтДетализацияПартийСуммы(Запрос, ТекстыЗапроса) Экспорт
ИмяРегистра = "ВтДетализацияПартийСуммы";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДетализацияПартий.Ссылка КАК Ссылка,
| ТаблицаДетализацияПартий.ИдентификаторСтроки КАК ИдентификаторСтроки,
| СУММА(ТаблицаДетализацияПартий.СуммаРегл) КАК СуммаРегл,
| СУММА(ТаблицаДетализацияПартий.СуммаУпр) КАК СуммаУпр,
| СУММА(ТаблицаДетализацияПартий.НДСРегл) КАК НДСРегл,
| СУММА(ТаблицаДетализацияПартий.НДСУпр) КАК НДСУпр
|ПОМЕСТИТЬ ВтДетализацияПартийСуммы
|ИЗ
| Документ.ВводОстатков.ДетализацияПартий КАК ТаблицаДетализацияПартий
|
|ГДЕ
| ТаблицаДетализацияПартий.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ТаблицаДетализацияПартий.Ссылка,
| ТаблицаДетализацияПартий.ИдентификаторСтроки
|
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтТаблицаТовары";
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Упаковка КАК Упаковка,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий
|ПОМЕСТИТЬ ВтТаблицаТовары
|ИЗ
| Документ.ВводОстатков.Товары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство))
| И ТаблицаТовары.Количество <> 0
| И НЕ ТаблицаТовары.СтатусУказанияСерий В (4, 6, 8, 10)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаСерии.Номенклатура,
| ТаблицаСерии.Характеристика,
| ТаблицаСерии.Назначение,
| ТаблицаСерии.Упаковка,
| МАКСИМУМ(ТаблицаСерии.Количество),
| МАКСИМУМ(ТаблицаСерии.КоличествоУпаковок),
| ТаблицаСерии.Серия,
| МАКСИМУМ(ТаблицаТовары.СтатусУказанияСерий)
|ИЗ
| Документ.ВводОстатков.Серии КАК ТаблицаСерии
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВводОстатков.Товары КАК ТаблицаТовары
| ПО ТаблицаСерии.Ссылка = ТаблицаТовары.Ссылка
| И ТаблицаСерии.Номенклатура = ТаблицаТовары.Номенклатура
| И ТаблицаСерии.Характеристика = ТаблицаТовары.Характеристика
| И ТаблицаСерии.Назначение = ТаблицаТовары.Назначение
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство))
| И ТаблицаСерии.Ссылка = &Ссылка
| И ТаблицаСерии.Количество <> 0
|
|СГРУППИРОВАТЬ ПО
| ТаблицаСерии.Номенклатура,
| ТаблицаСерии.Характеристика,
| ТаблицаСерии.Назначение,
| ТаблицаСерии.Серия,
| ТаблицаСерии.Упаковка
|
|ИМЕЮЩИЕ
| МАКСИМУМ(ТаблицаТовары.СтатусУказанияСерий) В (4, 6, 8, 10)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыНаСкладах(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыНаСкладах";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Склад КАК Склад,
| &Помещение КАК Помещение,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Количество КАК ВНаличии
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| &ОтражатьВОперативномУчете
| И (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
| &Период,
| &Склад,
| ЗНАЧЕНИЕ(Справочник.СкладскиеПомещения.ПустаяСсылка),
| ТаблицаТовары.Номенклатура,
| ТаблицаТовары.Характеристика,
| ТаблицаТовары.Назначение,
| ТаблицаТовары.Серия,
| ТаблицаТовары.Количество
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеСкладскихПомещений)
| И &ОтражатьВОперативномУчете";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДетализацияПартийТоваровДляНДСиУСН(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДетализацияПартийТоваровДляНДСиУСН";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры)
И НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, "СебестоимостьТоваров") Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыФормированияРегистровУчетаПартийНДС(Запрос);
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДетализацияПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтДетализацияПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДетализацияПартийСуммы", ТекстыЗапроса) Тогда
ТекстЗапросаВтДетализацияПартийСуммы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДетализацияПартий.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| ИНАЧЕ
| ВЫБОР КОГДА ЕСТЬNULL(ДетализацияПартий.АналитикаУчетаСебестоимости.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ
| КОНЕЦ КАК РазделУчета,
| ДетализацияПартий.АналитикаУчетаСебестоимости КАК АналитикаУчетаНоменклатуры,
| ДетализацияПартий.ВидЗапасов КАК ВидЗапасов,
| &Партия КАК Партия,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| И ДетализацияПартий.ГруппаПродукции <> ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ДетализацияПартий.ГруппаПродукции
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| ДетализацияПартий.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ДетализацияПартий.АналитикаУчетаПартийДокументаПоступления КАК АналитикаУчетаПартий,
| ДетализацияПартий.ДокументПоступления КАК ДокументПоступления,
| 0 КАК Количество,
| ДетализацияПартий.СуммаРегл КАК СтоимостьБезНДС,
| ДетализацияПартий.НДСРегл КАК НДС,
| ДетализацияПартий.НДСУпр КАК НДСУпр,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ДопРасходы) КАК ТипЗаписи
|
|ИЗ
| ВтДетализацияПартий КАК ДетализацияПартий
|
|ГДЕ
| &ФормироватьДетализацияПартийТоваровДляНДСиУСН
| И НЕ &ВводОстатков22
| И НЕ &ВнутренняяНакладнаяВПартии
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| )
| И &ОтражатьСебестоимость
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| Товары.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Организация КАК Организация,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| ИНАЧЕ
| ВЫБОР КОГДА ЕСТЬNULL(Товары.АналитикаУчетаСебестоимости.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ
| КОНЕЦ КАК РазделУчета,
| Товары.АналитикаУчетаСебестоимости КАК АналитикаУчетаНоменклатуры,
| Товары.ВидЗапасов КАК ВидЗапасов,
| &Партия КАК Партия,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| И Товары.ГруппаПродукции <> ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА Товары.ГруппаПродукции
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| Товары.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| Товары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &Партия КАК ДокументПоступления,
| Товары.Количество КАК Количество,
| ВЫБОР
| КОГДА Товары.СуммаРегл - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаРегл, 0) > 0
| ТОГДА Товары.СуммаРегл - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаРегл, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР
| КОГДА Товары.НДСРегл - ЕСТЬNULL(ДетализацияПартийСуммы.НДСРегл, 0) > 0
| ТОГДА Товары.НДСРегл - ЕСТЬNULL(ДетализацияПартийСуммы.НДСРегл, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК НДС,
| ВЫБОР
| КОГДА Товары.НДСУпр - ЕСТЬNULL(ДетализацияПартийСуммы.НДСУпр, 0) > 0
| ТОГДА Товары.НДСУпр - ЕСТЬNULL(ДетализацияПартийСуммы.НДСУпр, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
|
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Партия) КАК ТипЗаписи
|
|ИЗ
| ВтТовары КАК Товары
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтДетализацияПартийСуммы КАК ДетализацияПартийСуммы
| ПО Товары.ИдентификаторСтроки = ДетализацияПартийСуммы.ИдентификаторСтроки
|
|ГДЕ
| &ФормироватьДетализацияПартийТоваровДляНДСиУСН
| И НЕ &ВводОстатков22
| И НЕ &ВнутренняяНакладнаяВПартии
| И &Партия <> ЗНАЧЕНИЕ(Документ.ПервичныйДокумент.ПустаяСсылка)
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| )
| И &ОтражатьСебестоимость
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДетализацияПартийТоваровДляНДСиУСН2_4(Запрос, ТекстыЗапроса, Регистры) Экспорт
ИмяРегистра = "ДетализацияПартийТоваровДляНДСиУСН2_4";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры)
И НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, "СебестоимостьТоваров") Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрыФормированияРегистровУчетаПартийНДС(Запрос);
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДетализацияПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтДетализацияПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДетализацияПартийСуммы", ТекстыЗапроса) Тогда
ТекстЗапросаВтДетализацияПартийСуммы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ДетализацияПартий.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| &Организация КАК Организация,
| ДетализацияПартий.АналитикаУчетаСебестоимости КАК АналитикаУчетаНоменклатуры,
| ДетализацияПартий.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| ИНАЧЕ
| ВЫБОР КОГДА ЕСТЬNULL(ДетализацияПартий.АналитикаУчетаСебестоимости.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ
| КОНЕЦ КАК РазделУчета,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| И ДетализацияПартий.ГруппаПродукции <> ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА ДетализацияПартий.ГруппаПродукции
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| &Партия КАК Партия,
| ВЫБОР КОГДА ЕСТЬNULL(ДетализацияПартий.АналитикаУчетаПартий.Контрагент, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка), НЕОПРЕДЕЛЕНО)
| ТОГДА ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаПартий.ПустаяСсылка)
| ИНАЧЕ ДетализацияПартий.АналитикаУчетаПартий
| КОНЕЦ КАК АналитикаУчетаПартий,
| ДетализацияПартий.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| ДетализацияПартий.ДокументПоступления КАК ДокументПоступления,
| ДетализацияПартий.АналитикаУчетаПартийДокументаПоступления КАК АналитикаУчетаДокументаПоступления,
| ДетализацияПартий.Номенклатура КАК Номенклатура,
| ДетализацияПартий.Характеристика КАК Характеристика,
| ДетализацияПартий.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК СтатьяРасходовАктивов,
| 0 КАК Количество,
| ДетализацияПартий.СуммаРегл КАК СтоимостьБезНДС,
| ДетализацияПартий.НДСРегл КАК НДС,
| ДетализацияПартий.СуммаУпр КАК СтоимостьБезНДСУпр,
| ДетализацияПартий.НДСУпр КАК НДСУпр,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ДопРасходы) КАК ТипЗаписи
|
|ИЗ
| ВтДетализацияПартий КАК ДетализацияПартий
|ГДЕ
| &ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4
| И НЕ &ВнутренняяНакладнаяВПартии
| И НЕ &ВводОстатков22
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| )
| И &ОтражатьСебестоимость
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| 0 КАК НомерСтроки,
| &Период КАК Период,
| &Организация КАК Организация,
| Товары.АналитикаУчетаСебестоимости КАК АналитикаУчетаНоменклатуры,
| Товары.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| ИНАЧЕ
| ВЫБОР КОГДА ЕСТЬNULL(Товары.АналитикаУчетаСебестоимости.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ
| КОНЕЦ КАК РазделУчета,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| И Товары.ГруппаПродукции <> ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА Товары.ГруппаПродукции
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаФинансовогоУчета,
| ВЫБОР
| КОГДА &ФИФОСкользящаяОценка
| ТОГДА &Партия
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ВЫБОР КОГДА ЕСТЬNULL(Товары.АналитикаУчетаПартий.Контрагент, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка), НЕОПРЕДЕЛЕНО)
| ТОГДА ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаПартий.ПустаяСсылка)
| ИНАЧЕ Товары.АналитикаУчетаПартий
| КОНЕЦ КАК АналитикаУчетаПартий,
| Товары.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
| &Партия КАК ДокументПоступления,
| Товары.АналитикаУчетаПартий КАК АналитикаУчетаДокументаПоступления,
| НЕОПРЕДЕЛЕНО КАК Номенклатура,
| НЕОПРЕДЕЛЕНО КАК Характеристика,
| Товары.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка) КАК СтатьяРасходовАктивов,
| СУММА(Товары.Количество) КАК Количество,
| СУММА(ВЫБОР
| КОГДА Товары.СуммаРегл - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаРегл, 0) > 0
| ТОГДА Товары.СуммаРегл - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаРегл, 0)
| ИНАЧЕ 0
| КОНЕЦ) КАК СтоимостьБезНДС,
| СУММА(ВЫБОР
| КОГДА Товары.НДСРегл - ЕСТЬNULL(ДетализацияПартийСуммы.НДСРегл, 0) > 0
| ТОГДА Товары.НДСРегл - ЕСТЬNULL(ДетализацияПартийСуммы.НДСРегл, 0)
| ИНАЧЕ 0
| КОНЕЦ) КАК НДС,
| СУММА(ВЫБОР
| КОГДА Товары.СуммаУпр - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаУпр, 0) > 0
| ТОГДА Товары.СуммаУпр - ЕСТЬNULL(ДетализацияПартийСуммы.СуммаУпр, 0)
| ИНАЧЕ 0
| КОНЕЦ) КАК СтоимостьБезНДСУпр,
| СУММА(ВЫБОР
| КОГДА Товары.НДСУпр - ЕСТЬNULL(ДетализацияПартийСуммы.НДСУпр, 0) > 0
| ТОГДА Товары.НДСУпр - ЕСТЬNULL(ДетализацияПартийСуммы.НДСУпр, 0)
| ИНАЧЕ 0
| КОНЕЦ) КАК НДСУпр,
| ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.Партия) КАК ТипЗаписи
|ИЗ
| ВтТовары КАК Товары
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтДетализацияПартийСуммы КАК ДетализацияПартийСуммы
| ПО Товары.ИдентификаторСтроки = ДетализацияПартийСуммы.ИдентификаторСтроки
|
|ГДЕ
| &ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4
| И НЕ &ВводОстатков22
| И НЕ &ВнутренняяНакладнаяВПартии
| И &Партия <> ЗНАЧЕНИЕ(Документ.ПервичныйДокумент.ПустаяСсылка)
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| )
| И &ОтражатьСебестоимость
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА &ФИФОСкользящаяОценка
| ТОГДА &Партия
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ,
| ВЫБОР КОГДА ЕСТЬNULL(Товары.АналитикаУчетаПартий.Контрагент, НЕОПРЕДЕЛЕНО) В
| (ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка), ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка), НЕОПРЕДЕЛЕНО)
| ТОГДА ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаПартий.ПустаяСсылка)
| ИНАЧЕ Товары.АналитикаУчетаПартий
| КОНЕЦ,
| Товары.АналитикаУчетаСебестоимости,
| Товары.ВидЗапасов,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПереданныеПереработчику)
| ИНАЧЕ
| ВЫБОР КОГДА ЕСТЬNULL(Товары.АналитикаУчетаСебестоимости.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах)
| КОНЕЦ
| КОНЕЦ,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| И Товары.ГруппаПродукции <> ЗНАЧЕНИЕ(Справочник.ГруппыАналитическогоУчетаНоменклатуры.ПустаяСсылка)
| ТОГДА Товары.ГруппаПродукции
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоМенеджерамПодразделения)
| ТОГДА &Менеджер
| КОГДА &ФормироватьВидыЗапасовПоПодразделениямМенеджерам
| И &ВариантОбособленногоУчетаТоваров = ЗНАЧЕНИЕ(Перечисление.ВариантыОбособленногоУчетаТоваров.ПоПодразделению)
| ТОГДА &Подразделение
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ,
| Товары.ВидДеятельностиНДС,
| Товары.АналитикаУчетаПартий,
| Товары.НаправлениеДеятельности
|";
Если РасчетСебестоимостиПрикладныеАлгоритмы.ФормированиеТаблицДокументаПриРасчетеПартийИСебестоимости(Запрос) Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//%ПомещатьВоВременнуюТаблицу", "ПОМЕСТИТЬ " + Запрос.Параметры.ИмяВременнойТаблицыПартийНДС2_4);
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//%ПомещатьВоВременнуюТаблицу", "");
ТекстЗапроса = ТекстЗапроса + "
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
КонецЕсли;
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДвиженияСерийТоваров";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаСерии.Номенклатура КАК Номенклатура,
| ТаблицаСерии.Характеристика КАК Характеристика,
| ТаблицаСерии.Назначение КАК Назначение,
| ТаблицаСерии.Серия КАК Серия,
| ТаблицаСерии.Количество КАК Количество,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА &Подразделение
| ИНАЧЕ &Склад
| КОНЕЦ КАК Получатель,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА Неопределено
| ИНАЧЕ &Помещение
| КОНЕЦ КАК ПомещениеПолучателя,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию))
| ТОГДА &Партнер
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Отправитель,
| НЕОПРЕДЕЛЕНО КАК ПомещениеОтправителя,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков) КАК СкладскаяОперация,
| &Ссылка КАК Документ,
| &Период КАК Период,
| &Ссылка КАК Регистратор,
| ИСТИНА КАК ЭтоСкладскоеДвижение
|ИЗ
| Документ.ВводОстатков.Серии КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И ТаблицаСерии.Количество <> 0
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаСерии.Номенклатура,
| ТаблицаСерии.Характеристика,
| ТаблицаСерии.Назначение,
| ТаблицаСерии.Серия,
| ТаблицаСерии.Количество,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА &Подразделение
| ИНАЧЕ &Склад
| КОНЕЦ,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА Неопределено
| ИНАЧЕ &Помещение
| КОНЕЦ,
| ВЫБОР
| КОГДА &ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию))
| ТОГДА &Партнер
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Отправитель,
| НЕОПРЕДЕЛЕНО КАК ПомещениеОтправителя,
| ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков),
| &Ссылка,
| &Период,
| &Ссылка,
| ИСТИНА
|ИЗ
| Документ.ВводОстатков.Товары КАК ТаблицаСерии
|ГДЕ
| ТаблицаСерии.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И ТаблицаСерии.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииТоваровОрганизаций";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ВЫБОР
| КОГДА &Партия <> ЗНАЧЕНИЕ(Документ.ПервичныйДокумент.ПустаяСсылка)
| ТОГДА &Партия
| ИНАЧЕ &Ссылка
| КОНЕЦ КАК ДокументПоступления,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ТаблицаТовары.Сумма КАК Стоимость,
| ТаблицаТовары.СуммаБезНДС КАК СтоимостьБезНДС,
| (ВЫБОР &ХозяйственнаяОперация
| КОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаТовары.СуммаРегл + ТаблицаТовары.НДСРегл
| ИНАЧЕ ТаблицаТовары.СуммаРегл КОНЕЦ) КАК СтоимостьРегл,
| ТаблицаТовары.СуммаПР КАК ПостояннаяРазница,
| ТаблицаТовары.СуммаВР КАК ВременнаяРазница,
| ТаблицаТовары.НДСРегл КАК НДСРегл,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеТоваров) КАК ХозяйственнаяОперация,
| ИСТИНА КАК Первичное,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник
|
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| &ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков))
| И &ОтражатьСебестоимость
| И &ПартионныйУчетВерсии21
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииТоваровПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииТоваровПереданныеНаКомиссию";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Организация КАК Организация,
| Товары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| &Ссылка КАК ДокументПоступления,
| Товары.ВидЗапасов КАК ВидЗапасов,
| Товары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &Ссылка КАК ДокументПередачиНаКомиссию,
| Товары.Количество КАК Количество,
| Товары.Сумма КАК Стоимость,
| Товары.СуммаБезНДС КАК СтоимостьБезНДС,
| Товары.СуммаРегл КАК СтоимостьРегл,
| Товары.НДСРегл КАК НДСРегл,
| Товары.СуммаПР КАК ПостояннаяРазница,
| Товары.СуммаВР КАК ВременнаяРазница,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.ВидДеятельностиНДС КАК НалогообложениеНДС
|ИЗ
| ВтТовары КАК Товары
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию)
| И &ОтражатьСебестоимость
| И &ПартионныйУчетВерсии21
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПринятаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПринятаяВозвратнаяТара";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Сумма,
| &Партнер КАК Партнер,
| ЗНАЧЕНИЕ(Документ.ПриобретениеТоваровУслуг.ПустаяСсылка) КАК ДокументПоступления,
| ТаблицаТовары.ПредусмотренЗалогЗаТару КАК ПредусмотренЗалог,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков))
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПереданнаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПереданнаяВозвратнаяТара";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.КоличествоПоРНПТ КАК КоличествоПоРНПТ,
| ТаблицаТовары.Сумма КАК Сумма,
| &Партнер КАК Партнер,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.НомерГТД КАК НомерГТД,
| ТаблицаТовары.ПредусмотренЗалогЗаТару КАК ПредусмотренЗалог,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПереданнойКлиентам)
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаВтДанныеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтДанныеРасходы";
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаАналитикУчетаПартий", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаАналитикУчетаПартий(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| Документ.Организация КАК Организация,
| Документ.Дата КАК Дата,
| ДанныеДокументаРасходы.НомерСтроки КАК НомерСтроки,
| Документ.Подразделение КАК Подразделение,
| ДанныеДокументаРасходы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ДанныеДокументаРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ДанныеДокументаРасходы.АналитикаРасходов КАК АналитикаРасходов,
| ДанныеДокументаРасходы.Ссылка КАК ДокументПоступленияРасходов,
|
| ТаблицаАналитикУчетаПартий.ВидЦенности КАК ВидЦенности,
| ТаблицаАналитикУчетаПартий.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаАналитикУчетаПартий.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
|
| ДанныеДокументаРасходы.Сумма КАК Сумма,
| ДанныеДокументаРасходы.СуммаБезНДС КАК СуммаБезНДС,
| ДанныеДокументаРасходы.СуммаРегл КАК СуммаРегл,
| ДанныеДокументаРасходы.НДСРегл КАК НДСРегл,
| ДанныеДокументаРасходы.СуммаПР КАК СуммаПР,
| ДанныеДокументаРасходы.СуммаВР КАК СуммаВР
|
|ПОМЕСТИТЬ ВтДанныеРасходы
|ИЗ
| Документ.ВводОстатков.ПрочиеРасходы КАК ДанныеДокументаРасходы
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ВводОстатков КАК Документ
| ПО
| ДанныеДокументаРасходы.Ссылка = Документ.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиРасходов
| ПО
| ДанныеДокументаРасходы.СтатьяРасходов = СтатьиРасходов.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВтТаблицаАналитикУчетаПартий КАК ТаблицаАналитикУчетаПартий
| ПО ТаблицаАналитикУчетаПартий.НомерСтроки = ДанныеДокументаРасходы.НомерСтроки
| И ТаблицаАналитикУчетаПартий.ИмяТабличнойЧасти = ""ПрочиеРасходы""
|
|ГДЕ
| ДанныеДокументаРасходы.Ссылка = &Ссылка
| И &ОтражатьСебестоимость";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДанныеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтДанныеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ВтДанныеРасходы.Дата КАК Период,
| ВтДанныеРасходы.Организация КАК Организация,
| ВтДанныеРасходы.Подразделение КАК Подразделение,
| ВтДанныеРасходы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВтДанныеРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ВтДанныеРасходы.АналитикаРасходов КАК АналитикаРасходов,
| ВтДанныеРасходы.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ВтДанныеРасходы.Сумма КАК СуммаСНДС,
| ВтДанныеРасходы.СуммаБезНДС КАК СуммаБезНДС,
| ВтДанныеРасходы.СуммаБезНДС КАК СуммаБезНДСУпр,
|
| ВтДанныеРасходы.СуммаРегл
| + ВтДанныеРасходы.НДСРегл КАК СуммаСНДСРегл,
| ВтДанныеРасходы.СуммаРегл КАК СуммаБезНДСРегл,
| ВтДанныеРасходы.СуммаПР КАК ПостояннаяРазница,
| ВтДанныеРасходы.СуммаВР КАК ВременнаяРазница,
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПрочиеРасходы
|ИЗ
| ВтДанныеРасходы КАК ВтДанныеРасходы
|
|ГДЕ
| &ОтражатьВОперативномУчете
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПрочиеРасходы";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаВтПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеРасходы";
Если НЕ ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПрочиеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПрочиеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПрочиеРасходы.ТекстЗапросаТаблицаПрочиеРасходы();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтИсходныеПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтДанныеРасходы", ТекстыЗапроса) Тогда
ТекстЗапросаВтДанныеРасходы(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| ВтДанныеРасходы.Дата КАК Период,
| ВтДанныеРасходы.Организация КАК Организация,
| ВтДанныеРасходы.Подразделение КАК Подразделение,
| ВтДанныеРасходы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВтДанныеРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ВтДанныеРасходы.АналитикаРасходов КАК АналитикаРасходов,
| НЕОПРЕДЕЛЕНО КАК АналитикаАктивовПассивов,
| ВтДанныеРасходы.ДокументПоступленияРасходов КАК ДокументПоступленияРасходов,
| ВтДанныеРасходы.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНоменклатуры,
| ВтДанныеРасходы.ВидДеятельностиНДС КАК ВидДеятельностиНДС,
|
| ВтДанныеРасходы.Сумма КАК Стоимость,
| ВтДанныеРасходы.СуммаБезНДС КАК СтоимостьБезНДС,
| ВтДанныеРасходы.Сумма
| - ВтДанныеРасходы.СуммаБезНДС КАК НДСУпр,
| ВтДанныеРасходы.СуммаРегл КАК СтоимостьРегл,
| ВтДанныеРасходы.НДСРегл КАК НДСРегл,
| ВтДанныеРасходы.СуммаПР КАК ПостояннаяРазница,
| ВтДанныеРасходы.СуммаВР КАК ВременнаяРазница,
|
| НЕОПРЕДЕЛЕНО КАК ХозяйственнаяОперация,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ПОМЕСТИТЬ ВтИсходныеПартииПрочихРасходов
|ИЗ
| ВтДанныеРасходы КАК ВтДанныеРасходы
|
|ГДЕ
| &ОтражатьВОперативномУчете
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса)
ИмяРегистра = "ВтПартииПрочихРасходов";
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтИсходныеПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтИсходныеПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаВтПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПрочихРасходов";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтПартииПрочихРасходов", ТекстыЗапроса) Тогда
ТекстЗапросаТаблицаВтПартииПрочихРасходов(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса = РегистрыНакопления.ПартииПрочихРасходов.ТекстЗапросаТаблицаПартииПрочихРасходов();
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПрочиеАктивыПассивы";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| &Период КАК Период,
| Строки.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| Строки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Строки.Статья КАК Статья,
| ВЫБОР
| КОГДА Строки.Аналитика = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Строки.Аналитика
| КОНЕЦ КАК Аналитика,
| Строки.Сумма КАК Сумма,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.ПрочиеАктивыПассивы КАК Строки
|ГДЕ
| Строки.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПрочихАктивовПассивов)
| И Строки.Статья.АктивПассив В (
| ЗНАЧЕНИЕ(Перечисление.ВидыСтатейУправленческогоБаланса.Актив),
| ЗНАЧЕНИЕ(Перечисление.ВидыСтатейУправленческогоБаланса.АктивПассив))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| &Период КАК Период,
| Строки.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| Строки.НаправлениеДеятельности КАК НаправлениеДеятельности,
| Строки.Статья КАК Статья,
| ВЫБОР
| КОГДА Строки.Аналитика = ЗНАЧЕНИЕ(Перечисление.СтатьиБезАналитики.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Строки.Аналитика
| КОНЕЦ КАК Аналитика,
| Строки.Сумма КАК Сумма,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.ПрочиеАктивыПассивы КАК Строки
|ГДЕ
| Строки.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПрочихАктивовПассивов)
| И Строки.Статья.АктивПассив = ЗНАЧЕНИЕ(Перечисление.ВидыСтатейУправленческогоБаланса.Пассив)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыВЯчейках(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыВЯчейках";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &ЗонаПриемки КАК Ячейка,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Назначение КАК Назначение,
| ТаблицаТовары.Серия КАК Серия,
| ВЫБОР
| КОГДА ТаблицаТовары.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка)
| ТОГДА ТаблицаТовары.Упаковка
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
| КОНЕЦ КАК Упаковка,
| ВЫБОР
| КОГДА ТаблицаТовары.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка)
| ТОГДА ТаблицаТовары.КоличествоУпаковок
| ИНАЧЕ ТаблицаТовары.Количество
| КОНЕЦ КАК ВНаличии
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
|ГДЕ
| (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПриПереходеНаИспользованиеАдресногоХраненияОстатков)
| ИЛИ &ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков))
| И &ЗонаПриемки <> ЗНАЧЕНИЕ(Справочник.СкладскиеЯчейки.ПустаяСсылка))
| И &ОтражатьВОперативномУчете";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРасчетыПоФинансовымИнструментам(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РасчетыПоФинансовымИнструментам";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ИнициализироватьКлючиАналитикиПоПартнерам(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| РасчетыПоКредитамДепозитам.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| ЕСТЬNULL(Аналитика.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
| РасчетыПоКредитамДепозитам.Договор КАК Договор,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Транши)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Оплаты)
| КОНЕЦ КАК ТипГрафика,
| РасчетыПоКредитамДепозитам.ТипСуммы КАК ТипСуммы,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДДСПоступленияВыдачи
| ИНАЧЕ РасчетыПоКредитамДепозитам.Договор.СтатьяДДСОсновногоДолга
| КОНЕЦ КАК СтатьяАналитики,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ -РасчетыПоКредитамДепозитам.Сумма
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| ИНАЧЕ
| -ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.СуммаРегл
| ИНАЧЕ -РасчетыПоКредитамДепозитам.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов КАК Валюта,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК РасчетыПоКредитамДепозитам
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютДоговоров
| ПО КурсыВалютДоговоров.Валюта = РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| &Организация = Аналитика.Организация
| И РасчетыПоКредитамДепозитам.Контрагент = Аналитика.Контрагент
| И РасчетыПоКредитамДепозитам.Партнер = Аналитика.Партнер
| И Аналитика.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И Аналитика.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПоДоговорамКредитовИДепозитов)
| И &ОтражатьВОперативномУчете
| И РасчетыПоКредитамДепозитам.Ссылка = &Ссылка
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.ОсновнойДолг)
| И РасчетыПоКредитамДепозитам.Договор.ХарактерДоговора = ЗНАЧЕНИЕ(Перечисление.ХарактерыДоговоровФинансовыхИнструментов.КредитИлиЗайм)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыПоКредитамДепозитам.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| ЕСТЬNULL(Аналитика.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
| РасчетыПоКредитамДепозитам.Договор КАК Договор,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Транши)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Оплаты)
| КОНЕЦ КАК ТипГрафика,
| РасчетыПоКредитамДепозитам.ТипСуммы КАК ТипСуммы,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДДСПоступленияВыдачи
| ИНАЧЕ РасчетыПоКредитамДепозитам.Договор.СтатьяДДСОсновногоДолга
| КОНЕЦ КАК СтатьяАналитики,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ -РасчетыПоКредитамДепозитам.Сумма
| КОНЕЦ КАК СуммаВВалюте,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| ИНАЧЕ
| -ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.СуммаРегл
| ИНАЧЕ -РасчетыПоКредитамДепозитам.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов КАК Валюта,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК РасчетыПоКредитамДепозитам
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютДоговоров
| ПО КурсыВалютДоговоров.Валюта = РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| &Организация = Аналитика.Организация
| И РасчетыПоКредитамДепозитам.Контрагент = Аналитика.Контрагент
| И РасчетыПоКредитамДепозитам.Партнер = Аналитика.Партнер
| И Аналитика.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И Аналитика.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПоДоговорамКредитовИДепозитов)
| И &ОтражатьВОперативномУчете
| И РасчетыПоКредитамДепозитам.Ссылка = &Ссылка
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.ОсновнойДолг)
| И РасчетыПоКредитамДепозитам.Договор.ХарактерДоговора <> ЗНАЧЕНИЕ(Перечисление.ХарактерыДоговоровФинансовыхИнструментов.КредитИлиЗайм)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыПоКредитамДепозитам.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| КОНЕЦ КАК ВидДвижения,
| ЕСТЬNULL(Аналитика.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
| РасчетыПоКредитамДепозитам.Договор КАК Договор,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Оплаты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Начисления)
| КОНЕЦ КАК ТипГрафика,
| РасчетыПоКредитамДепозитам.ТипСуммы КАК ТипСуммы,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДоходовРасходовПроцентов
| КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Комиссия)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДоходовРасходовКомиссии
| КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДДСПроцентов
| КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Комиссия)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДДСКомиссии
| КОНЕЦ КАК СтатьяАналитики,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ -РасчетыПоКредитамДепозитам.Сумма
| КОНЕЦ КАК СуммаВВалюте,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| ИНАЧЕ
| -ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.СуммаРегл
| ИНАЧЕ -РасчетыПоКредитамДепозитам.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов КАК Валюта,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК РасчетыПоКредитамДепозитам
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютДоговоров
| ПО КурсыВалютДоговоров.Валюта = РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| &Организация = Аналитика.Организация
| И РасчетыПоКредитамДепозитам.Контрагент = Аналитика.Контрагент
| И РасчетыПоКредитамДепозитам.Партнер = Аналитика.Партнер
| И Аналитика.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И Аналитика.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПоДоговорамКредитовИДепозитов)
| И &ОтражатьВОперативномУчете
| И РасчетыПоКредитамДепозитам.Ссылка = &Ссылка
| И РасчетыПоКредитамДепозитам.Договор.ХарактерДоговора = ЗНАЧЕНИЕ(Перечисление.ХарактерыДоговоровФинансовыхИнструментов.КредитИлиЗайм)
| И РасчетыПоКредитамДепозитам.ТипСуммы В (
| ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты),
| ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Комиссия)
| )
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыПоКредитамДепозитам.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| КОНЕЦ КАК ВидДвижения,
| ЕСТЬNULL(Аналитика.КлючАналитики, Неопределено) КАК АналитикаУчетаПоПартнерам,
| РасчетыПоКредитамДепозитам.Договор КАК Договор,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Оплаты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыГрафиковФинансовыхИнструментов.Начисления)
| КОНЕЦ КАК ТипГрафика,
| РасчетыПоКредитамДепозитам.ТипСуммы КАК ТипСуммы,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДоходовРасходовПроцентов
| КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Комиссия)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДоходовРасходовКомиссии
| КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДДСПроцентов
| КОГДА РасчетыПоКредитамДепозитам.Сумма < 0
| И РасчетыПоКредитамДепозитам.ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Комиссия)
| ТОГДА РасчетыПоКредитамДепозитам.Договор.СтатьяДДСКомиссии
| КОНЕЦ КАК СтатьяАналитики,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ -РасчетыПоКредитамДепозитам.Сумма
| КОНЕЦ КАК СуммаВВалюте,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| ИНАЧЕ
| -ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоКредитамДепозитам.Сумма
| ИНАЧЕ РасчетыПоКредитамДепозитам.Сумма * ЕСТЬNULL(КурсыВалютДоговоров.КоэффициентПересчета, 1) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ
| КОНЕЦ КАК СуммаУпр,
| ВЫБОР КОГДА РасчетыПоКредитамДепозитам.Сумма > 0
| ТОГДА РасчетыПоКредитамДепозитам.СуммаРегл
| ИНАЧЕ -РасчетыПоКредитамДепозитам.СуммаРегл
| КОНЕЦ КАК СуммаРегл,
| РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов КАК Валюта,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК РасчетыПоКредитамДепозитам
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютДоговоров
| ПО КурсыВалютДоговоров.Валюта = РасчетыПоКредитамДепозитам.Договор.ВалютаВзаиморасчетов
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
| ПО
| &Организация = Аналитика.Организация
| И РасчетыПоКредитамДепозитам.Контрагент = Аналитика.Контрагент
| И РасчетыПоКредитамДепозитам.Партнер = Аналитика.Партнер
| И Аналитика.Договор = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| И Аналитика.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковПоДоговорамКредитовИДепозитов)
| И &ОтражатьВОперативномУчете
| И РасчетыПоКредитамДепозитам.Ссылка = &Ссылка
| И РасчетыПоКредитамДепозитам.Договор.ХарактерДоговора <> ЗНАЧЕНИЕ(Перечисление.ХарактерыДоговоровФинансовыхИнструментов.КредитИлиЗайм)
| И РасчетыПоКредитамДепозитам.ТипСуммы В (
| ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты),
| ЗНАЧЕНИЕ(Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Комиссия)
| )
|
|УПОРЯДОЧИТЬ ПО
| ТипГрафика УБЫВ,
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаТоварыПереданныеПереработчику(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ТоварыПереданныеПереработчику";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.Количество КАК Количество
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| И &ОтражатьВОперативномУчете";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "МатериалыИРаботыВПроизводстве";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТаблицаТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТаблицаТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Назначение КАК Назначение,
| &Подразделение КАК Подразделение,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВПроизводство) КАК ХозяйственнаяОперация,
| КлючиПроизводства.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК СтатьяЗатрат,
| НЕОПРЕДЕЛЕНО КАК ЗаказНаПроизводство,
| ТаблицаТовары.Количество КАК Количество
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиПроизводства
| ПО
| ТаблицаТовары.Номенклатура = КлючиПроизводства.Номенклатура
| И ТаблицаТовары.Характеристика = КлючиПроизводства.Характеристика
| И ТаблицаТовары.Назначение = КлючиПроизводства.Назначение
| И (ВЫБОР ТаблицаТовары.СтатусУказанияСерий
| КОГДА 14 ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КОНЕЦ) = КлючиПроизводства.Серия
| И &Подразделение = КлючиПроизводства.МестоХранения
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| ТаблицаТовары.Номенклатура КАК Номенклатура,
| ТаблицаТовары.Характеристика КАК Характеристика,
| ТаблицаТовары.Серия КАК Серия,
| ТаблицаТовары.Назначение КАК Назначение,
| &Партнер КАК Подразделение,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаПереработчику) КАК ХозяйственнаяОперация,
| КлючиПроизводства.КлючАналитики КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК СтатьяЗатрат,
| &ЗаказПереработчику КАК ЗаказНаПроизводство,
| ТаблицаТовары.Количество КАК Количество
|ИЗ
| ВтТаблицаТовары КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.АналитикаУчетаНоменклатуры КАК КлючиПроизводства
| ПО
| ТаблицаТовары.Номенклатура = КлючиПроизводства.Номенклатура
| И ТаблицаТовары.Характеристика = КлючиПроизводства.Характеристика
| И ТаблицаТовары.Назначение = КлючиПроизводства.Назначение
| И (ВЫБОР ТаблицаТовары.СтатусУказанияСерий
| КОГДА 14 ТОГДА ТаблицаТовары.Серия
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка) КОНЕЦ) = КлючиПроизводства.Серия
| И &Партнер = КлючиПроизводства.МестоХранения
|ГДЕ
| &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| И &ОтражатьВОперативномУчете
|";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ПартииПроизводственныхЗатрат";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтТовары", ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Период КАК Период,
| &Период КАК ДатаРегистратора,
| &Организация КАК Организация,
| ТаблицаТовары.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| ТаблицаТовары.ВидЗапасов КАК ВидЗапасов,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК Стоимость,
| ТаблицаТовары.СуммаБезНДС КАК СтоимостьБезНДС,
| ТаблицаТовары.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| &Ссылка КАК ДокументПоступления,
| ТаблицаТовары.СуммаПР КАК ПостояннаяРазница,
| ТаблицаТовары.СуммаВР КАК ВременнаяРазница,
| ТаблицаТовары.СуммаРегл КАК СтоимостьРегл,
| ТаблицаТовары.НДСРегл КАК НДСРегл,
| ТаблицаТовары.ВидДеятельностиНДС КАК НалогообложениеНДС
|ИЗ
| ВтТовары КАК ТаблицаТовары
|ГДЕ
| (&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам)
| И НЕ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
| ИЛИ ЛОЖЬ)
| И &ОтражатьСебестоимость
| И НЕ &ПартионныйУчетВерсии22
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаФинансовыеРезультаты(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ФинансовыеРезультаты";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДоходы.ДатаОтражения КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| ТаблицаДоходы.СтатьяДоходов КАК СтатьяДоходов,
| НЕОПРЕДЕЛЕНО КАК СтатьяРасходов,
| ТаблицаДоходы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ТаблицаДоходы.СуммаДоходов КАК Доходы,
| 0 КАК Расходы
|
|ИЗ
| Документ.ВводОстатков.ФинансовыйРезультатДоходы КАК ТаблицаДоходы
|
|ГДЕ
| ТаблицаДоходы.Ссылка = &Ссылка
| И &ОтражатьСебестоимость
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаРасходы.ДатаОтражения КАК Период,
| &Организация КАК Организация,
| &Подразделение КАК Подразделение,
| НЕОПРЕДЕЛЕНО КАК СтатьяДоходов,
| ТаблицаРасходы.СтатьяРасходов КАК СтатьяРасходов,
| ТаблицаРасходы.НаправлениеДеятельности КАК НаправлениеДеятельности,
| 0 КАК Доходы,
| ТаблицаРасходы.СуммаРасходов КАК Расходы
|
|ИЗ
| Документ.ВводОстатков.ФинансовыйРезультатРасходы КАК ТаблицаРасходы
|
|ГДЕ
| ТаблицаРасходы.Ссылка = &Ссылка
| И &ОтражатьСебестоимость
|
|УПОРЯДОЧИТЬ ПО
| Организация,
| Подразделение,
| НаправлениеДеятельности,
| СтатьяДоходов,
| СтатьяРасходов";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрАналитикаУчетаПоПартнерам(Запрос)
Если Запрос.Параметры.Свойство("АналитикаУчетаПоПартнерам") Тогда
Возврат;
КонецЕсли;
АналитикаУчетаПоПартнерам = РегистрыСведений.АналитикаУчетаПоПартнерам.ЗначениеКлючаАналитики(Запрос.Параметры);
Запрос.УстановитьПараметр("АналитикаУчетаПоПартнерам", АналитикаУчетаПоПартнерам);
КонецПроцедуры
Функция ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ВыручкаИСебестоимостьПродаж";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
УстановитьПараметрАналитикаУчетаПоПартнерам(Запрос);
ИнициализироватьКлючиАналитикиУчетаНоменклатуры(Запрос);
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.ДатаОтражения КАК Период,
| &Подразделение КАК Подразделение,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаСебестоимости.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНаборов,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
| ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| КОНЕЦ КАК ТипЗапасов,
| &Менеджер КАК Менеджер,
| ВЫБОР
| КОГДА НЕ (ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПустаяСсылка)
| КОГДА ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах) КОНЕЦ) КАК РазделУчета,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка
| ТОГДА &НалогообложениеНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ВидДеятельностиНДС,
| &Склад КАК Склад,
| &Договор КАК Договор,
| &СоглашениеСКлиентом КАК Соглашение,
| &ВалютаУправленческогоУчета КАК ВалютаВзаиморасчетов,
| &ВалютаУправленческогоУчета КАК ВалютаДокумента,
| &НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту) КАК ХозяйственнаяОперация,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
| 0 КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
| 0 КАК СуммаВВалютеДокумента,
| 0 КАК СуммаБезНДСВВалютеДокумента,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК СуммаВыручки,
| ТаблицаТовары.СуммаБезНДС КАК СуммаВыручкиБезНДС,
| ТаблицаТовары.СуммаРегл КАК СуммаВыручкиРегл,
| ТаблицаТовары.СуммаРегл + ТаблицаТовары.НДСРегл КАК СуммаВыручкиСНДСРегл,
|
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВводОстатков.ОптовыеПродажи КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаСебестоимости
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаСебестоимости.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = АналитикаСебестоимости.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия = АналитикаСебестоимости.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаСебестоимости.МестоХранения
| И &ПустоеНазначение = АналитикаСебестоимости.Назначение
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.ДатаОтражения КАК Период,
| &Подразделение КАК Подразделение,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры
| ИНАЧЕ АналитикаСебестоимости.КлючАналитики
| КОНЕЦ КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаНаборов,
| ТаблицаТовары.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| НЕОПРЕДЕЛЕНО КАК ЗаказКлиента,
| ВЫБОР
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Услуга)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.Товар)
| КОНЕЦ КАК ТипЗапасов,
| &Менеджер КАК Менеджер,
| ВЫБОР
| КОГДА НЕ (ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга))
| ТОГДА ТаблицаТовары.ВидЗапасов
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидЗапасов,
| (ВЫБОР
| КОГДА ТаблицаТовары.ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыПринятыеНаКомиссию)
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| КОГДА ТаблицаТовары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПустаяСсылка)
| КОГДА ЕСТЬNULL(ТаблицаТовары.АналитикаУчетаНоменклатуры.СкладскаяТерритория.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ТоварыНаСкладах) КОНЕЦ) КАК РазделУчета,
| (ВЫБОР
| КОГДА &ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка ТОГДА &НалогообложениеНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК ВидДеятельностиНДС,
| &Склад КАК Склад,
| &Договор КАК Договор,
| &СоглашениеСКлиентом КАК Соглашение,
| &ВалютаУправленческогоУчета КАК ВалютаВзаиморасчетов,
| &ВалютаУправленческогоУчета КАК ВалютаДокумента,
| &НалогообложениеНДС КАК НалогообложениеНДС,
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияВрозницу) КАК ХозяйственнаяОперация,
|
| &НаправлениеДеятельности КАК НаправлениеДеятельностиКонтрагента,
| ВЫБОР КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ТаблицаТовары.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК НаправлениеДеятельностиНоменклатуры,
|
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ИсточникГФУРасчетов,
|
| 0 КАК Стоимость,
| 0 КАК СтоимостьБезНДС,
| 0 КАК СтоимостьРегл,
| 0 КАК СуммаРучнойСкидки,
| 0 КАК СуммаАвтоматическойСкидки,
| 0 КАК СуммаВВалютеВзаиморасчетов,
| 0 КАК СуммаБезНДСВВалютеВзаиморасчетов,
| 0 КАК СуммаВВалютеДокумента,
| 0 КАК СуммаБезНДСВВалютеДокумента,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Сумма КАК СуммаВыручки,
| ТаблицаТовары.СуммаБезНДС КАК СуммаВыручкиБезНДС,
| ТаблицаТовары.СуммаРегл КАК СуммаВыручкиРегл,
| ТаблицаТовары.СуммаРегл + ТаблицаТовары.НДСРегл КАК СуммаВыручкиСНДСРегл,
|
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВводОстатков.РозничныеПродажи КАК ТаблицаТовары
|
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК АналитикаСебестоимости
| ПО ТаблицаТовары.АналитикаУчетаНоменклатуры.Номенклатура = АналитикаСебестоимости.Номенклатура
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Характеристика = АналитикаСебестоимости.Характеристика
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.Серия = АналитикаСебестоимости.Серия
| И ТаблицаТовары.АналитикаУчетаНоменклатуры.МестоХранения = АналитикаСебестоимости.МестоХранения
| И &ПустоеНазначение = АналитикаСебестоимости.Назначение
|ГДЕ
| ТаблицаТовары.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "ДенежныеСредстваВПути";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
Если Не ПроведениеДокументов.ЕстьТаблицаЗапроса("ВтКурсыВалют", ТекстыЗапроса) Тогда
ТекстЗапросаВтКурсыВалют(Запрос, ТекстыЗапроса);
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| РасчетыПоЭквайрингу.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
| &Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет КАК Получатель,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.Контрагент КАК Контрагент,
| РасчетыПоЭквайрингу.ДоговорЭквайринга КАК Договор,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет.ВалютаДенежныхСредств КАК Валюта,
| РасчетыПоЭквайрингу.Сумма КАК Сумма,
| РасчетыПоЭквайрингу.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ДоговорыЭквайринга.БанковскийСчет.ВалютаДенежныхСредств = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоЭквайрингу.Сумма
| ИНАЧЕ
| РасчетыПоЭквайрингу.Сумма * ЕСТЬNULL(КурсыВалютСчета.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатковРасчетовПоЭквайрингу.РасчетыПоЭквайрингу КАК РасчетыПоЭквайрингу
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК ДоговорыЭквайринга
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютСчета
| ПО КурсыВалютСчета.Валюта = ДоговорыЭквайринга.БанковскийСчет.ВалютаДенежныхСредств
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ПО РасчетыПоЭквайрингу.ДоговорЭквайринга = ДоговорыЭквайринга.Ссылка
|ГДЕ
| РасчетыПоЭквайрингу.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковДенежныхСредствКПоступлениюОтЭквайера)
| И РасчетыПоЭквайрингу.ТипДенежныхСредств = ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.ПоступлениеПоПлатежнойКарте)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыПоЭквайрингу.НомерСтроки КАК НомерСтроки,
| &Период КАК Период,
| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
| &Организация КАК Организация,
| ЗНАЧЕНИЕ(Перечисление.ВидыПереводовДенежныхСредств.ПоступлениеОтБанкаПоЭквайрингу) КАК ВидПереводаДенежныхСредств,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет КАК Получатель,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.Контрагент КАК Контрагент,
| РасчетыПоЭквайрингу.ДоговорЭквайринга КАК Договор,
| РасчетыПоЭквайрингу.ДоговорЭквайринга.БанковскийСчет.ВалютаДенежныхСредств КАК Валюта,
| РасчетыПоЭквайрингу.Сумма КАК Сумма,
| РасчетыПоЭквайрингу.СуммаРегл КАК СуммаРегл,
| ВЫБОР
| КОГДА ДоговорыЭквайринга.БанковскийСчет.ВалютаДенежныхСредств = &ВалютаУправленческогоУчета
| ТОГДА РасчетыПоЭквайрингу.Сумма
| ИНАЧЕ
| РасчетыПоЭквайрингу.Сумма * ЕСТЬNULL(КурсыВалютСчета.КоэффициентПересчета, 0) / ЕСТЬNULL(КурсыВалютУпр.КоэффициентПересчета, 1)
| КОНЕЦ КАК СуммаУпр,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|ИЗ
| Документ.ВводОстатковРасчетовПоЭквайрингу.РасчетыПоЭквайрингу КАК РасчетыПоЭквайрингу
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДоговорыЭквайринга КАК ДоговорыЭквайринга
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютСчета
| ПО КурсыВалютСчета.Валюта = ДоговорыЭквайринга.БанковскийСчет.ВалютаДенежныхСредств
| ЛЕВОЕ СОЕДИНЕНИЕ ВтКурсыВалют КАК КурсыВалютУпр
| ПО КурсыВалютУпр.Валюта = &ВалютаУправленческогоУчета
| ПО РасчетыПоЭквайрингу.ДоговорЭквайринга = ДоговорыЭквайринга.Ссылка
|ГДЕ
| РасчетыПоЭквайрингу.Ссылка = &Ссылка
| И &ОтражатьВОперативномУчете
| И &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковДенежныхСредствКПоступлениюОтЭквайера)
| И РасчетыПоЭквайрингу.ТипДенежныхСредств = ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствПоЭквайрингу.СписаниеПоПлатежнойКарте)
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Функция ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры)
ИмяРегистра = "РеестрДокументов";
Если Не ПроведениеДокументов.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда
Возврат "";
КонецЕсли;
ТекстЗапроса = "ВЫБРАТЬ
| &ИдентификаторМетаданных КАК ТипСсылки,
| &ХозяйственнаяОперация КАК ХозяйственнаяОперация,
| &Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Партнер,
| НЕОПРЕДЕЛЕНО КАК МестоХранения,
| НЕОПРЕДЕЛЕНО КАК Контрагент,
| &Подразделение КАК Подразделение,
| &Период КАК ДатаДокументаИБ,
| &Ссылка КАК Ссылка,
| &Номер КАК НомерДокументаИБ,
| НЕОПРЕДЕЛЕНО КАК Статус,
| &Ответственный КАК Ответственный,
| &Автор КАК Автор,
| ЛОЖЬ КАК ДополнительнаяЗапись,
| НЕОПРЕДЕЛЕНО КАК Дополнительно,
| &Проведен КАК Проведен,
| &ПометкаУдаления КАК ПометкаУдаления,
| НЕОПРЕДЕЛЕНО КАК ДатаПервичногоДокумента,
| НЕОПРЕДЕЛЕНО КАК НомерПервичногоДокумента,
| &Валюта КАК Валюта,
| &Договор КАК Договор,
| &НаправлениеДеятельности КАК НаправлениеДеятельности,
| &Период КАК ДатаОтраженияВУчете,
| &Исправление КАК СторноИсправление,
| &СторнируемыйДокумент КАК СторнируемыйДокумент,
| &ИсправляемыйДокумент КАК ИсправляемыйДокумент,
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиТовары.Сумма,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиКассы.Сумма,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиБанковскиеСчета.Сумма,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиКассыККМ.Сумма,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыМеждуОрганизациями.Сумма,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыСПартнерами.Сумма,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыСПодотчетниками.Сумма,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыПоЭквайрингу.Сумма,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиПрочиеАктивыПассивы.Сумма,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиПодарочныеСертификаты.СуммаВВалютеСертификата,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРасчетыПоФинансовымИнструментам.Сумма,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиТМЦВЭксплуатации.Сумма,0))
| + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиПрочиеРасходы.Сумма,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиФинансовыйРезультатРасходы.СуммаРасходов,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиФинансовыйРезультатДоходы.СуммаДоходов,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиОптовыеПродажи.Сумма,0))
| + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРозничныеПродажи.Сумма,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиНДСПредъявленный.СуммаБезНДС,0)) +
| СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиНДСПредъявленный.НДС,0)) + СУММА(ЕСТЬNULL(ДанныеТабличнойЧастиРасходыПриУСН.СуммаРасходов,0)) КАК Сумма,
| ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100)) КАК Комментарий,
| НЕОПРЕДЕЛЕНО КАК Приоритет
|ИЗ
| Документ.ВводОстатков КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.Товары КАК ДанныеТабличнойЧастиТовары
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиТовары.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.Кассы КАК ДанныеТабличнойЧастиКассы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиКассы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.БанковскиеСчета КАК ДанныеТабличнойЧастиБанковскиеСчета
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиБанковскиеСчета.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.КассыККМ КАК ДанныеТабличнойЧастиКассыККМ
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиКассыККМ.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыМеждуОрганизациями КАК ДанныеТабличнойЧастиРасчетыМеждуОрганизациями
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыМеждуОрганизациями.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыСПартнерами КАК ДанныеТабличнойЧастиРасчетыСПартнерами
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыСПартнерами.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыСПодотчетниками КАК ДанныеТабличнойЧастиРасчетыСПодотчетниками
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыСПодотчетниками.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыПоЭквайрингу КАК ДанныеТабличнойЧастиРасчетыПоЭквайрингу
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыПоЭквайрингу.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ПрочиеАктивыПассивы КАК ДанныеТабличнойЧастиПрочиеАктивыПассивы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиПрочиеАктивыПассивы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ПодарочныеСертификаты КАК ДанныеТабличнойЧастиПодарочныеСертификаты
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиПодарочныеСертификаты.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасчетыПоФинансовымИнструментам КАК
| ДанныеТабличнойЧастиРасчетыПоФинансовымИнструментам
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасчетыПоФинансовымИнструментам.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ТМЦВЭксплуатации КАК ДанныеТабличнойЧастиТМЦВЭксплуатации
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиТМЦВЭксплуатации.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ПрочиеРасходы КАК ДанныеТабличнойЧастиПрочиеРасходы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиПрочиеРасходы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ФинансовыйРезультатРасходы КАК ДанныеТабличнойЧастиФинансовыйРезультатРасходы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиФинансовыйРезультатРасходы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ФинансовыйРезультатДоходы КАК ДанныеТабличнойЧастиФинансовыйРезультатДоходы
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиФинансовыйРезультатДоходы.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.ОптовыеПродажи КАК ДанныеТабличнойЧастиОптовыеПродажи
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиОптовыеПродажи.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РозничныеПродажи КАК ДанныеТабличнойЧастиРозничныеПродажи
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРозничныеПродажи.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.НДСПредъявленный КАК ДанныеТабличнойЧастиНДСПредъявленный
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиНДСПредъявленный.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВводОстатков.РасходыПриУСН КАК ДанныеТабличнойЧастиРасходыПриУСН
| ПО ДанныеДокумента.Ссылка = ДанныеТабличнойЧастиРасходыПриУСН.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Номер,
| ДанныеДокумента.Ссылка,
| ВЫРАЗИТЬ(ДанныеДокумента.Комментарий КАК СТРОКА(100))";
ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра);
Возврат ТекстЗапроса;
КонецФункции
Процедура УстановитьПараметрыФормированияРегистровУчетаПартийНДС(Запрос)
Если Запрос.Параметры.Свойство("ФормироватьДетализацияПартийТоваровДляНДСиУСН")
И Запрос.Параметры.Свойство("ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4") Тогда
Возврат;
КонецЕсли;
ФормироватьДетализацияПартийТоваровДляНДСиУСН = Ложь;
Если РасчетСебестоимостиПрикладныеАлгоритмы.ФормированиеТаблицДокументаПриРасчетеПартийИСебестоимости(Запрос) Тогда
ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4 = Истина;
Иначе
ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4 = Ложь;
ИмяРегистраУчетаПартийНДС = РасчетСебестоимостиНДС.ИмяРегистраУчетаПартийНДС(Запрос.Параметры.Организация, Запрос.Параметры.Период);
Если ИмяРегистраУчетаПартийНДС = "ДетализацияПартийТоваровДляНДСиУСН" Тогда
ФормироватьДетализацияПартийТоваровДляНДСиУСН = Истина;
ИначеЕсли ИмяРегистраУчетаПартийНДС = "ДетализацияПартийТоваровДляНДСиУСН2_4" Тогда
ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4 = Истина;
КонецЕсли;
КонецЕсли;
Запрос.УстановитьПараметр("ФормироватьДетализацияПартийТоваровДляНДСиУСН", ФормироватьДетализацияПартийТоваровДляНДСиУСН);
Запрос.УстановитьПараметр("ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4", ФормироватьДетализацияПартийТоваровДляНДСиУСН2_4);
КонецПроцедуры
Процедура ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры)
ТекстЗапросаТабЧасть =
"ВЫБРАТЬ
| ТабЧасть.Ссылка КАК Ссылка,
| ТабЧасть.Ссылка.Дата КАК Период,
| ТабЧасть.Номенклатура КАК Номенклатура,
| ТабЧасть.Характеристика КАК Характеристика,
| ТабЧасть.Ссылка.Склад КАК Склад,
| ТабЧасть.Назначение КАК Назначение,
| ТабЧасть.Количество КАК Количество,
| ЛОЖЬ КАК ПоГрафику,
| НЕОПРЕДЕЛЕНО КАК РаспоряжениеВГрафике
|ИЗ
| Документ.ВводОстатков.Товары КАК ТабЧасть
|ГДЕ
| ТабЧасть.Ссылка.ОтражатьВОперативномУчете
| И ТабЧасть.Ссылка.ХозяйственнаяОперация В(
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков))";
РаспределениеЗапасовДвижения.ПриходЗапаса(Запрос, ТекстыЗапроса, Регистры, ТекстЗапросаТабЧасть, Неопределено, Ложь);
КонецПроцедуры
#Область ПартионныйУчет
Функция ОписаниеРегистровУчетаЗатратИСебестоимости(Документ) Экспорт
ОписаниеРегистров = Новый Массив;
ОписаниеРегистров.Добавить(Метаданные.РегистрыНакопления.СебестоимостьТоваров);
Возврат ОписаниеРегистров;
КонецФункции
Функция УстановитьДополнительныеПараметрыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено) Экспорт
ДополнительныеПараметры = Новый Массив;
Если Запрос <> Неопределено Тогда
КонецЕсли;
Возврат ДополнительныеПараметры;
КонецФункции
Функция СформироватьДополнительныеТаблицыОперацийУчетаЗатратИСебестоимости(Документ, Запрос = Неопределено, ТекстыЗапроса = Неопределено) Экспорт
ДополнительныеТаблицы = Новый Массив;
ДополнительныеТаблицы.Добавить("ВтТовары");
Если Запрос <> Неопределено Тогда
Если НЕ ПроведениеДокументов.ЕстьТаблицаЗапроса(ДополнительныеТаблицы[0], ТекстыЗапроса) Тогда
ТекстЗапросаВтТовары(Запрос, ТекстыЗапроса);
КонецЕсли;
КонецЕсли;
Возврат ДополнительныеТаблицы;
КонецФункции
Функция ОписаниеОперацийУчетаСебестоимости(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область ВнешнееПоступление_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаСебестоимости КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка
| ТОГДА
| ВЫБОР КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаДокумента.Партия
| ИНАЧЕ ТаблицаДокумента.Ссылка
| КОНЕЦ
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И НЕ &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| ТаблицаДокумента.Партнер КАК Поставщик,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаВидыЗапасов.СтавкаНДС КАК СтавкаНДС,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.НДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК НДСРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.НДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаРегл + ТаблицаВидыЗапасов.НДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК СтоимостьНДД,
| 0 КАК КорСтоимость,
|
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВПроизводство)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеТоваров)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВводОстатков КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПервичныйДокумент КАК ПервичныеДокументы
| ПО ТаблицаДокумента.Партия = ПервичныеДокументы.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию))
| И &ОтражатьСебестоимость
| И ВЫБОР КОГДА &ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка И НЕ &ВводОстатков22
| ТОГДА ЕСТЬNULL(ПервичныеДокументы.ТипПервичногоДокумента, НЕОПРЕДЕЛЕНО) =
| ЗНАЧЕНИЕ(Перечисление.ТипыПервичныхДокументов.ПриобретениеУПоставщика)
| ИНАЧЕ ИСТИНА
| КОНЕЦ";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнешнееПоступление,
ТекстЗапроса);
#КонецОбласти
#Область ВнутреннееПоступление_Товар
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаСебестоимости КАК АналитикаУчетаНоменклатуры,
| ТаблицаВидыЗапасов.ВидЗапасов КАК ВидЗапасов,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка
| ТОГДА
| ВЫБОР КОГДА НЕ &ВводОстатков22
| ТОГДА ТаблицаДокумента.Партия
| ИНАЧЕ ТаблицаДокумента.Ссылка
| КОНЕЦ
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Партия,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22
| ТОГДА ТаблицаВидыЗапасов.ВидДеятельностиНДС
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК ВидДеятельностиНДС,
| ТаблицаДокумента.ВидДеятельностиНДС КАК ВидДеятельностиНДСДокумента,
|
| ТаблицаВидыЗапасов.АналитикаУчетаПартий КАК АналитикаУчетаПартий,
| ВЫБОР КОГДА &ПартионныйУчетВерсии22 И НЕ &ФИФОСкользящаяОценка
| ТОГДА ТаблицаВидыЗапасов.АналитикаУчетаПартий
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК КорАналитикаУчетаПартий,
| 0 КАК КодСтроки,
|
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорГруппаПродукции,
|
| НЕОПРЕДЕЛЕНО КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| ТаблицаВидыЗапасов.ГруппаПродукции КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК Стоимость,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьБезНДС,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.НДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК НДСРегл,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаБезНДС
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.НДСУпр
| ИНАЧЕ 0
| КОНЕЦ КАК НДСУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.Сумма
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансовая,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаРегл + ТаблицаВидыЗапасов.НДСРегл
| ИНАЧЕ 0
| КОНЕЦ КАК СтоимостьЗабалансоваяРегл,
| 0 КАК ДопРасходы,
| 0 КАК ДопРасходыБезНДС,
| 0 КАК ДопРасходыРегл,
| 0 КАК ДопРасходыУпр,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаПР
| ИНАЧЕ 0
| КОНЕЦ КАК ПостояннаяРазница,
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию)
| ТОГДА ТаблицаВидыЗапасов.СуммаВР
| ИНАЧЕ 0
| КОНЕЦ КАК ВременнаяРазница,
| 0 КАК СтоимостьНДД,
| 0 КАК КорСтоимость,
|
| ВЫБОР КОГДА ТаблицаДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПередачаВПроизводство)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОприходованиеТоваров)
| КОНЕЦ КАК ХозяйственнаяОперация,
| &ИдентификаторНеиспользуемойФинЗаписи КАК ИдентификаторФинЗаписи,
| НЕОПРЕДЕЛЕНО КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВводОстатков КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтТовары КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПервичныйДокумент КАК ПервичныеДокументы
| ПО ТаблицаДокумента.Партия = ПервичныеДокументы.Ссылка
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаДокумента.ХозяйственнаяОперация В
| (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковСобственныхТоваров),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПереданныхНаКомиссию),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхВПроизводство),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковМатериаловПереданныхПереработчикам),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию))
| И &ОтражатьСебестоимость
| И НЕ ВЫБОР КОГДА &ПартионныйУчетВерсии22 И &ФИФОСкользящаяОценка И НЕ &ВводОстатков22
| ТОГДА ЕСТЬNULL(ПервичныеДокументы.ТипПервичногоДокумента, НЕОПРЕДЕЛЕНО) =
| ЗНАЧЕНИЕ(Перечисление.ТипыПервичныхДокументов.ПриобретениеУПоставщика)
| ИНАЧЕ ИСТИНА
| КОНЕЦ";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.ВнутреннееПоступление,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
КонецФункции
Функция ОписаниеОперацийУчетаВыручки(Документ) Экспорт
ОписаниеОпераций = Новый Массив;
#Область Реализация
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Дата КАК Период,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| НЕОПРЕДЕЛЕНО КАК ДокументИсточник,
| НЕОПРЕДЕЛЕНО КАК ПериодДокументаИсточника,
| НЕОПРЕДЕЛЕНО КАК КорректируемыйДокумент,
|
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаВидыЗапасов.АналитикаУчетаНоменклатуры КАК АналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК ВидЗапасов,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДС,
| ТаблицаВидыЗапасов.НалогообложениеНДС КАК ВидДеятельностиНДСДокумента,
|
| НЕОПРЕДЕЛЕНО КАК КорОрганизация,
| НЕОПРЕДЕЛЕНО КАК КорАналитикаУчетаНоменклатуры,
| НЕОПРЕДЕЛЕНО КАК КорВидЗапасов,
| НЕОПРЕДЕЛЕНО КАК КорПартия,
| &АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| ВЫБОР КОГДА &АктПоЗаказам ТОГДА
| ТаблицаВидыЗапасов.ЗаказКлиента
| ИНАЧЕ
| ТаблицаДокумента.Ссылка
| КОНЕЦ КАК ЗаказКлиента,
|
| ТаблицаДокумента.Сделка КАК Сделка,
| ТаблицаДокумента.Подразделение КАК Подразделение,
| ТаблицаДокумента.Менеджер КАК Менеджер,
| НЕОПРЕДЕЛЕНО КАК ГруппаПродукции,
|
| ТаблицаВидыЗапасов.Количество КАК Количество,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиенту) КАК ХозяйственнаяОперация,
| ТаблицаВидыЗапасов.ИдентификаторСтроки КАК ИдентификаторФинЗаписи,
| &НастройкаХозяйственнойОперации КАК НастройкаХозяйственнойОперации
|
|ИЗ
| Документ.ВводОстатков КАК ТаблицаДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтРаботыУслуги КАК ТаблицаВидыЗапасов
| ПО ИСТИНА
|ГДЕ
| ТаблицаДокумента.Ссылка В (&Ссылка)
| И ТаблицаВидыЗапасов.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)";
РасчетСебестоимостиПроведениеДокументов.ДобавитьОписаниеОперацииДляОтраженияВУчетеСебестоимости(
ОписаниеОпераций,
Перечисления.ОперацииУчетаСебестоимости.Реализация,
ТекстЗапроса);
#КонецОбласти
Возврат ОписаниеОпераций;
Возврат ОписаниеОпераций;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область Прочее
Функция ВидимостьГруппУчета(Объект) Экспорт
ВидимостьГруппУчета = ПолучитьФункциональнуюОпцию("ИспользоватьРеглУчет")
ИЛИ РасчетСебестоимостиПовтИсп.ФормироватьДвиженияПоРегистрамСебестоимости(НачалоМесяца(Объект.Дата), Истина);
Возврат ВидимостьГруппУчета;
КонецФункции
Функция ДанныеДокументаДляПроведения(Документ, Регистры, ДопПараметры = Неопределено) Экспорт
Если ТипЗнч(Документ) = Тип("ДокументОбъект.ВводОстатков") Тогда
ДокументСсылка = Документ.Ссылка;
Иначе
ДокументСсылка = Документ;
КонецЕсли;
Запрос = Новый Запрос;
ЗаполнитьПараметрыИнициализации(Запрос, ДокументСсылка);
ТекстыЗапроса = Новый СписокЗначений;
ТекстЗапросаТаблицаТоварыНаСкладах(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДатыПоступленияТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДатыПередачиТоваровНаКомиссию(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваНаличные(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваВКассахККМ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваБезналичные(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыСКлиентами(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыСПоставщиками(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыСКлиентамиНУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыСПоставщикамиНУ(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваУПодотчетныхЛиц(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыПоЭквайрингу(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДвиженияСерийТоваров(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииТоваровОрганизаций(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииТоваровПереданныеНаКомиссию(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПринятаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПереданнаяВозвратнаяТара(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеАктивыПассивы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыВЯчейках(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРасчетыПоФинансовымИнструментам(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаТоварыПереданныеПереработчику(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаМатериалыИРаботыВПроизводстве(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПроизводственныхЗатрат(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПрочиеРасходы(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаПартииПрочихРасходов(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаФинансовыеРезультаты(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаВыручкаИСебестоимостьПродаж(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДенежныеСредстваВПути(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаДетализацияПартийТоваровДляНДСиУСН(Запрос, ТекстыЗапроса, Регистры);
ТекстЗапросаТаблицаРеестрДокументов(Запрос, ТекстыЗапроса, Регистры);
ОтразитьРаспределениеЗапасовДвижения(Запрос, ТекстыЗапроса, Регистры);
ОтразитьВУчетеНДС(Запрос, ТекстыЗапроса, Регистры);
ПроведениеДокументов.ДобавитьЗапросыСторноДвижений(Запрос, ТекстыЗапроса, Регистры, ПустаяСсылка().Метаданные());
РасчетСебестоимостиПроведениеДокументов.ОтразитьВМеханизмеУчетаЗатратИСебестоимости(ДокументСсылка, Запрос, ТекстыЗапроса, Регистры);
ВводОстатковЛокализация.ВводОстатковДополнитьТекстыЗапросовПроведения(Запрос, ТекстыЗапроса, Регистры);
Возврат ПроведениеДокументов.ИнициализироватьДанныеДокументаДляПроведения(Запрос, ТекстыЗапроса, ДопПараметры);
КонецФункции
Функция ТипДокументаРасчетовПоХозяйственнойОперации(ХозяйственнаяОперация) Экспорт
ОбъектРасчетов = Неопределено;
Возврат ОбъектРасчетов;
КонецФункции
Функция ХозяйственнаяОперацияДоговораПоТипуОперации(ХозяйственнаяОперация) Экспорт
Если ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовКлиентов Тогда
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту;
ИначеЕсли ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам
Или ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам Тогда
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ЗакупкаУПоставщика;
Иначе
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПустаяСсылка();
КонецЕсли;
Возврат ХозяйственнаяОперация;
КонецФункции
Функция ИмяТабличнойЧастиРасчетовПоХозяйственнойОперации(ХозяйственнаяОперация) Экспорт
Если (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов)
Или (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовКлиентов)
Или (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам)
Или (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам) Тогда
Возврат "РасчетыСПартнерами";
ИначеЕсли (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиПодотчетников)
Или (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковПерерасходовПодотчетныхСредств) Тогда
Возврат "РасчетыСПодотчетниками";
ИначеЕсли (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
Или (ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам) Тогда
Возврат "РасчетыМеждуОрганизациями";
Иначе
Возврат "";
КонецЕсли;
КонецФункции
Процедура ПодобратьДокументРасчетов(Объект, ТекущиеДанные, Отказ = Ложь) Экспорт
ИмяТЧ = ИмяТабличнойЧастиРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Если ТекущиеДанные.ОбъектРасчетов = Неопределено Тогда
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Если ТекущиеДанные.ОбъектРасчетов = Неопределено Тогда
Возврат;
КонецЕсли;
КонецЕсли;
МетаданныеРасчетногоДокумента = Метаданные.НайтиПоТипу(ТипЗнч(ТекущиеДанные.ОбъектРасчетов));
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоров") Тогда
ПредставлениеОбъекта = НСтр("ru = 'Договор контрагента'");
ИначеЕсли ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями") Тогда
ПредставлениеОбъекта = НСтр("ru = 'Договор между организациями'");
Иначе
ПредставлениеОбъекта = ?(ЗначениеЗаполнено(МетаданныеРасчетногоДокумента.ПредставлениеОбъекта),МетаданныеРасчетногоДокумента.ПредставлениеОбъекта,МетаданныеРасчетногоДокумента.Синоним);
КонецЕсли;
Запрос = Новый Запрос;
Если ИмяТЧ = "РасчетыСПартнерами" Тогда
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументРасчетов.Ссылка,
| ДокументРасчетов.Контрагент,
| ДокументРасчетов.Партнер,
| ДокументРасчетов.Организация,
| ДокументРасчетов.ВалютаВзаиморасчетов КАК Валюта,
| ДокументРасчетов.Дата,
| ДокументРасчетов.Номер
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДокументРасчетов
|ГДЕ
| ДокументРасчетов.Номер = &Номер
| И ДокументРасчетов.Дата = &Дата
| И ДокументРасчетов.Партнер = &Партнер
| И ДокументРасчетов.Контрагент = &Контрагент
| И ДокументРасчетов.Организация = &Организация
| И ДокументРасчетов.ОплатаВВалюте = ЛОЖЬ";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Номер",СокрЛП(ТекущиеДанные.НомерРасчетногоДокумента));
Запрос.УстановитьПараметр("Дата",ТекущиеДанные.ДатаРасчетногоДокумента);
Запрос.УстановитьПараметр("Партнер",ТекущиеДанные.Партнер);
Запрос.УстановитьПараметр("Контрагент",ТекущиеДанные.Контрагент);
Запрос.УстановитьПараметр("Организация",Объект.Организация);
ИначеЕсли ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоров") Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументРасчетов.Ссылка,
| ДокументРасчетов.Контрагент,
| ДокументРасчетов.Партнер,
| ДокументРасчетов.Организация,
| ДокументРасчетов.ВалютаВзаиморасчетов КАК Валюта,
| ДокументРасчетов.Дата,
| ДокументРасчетов.Номер
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДокументРасчетов
|ГДЕ
| ДокументРасчетов.Номер = &Номер
| И ДокументРасчетов.Дата = &Дата
| И ДокументРасчетов.Партнер = &Партнер
| И ДокументРасчетов.Контрагент = &Контрагент
| И ДокументРасчетов.Организация = &Организация
| И ДокументРасчетов.ТипДоговора = &ТипДоговора";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Номер",СокрЛП(ТекущиеДанные.НомерРасчетногоДокумента));
Запрос.УстановитьПараметр("Дата",ТекущиеДанные.ДатаРасчетногоДокумента);
Запрос.УстановитьПараметр("Партнер",ТекущиеДанные.Партнер);
Запрос.УстановитьПараметр("Контрагент",ТекущиеДанные.Контрагент);
Запрос.УстановитьПараметр("Организация",Объект.Организация);
Запрос.УстановитьПараметр("ТипДоговора",ТекущиеДанные.ОбъектРасчетов);
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументРасчетов.Ссылка,
| ДокументРасчетов.Контрагент,
| ДокументРасчетов.Партнер,
| ДокументРасчетов.Организация,
| ДокументРасчетов.Валюта,
| ДокументРасчетов.Дата,
| ДокументРасчетов.Номер
|ИЗ
| Документ."+МетаданныеРасчетногоДокумента.Имя+" КАК ДокументРасчетов
|ГДЕ
| ДокументРасчетов.Номер = &Номер
| И ГОД(ДокументРасчетов.Дата) = &Год";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Номер",ТекущиеДанные.НомерРасчетногоДокумента);
Запрос.УстановитьПараметр("Год",Год(ТекущиеДанные.ДатаРасчетногоДокумента));
КонецЕсли;
ИначеЕсли ИмяТЧ = "РасчетыСПодотчетниками" Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументРасчетов.Ссылка,
| ДокументРасчетов.ПодотчетноеЛицо,";
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) <> Тип("ДокументСсылка.АвансовыйОтчет") Тогда
ТекстЗапроса = ТекстЗапроса + "
| ДокументРасчетов.ХозяйственнаяОперация,";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
| ДокументРасчетов.Организация,
| ДокументРасчетов.Валюта,
| ДокументРасчетов.Дата,
| ДокументРасчетов.Номер
|ИЗ
| Документ."+МетаданныеРасчетногоДокумента.Имя+" КАК ДокументРасчетов
|ГДЕ
| ДокументРасчетов.Номер = &Номер
| И ГОД(ДокументРасчетов.Дата) = &Год";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Номер",ТекущиеДанные.НомерРасчетногоДокумента);
Запрос.УстановитьПараметр("Год",Год(ТекущиеДанные.ДатаРасчетногоДокумента));
ИначеЕсли ИмяТЧ = "РасчетыМеждуОрганизациями" Тогда
ТекущиеДанные.ОбъектРасчетовОтправитель = Справочники.ОбъектыРасчетов.ПустаяСсылка();
ТекущиеДанные.ОбъектРасчетовПолучатель = Справочники.ОбъектыРасчетов.ПустаяСсылка();
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("СправочникСсылка.ДоговорыМеждуОрганизациями")
Или ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями") Тогда
ТекстЗапроса = "
|ВЫБРАТЬ
| ДокументРасчетов.Ссылка,
| ДокументРасчетов.ОрганизацияПолучатель КАК Контрагент,
| НЕОПРЕДЕЛЕНО КАК Партнер,
| ДокументРасчетов.Организация,
| ДокументРасчетов.ВалютаВзаиморасчетов КАК Валюта,
| ДокументРасчетов.Дата,
| ДокументРасчетов.Номер
|ИЗ
| Справочник.ДоговорыМеждуОрганизациями КАК ДокументРасчетов
|ГДЕ
| ДокументРасчетов.Номер = &Номер
| И ДокументРасчетов.Дата = &Дата
| И ДокументРасчетов.ОрганизацияПолучатель = &ОрганизацияПолучатель
| И ДокументРасчетов.Организация = &Организация
| И ДокументРасчетов.ОплатаВВалюте = ЛОЖЬ
| И ДокументРасчетов.ТипДоговора = &ТипДоговора
|";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Номер",СокрЛП(ТекущиеДанные.НомерРасчетногоДокумента));
Запрос.УстановитьПараметр("Дата",ТекущиеДанные.ДатаРасчетногоДокумента);
Запрос.УстановитьПараметр("ОрганизацияПолучатель",Объект.ОрганизацияПолучатель);
Запрос.УстановитьПараметр("Организация",Объект.Организация);
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("СправочникСсылка.ДоговорыМеждуОрганизациями") Тогда
Запрос.УстановитьПараметр("ТипДоговора",ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущиеДанные.ОбъектРасчетов, "ТипДоговора"));
Иначе
Запрос.УстановитьПараметр("ТипДоговора",ТекущиеДанные.ОбъектРасчетов);
КонецЕсли;
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
| ДокументРасчетов.Ссылка,
| ДокументРасчетов.Контрагент,
| ДокументРасчетов.Партнер,
| ДокументРасчетов.Организация, ";
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) <> Тип("ДокументСсылка.ОтчетПоКомиссииМеждуОрганизациями") И
ТипЗнч(ТекущиеДанные.ОбъектРасчетов) <> Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
ТекстЗапроса = ТекстЗапроса + "
| ДокументРасчетов.Комиссионер КАК ОрганизацияПолучатель,";
Иначе
ТекстЗапроса = ТекстЗапроса + "
| ДокументРасчетов.ОрганизацияПолучатель КАК ОрганизацияПолучатель,";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
| ДокументРасчетов.Валюта,
| ДокументРасчетов.Дата,
| ДокументРасчетов.Номер
|ИЗ
| Документ."+МетаданныеРасчетногоДокумента.Имя+" КАК ДокументРасчетов
|ГДЕ
| ДокументРасчетов.Номер = &Номер
| И ГОД(ДокументРасчетов.Дата) = &Год";
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Номер",ТекущиеДанные.НомерРасчетногоДокумента);
Запрос.УстановитьПараметр("Год",Год(ТекущиеДанные.ДатаРасчетногоДокумента));
КонецЕсли;
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Если ИмяТЧ = "РасчетыСПартнерами" Тогда
Если Выборка.Организация <> Объект.Организация Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% организация отличается от указанной во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].НомерРасчетногоДокумента",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ТекущиеДанные.Партнер)
И Выборка.Партнер <> ТекущиеДанные.Партнер Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% партнер отличается от указанного во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].Партнер",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ТекущиеДанные.Контрагент)
И Выборка.Контрагент <> ТекущиеДанные.Контрагент Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% контрагент отличается от указанного во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].Контрагент",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
ТекущиеДанные.Контрагент = Выборка.Контрагент;
ТекущиеДанные.Партнер = Выборка.Партнер;
Если Не ЗначениеЗаполнено(ТекущиеДанные.ВалютаВзаиморасчетов) Тогда
ТекущиеДанные.ВалютаВзаиморасчетов = Выборка.Валюта;
КонецЕсли;
ИначеЕсли ИмяТЧ = "РасчетыСПодотчетниками" Тогда
Если Выборка.Организация <> Объект.Организация Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% организация отличается от указанной во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].НомерРасчетногоДокумента",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ТекущиеДанные.ПодотчетноеЛицо)
И Выборка.ПодотчетноеЛицо <> ТекущиеДанные.ПодотчетноеЛицо Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% подотчетное лицо отличается от указанного во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].ПодотчетноеЛицо",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ТекущиеДанные.Валюта)
И Выборка.Валюта <> ТекущиеДанные.Валюта Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% валюта отличается от указанной во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].ПодотчетноеЛицо",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) <> Тип("ДокументСсылка.АвансовыйОтчет")
И Выборка.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% хозяйственная операция отличается от ""%ВыдачаДенежныхСредствПодотчетнику%""'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ВыдачаДенежныхСредствПодотчетнику%",Перечисления.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].НомерРасчетногоДокумента",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
ТекущиеДанные.ПодотчетноеЛицо = Выборка.ПодотчетноеЛицо;
ТекущиеДанные.Валюта = Выборка.Валюта;
ИначеЕсли ИмяТЧ = "РасчетыМеждуОрганизациями" Тогда
Если Выборка.Организация <> Объект.Организация Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% %РольОрганизации% отличается от указанной во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%РольОрганизации%",НСтр("ru = 'организация-продавец'"));
Иначе
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%РольОрганизации%",НСтр("ru = 'организация-комитент'"));
КонецЕсли;
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].НомерРасчетногоДокумента",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если Выборка.Контрагент <> Объект.ОрганизацияПолучатель Тогда
ТекстСообщения = НСтр("ru = 'В найденном документе ""%ТипДокумента%"" № %Номер% %РольОрганизации% отличается от указанной во вводе остатков'");
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%ТипДокумента%",ПредставлениеОбъекта);
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%Номер%",ТекущиеДанные.НомерРасчетногоДокумента);
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%РольОрганизации%",НСтр("ru = 'организация-покупатель'"));
Иначе
ТекстСообщения = СтрЗаменить(ТекстСообщения,"%РольОрганизации%",НСтр("ru = 'организация-комиссионер'"));
КонецЕсли;
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения,,"Объект."+ИмяТЧ+"["+Формат(ТекущиеДанные.НомерСтроки-1,"ЧГ=0")+"].НомерРасчетногоДокумента",,Отказ);
ТекущиеДанные.ОбъектРасчетов = ТипДокументаРасчетовПоХозяйственнойОперации(Объект.ХозяйственнаяОперация);
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(ТекущиеДанные.ВалютаВзаиморасчетов) Тогда
ТекущиеДанные.ВалютаВзаиморасчетов = Выборка.Валюта;
КонецЕсли;
КонецЕсли;
ТекущиеДанные.ОбъектРасчетов = Выборка.Ссылка;
ТекущиеДанные.ДатаРасчетногоДокумента = Выборка.Дата;
ТекущиеДанные.НомерРасчетногоДокумента = Выборка.Номер;
Иначе
Если ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("СправочникСсылка.ДоговорыКонтрагентов")
Или ТипЗнч(ТекущиеДанные.ОбъектРасчетов) = Тип("СправочникСсылка.ДоговорыМеждуОрганизациями") Тогда
ТекущиеДанные.ОбъектРасчетов = ТекущиеДанные.ОбъектРасчетов.ТипДоговора;
ТекущиеДанные.ОбъектРасчетовОтправитель = Справочники.ОбъектыРасчетов.ПустаяСсылка();
Если ИмяТЧ = "РасчетыМеждуОрганизациями" Тогда
ТекущиеДанные.ОбъектРасчетовПолучатель = Справочники.ОбъектыРасчетов.ПустаяСсылка();
КонецЕсли;
ИначеЕсли ТипЗнч(ТекущиеДанные.ОбъектРасчетов) <> Тип("ПеречислениеСсылка.ТипыДоговоров")
И ТипЗнч(ТекущиеДанные.ОбъектРасчетов) <> Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями") Тогда
МетаданныеДокумента = Метаданные.НайтиПоТипу(ТипЗнч(ТекущиеДанные.ОбъектРасчетов));
ТекущиеДанные.ОбъектРасчетов = Документы[МетаданныеДокумента.Имя].ПустаяСсылка();
ТекущиеДанные.ОбъектРасчетовОтправитель = Справочники.ОбъектыРасчетов.ПустаяСсылка();
Если ИмяТЧ = "РасчетыМеждуОрганизациями" Тогда
ТекущиеДанные.ОбъектРасчетовПолучатель = Справочники.ОбъектыРасчетов.ПустаяСсылка();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ДоступныеТипыОпераций(ВключатьДоступныеТолькоВ22 = Ложь) Экспорт
ПараметрыДоступныхХозяйственныхОпераций = ВводОстатковСервер.ИнициализироватьПараметрыОтбораДоступныхХозяйственныхОпераций();
Возврат ВводОстатковСервер.ДоступныеХозяйственныеОперации(ПараметрыДоступныхХозяйственныхОпераций);
КонецФункции
Функция УстановитьПрефикс(Организация) Экспорт
ПрефиксИнформационнойБазы = "";
ПрефиксОрганизации = "";
УстановитьПривилегированныйРежим(Истина);
ПрефиксИнформационнойБазы = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
СтроковыеФункцииКлиентСервер.ДополнитьСтроку(ПрефиксИнформационнойБазы, 2, "0", "Слева");
ПрефиксОрганизации = ПолучитьФункциональнуюОпцию("ПрефиксыОрганизаций", Новый Структура("Организация", Организация));
Если ПрефиксОрганизации = Ложь Тогда
ПрефиксОрганизации = "";
КонецЕсли;
СтроковыеФункцииКлиентСервер.ДополнитьСтроку(ПрефиксОрганизации, 2, "0", "Слева");
ОсновнойПрефикс = ПрефиксОрганизации + ПрефиксИнформационнойБазы;
Разделитель = ?(ПустаяСтрока(ОсновнойПрефикс), "", "-");
Префикс = ОсновнойПрефикс + Разделитель + Префикс;
Если ПустаяСтрока(Префикс) Тогда
Префикс = "0";
КонецЕсли;
Возврат Префикс;
КонецФункции
Функция ЗаголовокДокументаПоТипуОперации(Документ, НомерДокумента, ДатаДокумента, ХозяйственнаяОперация) Экспорт
Возврат ВводОстатковВызовСервера.ЗаголовокДокументаВводОстатковПоХозяйственнойОперации(Документ, НомерДокумента, ДатаДокумента, ХозяйственнаяОперация);
КонецФункции
Процедура ЗаполнитьОбъектыРасчетов(Объект, РежимЗаписи) Экспорт
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиОтправительВТ = ОбъектыРасчетовСервер.ПараметрыПоискаПустогоОбъектаРасчетов();
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиПолучательВТ = ОбъектыРасчетовСервер.ПараметрыПоискаПустогоОбъектаРасчетов();
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиОтправитель = Новый Соответствие();
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиПолучатель = Новый Соответствие();
Если Объект.Проведен Тогда
Для Каждого СтрокаТЧ Из Объект.РасчетыМеждуОрганизациями Цикл
Если Не ЗначениеЗаполнено(СтрокаТЧ.ОбъектРасчетов) Тогда
НоваяСтрокаОтправитель = ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиОтправительВТ.Добавить();
НоваяСтрокаОтправитель.Организация = Объект.Организация;
НоваяСтрокаОтправитель.Контрагент = Объект.ОрганизацияПолучатель;
НоваяСтрокаОтправитель.Партнер = Справочники.Партнеры.НашеПредприятие;
НоваяСтрокаОтправитель.НомерСтроки = СтрокаТЧ.НомерСтроки;
НоваяСтрокаОтправитель.Договор = Справочники.ДоговорыМеждуОрганизациями.ПустаяСсылка();
НоваяСтрокаОтправитель.ВалютаВзаиморасчетов = СтрокаТЧ.ВалютаВзаиморасчетов;
НоваяСтрокаОтправитель.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
НоваяСтрокаПолучатель = ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиПолучательВТ.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаПолучатель, НоваяСтрокаОтправитель);
НоваяСтрокаПолучатель.Организация = Объект.ОрганизацияПолучатель;
НоваяСтрокаПолучатель.Контрагент = Объект.Организация;
НоваяСтрокаПолучатель.ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
КонецЕсли;
КонецЦикла;
Если ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиОтправительВТ.Количество() Тогда
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиОтправитель = ОбъектыРасчетовСервер.НайтиОбъектыРасчетовПоАналитикеУчетаПоПартнерам(
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиОтправительВТ);
КонецЕсли;
Если ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиПолучательВТ.Количество() Тогда
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиПолучатель = ОбъектыРасчетовСервер.НайтиОбъектыРасчетовПоАналитикеУчетаПоПартнерам(
ПустыеОбъектыРасчетовТЧРасчетыМеждуОрганизациямиПолучательВТ);
КонецЕсли;
ПустыеОбъектыРасчетовТЧРасчетыСПартнерамиВТ = ОбъектыРасчетовСервер.ПараметрыПоискаПустогоОбъектаРасчетов();
Для Каждого СтрокаТЧ Из Объект.РасчетыСПартнерами Цикл
Если Не ЗначениеЗаполнено(СтрокаТЧ.ОбъектРасчетов)
Или ТипЗнч(СтрокаТЧ.ОбъектРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоров")
Или ТипЗнч(СтрокаТЧ.ОбъектРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями") Тогда
НоваяСтрока = ПустыеОбъектыРасчетовТЧРасчетыСПартнерамиВТ.Добавить();
НоваяСтрока.Организация = Объект.Организация;
НоваяСтрока.Контрагент = СтрокаТЧ.Контрагент;
НоваяСтрока.Партнер = СтрокаТЧ.Партнер;
НоваяСтрока.Договор = ?(СтрокаТЧ.Партнер = Справочники.Партнеры.НашеПредприятие,
Справочники.ДоговорыМеждуОрганизациями.ПустаяСсылка(),
Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
НоваяСтрока.НомерСтроки = СтрокаТЧ.НомерСтроки;
НоваяСтрока.ВалютаВзаиморасчетов = СтрокаТЧ.ВалютаВзаиморасчетов;
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам Тогда
ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовКлиентов Тогда
ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
КонецЕсли;
НоваяСтрока.ТипРасчетов = ТипРасчетов;
КонецЕсли;
КонецЦикла;
Если ПустыеОбъектыРасчетовТЧРасчетыСПартнерамиВТ.Количество() Тогда
ПустыеОбъектыРасчетовТЧРасчетыСПартнерами = ОбъектыРасчетовСервер.НайтиОбъектыРасчетовПоАналитикеУчетаПоПартнерам(
ПустыеОбъектыРасчетовТЧРасчетыСПартнерамиВТ);
КонецЕсли;
КонецЕсли;
Для Каждого СтрокаТЧ Из Объект.РасчетыМеждуОрганизациями Цикл
Если СтрокаТЧ.ОбъектРасчетовОтправитель = Справочники.ОбъектыРасчетов.ПустаяСсылка()
Или СтрокаТЧ.ОбъектРасчетовПолучатель = Справочники.ОбъектыРасчетов.ПустаяСсылка() Тогда
ИсточникОбъектаРасчетов = СтрокаТЧ.ОбъектРасчетов;
Если ЗначениеЗаполнено(ИсточникОбъектаРасчетов) Тогда
ДопКритерий = ОбъектыРасчетовСервер.ДополнительныеКритерииПоиска();
ДопКритерий.ВернутьПервый = Ложь;
ДопКритерий.ВалютаВзаиморасчетов = СтрокаТЧ.ВалютаВзаиморасчетов;
Если ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ДокументСсылка.ОтчетПоКомиссииМеждуОрганизациями")
И (Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям)
Или ((ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями")
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ИсточникОбъектаРасчетов, "ХозяйственнаяОперация") = Перечисления.ХозяйственныеОперации.ПередачаНаКомиссиюВДругуюОрганизацию))
Тогда
ДанныеИсточникаОбъектаРасчетов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ИсточникОбъектаРасчетов, "Организация, Комиссионер");
ОтчетКомитент = ДанныеИсточникаОбъектаРасчетов.Организация;
ОтчетКомиссионер = ДанныеИсточникаОбъектаРасчетов.Комиссионер;
Если ОтчетКомитент = Объект.Организация И ОтчетКомиссионер = Объект.ОрганизацияПолучатель Тогда
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.Организация,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом, ДопКритерий);
СтрокаТЧ.ОбъектРасчетовПолучатель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.ОрганизацияПолучатель,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком, ДопКритерий);
ИначеЕсли ОтчетКомитент = Объект.ОрганизацияПолучатель
И ОтчетКомиссионер = Объект.Организация Тогда
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
ОтчетКомитент,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом, ДопКритерий);
СтрокаТЧ.ОбъектРасчетовПолучатель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
ОтчетКомиссионер,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком, ДопКритерий);
КонецЕсли;
ИначеЕсли (ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями")
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ИсточникОбъектаРасчетов, "ХозяйственнаяОперация") = Перечисления.ХозяйственныеОперации.РеализацияТоваровВДругуюОрганизацию)
ИЛИ (ТипЗнч(ИсточникОбъектаРасчетов) = Тип("СправочникСсылка.ДоговорыМеждуОрганизациями")
И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ИсточникОбъектаРасчетов, "ТипДоговора") = Перечисления.ТипыДоговоровМеждуОрганизациями.КупляПродажа)
ИЛИ ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.Организация,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом, ДопКритерий);
СтрокаТЧ.ОбъектРасчетовПолучатель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.ОрганизацияПолучатель,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком, ДопКритерий);
ИначеЕсли ТипЗнч(ИсточникОбъектаРасчетов) = Тип("СправочникСсылка.ДоговорыМеждуОрганизациями") Тогда
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям Тогда
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.Организация,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом, ДопКритерий);
СтрокаТЧ.ОбъектРасчетовПолучатель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.ОрганизацияПолучатель,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком, ДопКритерий);
КонецЕсли;
ИначеЕсли ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями") Тогда
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоАвансам
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковРасчетовМеждуОрганизациямиПоРеализациям Тогда
НеобходимоСоздатьЭлемент = Ложь;
Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| ДоговорыМеждуОрганизациями.Ссылка КАК Ссылка
|ИЗ
| Справочник.ДоговорыМеждуОрганизациями КАК ДоговорыМеждуОрганизациями
|ГДЕ
| ДоговорыМеждуОрганизациями.ВалютаВзаиморасчетов = &ВалютаВзаиморасчетов
| И ДоговорыМеждуОрганизациями.Организация = &Организация
| И ДоговорыМеждуОрганизациями.ОрганизацияПолучатель = &ОрганизацияПолучатель
| И ДоговорыМеждуОрганизациями.ТипДоговора = &ТипДоговора
| И ДоговорыМеждуОрганизациями.Дата = &Дата
| И ДоговорыМеждуОрганизациями.Номер = &Номер");
Запрос.УстановитьПараметр("ВалютаВзаиморасчетов", СтрокаТЧ.ВалютаВзаиморасчетов);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("ОрганизацияПолучатель", Объект.ОрганизацияПолучатель);
Запрос.УстановитьПараметр("ТипДоговора", ИсточникОбъектаРасчетов);
Запрос.УстановитьПараметр("Дата", СтрокаТЧ.ДатаРасчетногоДокумента);
Запрос.УстановитьПараметр("Номер", СтрокаТЧ.НомерРасчетногоДокумента);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ИсточникОбъектаРасчетов = Выборка.Ссылка;
Иначе
НеобходимоСоздатьЭлемент = Истина;
КонецЕсли;
Если НеобходимоСоздатьЭлемент Тогда
ПараметрыУчетаПоОрганизации = УчетНДСУП.ПараметрыУчетаПоОрганизации(Объект.Организация, ТекущаяДатаСеанса());
ДоговорМеждуОрганизациями = Справочники.ДоговорыМеждуОрганизациями.СоздатьЭлемент();
ДоговорМеждуОрганизациями.Организация = Объект.Организация;
ДоговорМеждуОрганизациями.ОрганизацияПолучатель = Объект.ОрганизацияПолучатель;
ДоговорМеждуОрганизациями.Дата = СтрокаТЧ.ДатаРасчетногоДокумента;
ДоговорМеждуОрганизациями.Номер = СтрокаТЧ.НомерРасчетногоДокумента;
ДоговорМеждуОрганизациями.ТипДоговора = ИсточникОбъектаРасчетов;
ДоговорМеждуОрганизациями.Наименование = СтрШаблон(НСтр("ru = 'Договор №%1 от %2 (создан автоматически при вводе остатков)'"),
СтрокаТЧ.НомерРасчетногоДокумента,
Формат(СтрокаТЧ.ДатаРасчетногоДокумента, "ДЛФ=D"));
ДоговорМеждуОрганизациями.ВалютаВзаиморасчетов = СтрокаТЧ.ВалютаВзаиморасчетов;
ДоговорМеждуОрганизациями.Статус = Перечисления.СтатусыДоговоровКонтрагентов.Действует;
ДоговорМеждуОрганизациями.НалогообложениеНДС = ПараметрыУчетаПоОрганизации.ОсновноеНалогообложениеНДСПродажи;
ДоговорМеждуОрганизациями.ПорядокРасчетов = Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов;
Попытка
ДоговорМеждуОрганизациями.Записать();
Исключение
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не удалось записать элемент справочника Договоры между организациями'"));
ИнформацияОбОшибке = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(УровеньЖурналаРегистрации.Ошибка,
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
ИсточникОбъектаРасчетов = ДоговорМеждуОрганизациями.Ссылка;
КонецЕсли;
ЗаполнитьОбъектРасчетовВСтрокеТабличнойЧасти(Объект, СтрокаТЧ, ИсточникОбъектаРасчетов, РежимЗаписи, ДопКритерий);
КонецЕсли;
КонецЕсли;
ИначеЕсли Не ЗначениеЗаполнено(ИсточникОбъектаРасчетов) Тогда
Если Объект.ЭтоНовый() Тогда
ИсточникОбъектаРасчетов = Объект.ПолучитьСсылкуНового();
Иначе
ИсточникОбъектаРасчетов = Объект.Ссылка;
КонецЕсли;
ЗаполнитьОбъектРасчетовВСтрокеТабличнойЧасти(Объект, СтрокаТЧ, ИсточникОбъектаРасчетов, РежимЗаписи, ДопКритерий);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Для Каждого СтрокаТЧ Из Объект.РасчетыСПартнерами Цикл
Если СтрокаТЧ.ОбъектРасчетовОтправитель = Справочники.ОбъектыРасчетов.ПустаяСсылка() Тогда
ИсточникОбъектаРасчетов = СтрокаТЧ.ОбъектРасчетов;
Если ЗначениеЗаполнено(ИсточникОбъектаРасчетов)
И Не ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоров")
И Не ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями") Тогда
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиПоставщикам
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовПоставщикам Тогда
ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком;
ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковЗадолженностиКлиентов
Или Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВводОстатковАвансовКлиентов Тогда
ТипРасчетов = Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом;
КонецЕсли;
БлокировкаИсточникОбъектаРасчетов = Новый БлокировкаДанных;
ЭлементБлокировки = БлокировкаИсточникОбъектаРасчетов.Добавить(ИсточникОбъектаРасчетов.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ИсточникОбъектаРасчетов);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
БлокировкаИсточникОбъектаРасчетов.Заблокировать();
ДоговорКомиссии = ТипЗнч(ИсточникОбъектаРасчетов) = Тип("СправочникСсылка.ДоговорыМеждуОрганизациями")
И ОбщегоНазначенияУТКлиентСервер.ДанныеПоПути(ИсточникОбъектаРасчетов, "ТипДоговора") = Перечисления.ТипыДоговоровМеждуОрганизациями.Комиссионный;
ОтчетПоКомиссии = ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ДокументСсылка.ОтчетПоКомиссииМеждуОрганизациями");
Если ТипЗнч(СтрокаТЧ.Контрагент) = Тип("СправочникСсылка.Организации")
И (ДоговорКомиссии Или ОтчетПоКомиссии) Тогда
ОрганизацияОбъектаРасчетов = ОбщегоНазначенияУТКлиентСервер.ДанныеПоПути(ИсточникОбъектаРасчетов, "Организация");
Иначе
ОрганизацияОбъектаРасчетов = Объект.Организация;
КонецЕсли;
ДополнительныеКритерииПоиска = ОбъектыРасчетовСервер.ДополнительныеКритерииПоиска();
ДополнительныеКритерииПоиска.Контрагент = СтрокаТЧ.Контрагент;
ДополнительныеКритерииПоиска.Партнер = СтрокаТЧ.Партнер;
Если ТипЗнч(ИсточникОбъектаРасчетов) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
СлужебныеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ИсточникОбъектаРасчетов, "РазрешенаРаботаСДочернимиПартнерами, Партнер");
Если СлужебныеРеквизиты.РазрешенаРаботаСДочернимиПартнерами
И ЗначениеЗаполнено(СлужебныеРеквизиты.Партнер) Тогда
ДополнительныеКритерииПоиска.Партнер = СлужебныеРеквизиты.Партнер;
КонецЕсли;
КонецЕсли;
ДополнительныеКритерииПоиска.ОбновлениеИБ = Истина;
ДополнительныеКритерииПоиска.ВалютаВзаиморасчетов = СтрокаТЧ.ВалютаВзаиморасчетов;
ДополнительныеКритерииПоиска.ВернутьПервый = Ложь;
Если ЗначениеЗаполнено(ТипРасчетов) Тогда
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
ОрганизацияОбъектаРасчетов,
ТипРасчетов,
ДополнительныеКритерииПоиска);
КонецЕсли;
ИначеЕсли (Не ЗначениеЗаполнено(ИсточникОбъектаРасчетов)
ИЛИ Не ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоров")
ИЛИ Не ТипЗнч(ИсточникОбъектаРасчетов) = Тип("ПеречислениеСсылка.ТипыДоговоровМеждуОрганизациями"))
И Объект.Проведен Тогда
СтрокаТЧ.ОбъектРасчетовОтправитель = ПустыеОбъектыРасчетовТЧРасчетыСПартнерами.Получить(СтрокаТЧ.НомерСтроки);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ЗаполнитьОбъектРасчетовВСтрокеТабличнойЧасти(Объект, СтрокаТЧ, ИсточникОбъектаРасчетов, РежимЗаписи, ДопКритерий)
БлокировкаИсточникОбъектаРасчетов = Новый БлокировкаДанных;
ЭлементБлокировки = БлокировкаИсточникОбъектаРасчетов.Добавить(ИсточникОбъектаРасчетов.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", ИсточникОбъектаРасчетов);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
БлокировкаИсточникОбъектаРасчетов.Заблокировать();
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.Организация,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСКлиентом, ДопКритерий);
СтрокаТЧ.ОбъектРасчетовПолучатель = ОбъектыРасчетовСервер.ПолучитьОбъектРасчетовПоСсылке(
ИсточникОбъектаРасчетов,
Объект.ОрганизацияПолучатель,
Перечисления.ТипыРасчетовСПартнерами.РасчетыСПоставщиком, ДопКритерий);
Если Не ЗначениеЗаполнено(СтрокаТЧ.ОбъектРасчетовОтправитель) Тогда
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ИсточникОбъектаРасчетов);
ПараметрыВзаиморасчеты = МенеджерОбъекта.ПараметрыВзаиморасчеты();
РеквизитыОбъекта = ОбъектыРасчетовСервер.РеквизитыОбъектаРасчетовПоСтруктуре(
ИсточникОбъектаРасчетов.ПолучитьОбъект(),
ИсточникОбъектаРасчетов,
ПараметрыВзаиморасчеты[0],
РежимЗаписи);
СтрокаТЧ.ОбъектРасчетовОтправитель = ОбъектыРасчетовСервер.ПроверитьСоздатьОбъектРасчетов(РеквизитыОбъекта);
КонецЕсли;
Если Не ЗначениеЗаполнено(СтрокаТЧ.ОбъектРасчетовПолучатель) Тогда
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ИсточникОбъектаРасчетов);
ПараметрыВзаиморасчеты = МенеджерОбъекта.ПараметрыВзаиморасчеты();
РеквизитыОбъекта = ОбъектыРасчетовСервер.РеквизитыОбъектаРасчетовПоСтруктуре(
ИсточникОбъектаРасчетов.ПолучитьОбъект(),
ИсточникОбъектаРасчетов,
ПараметрыВзаиморасчеты[0],
РежимЗаписи);
СтрокаТЧ.ОбъектРасчетовПолучатель = ОбъектыРасчетовСервер.ПроверитьСоздатьОбъектРасчетов(РеквизитыОбъекта);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Печать
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
КомандаПечати = Обработки.ПечатьЗаданияНаОтборРазмещениеТоваров.ДобавитьКомандуПечати(КомандыПечати,
"ЗаданиеНаРазмещение");
ОперацииДокумента = Новый Массив;
ОперацииДокумента.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковСобственныхТоваров);
ОперацииДокумента.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковТоваровПолученныхНаКомиссию);
ОперацииДокумента.Добавить(Перечисления.ХозяйственныеОперации.ВводОстатковВозвратнойТарыПринятойОтПоставщиков);
ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(КомандаПечати,
"ХозяйственнаяОперация",
ОперацииДокумента,
ВидСравнения.ВСписке);
ВводОстатковЛокализация.ВводОстатковДобавитьКомандыПечати(КомандыПечати);
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
КонецПроцедуры
#КонецОбласти
#Область Серии
Функция ТекстЗапросаЗаполненияСтатусовУказанияСерийСклад(ПараметрыУказанияСерий)
Если ПараметрыУказанияСерий.ПоляСвязи.Найти("Упаковка") <> Неопределено Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| Товары.Упаковка КАК Упаковка,
| Товары.Серия,
| Товары.КоличествоУпаковок КАК Количество,
| Товары.НомерСтроки,
| Товары.СтатусУказанияСерий
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| Серии.Упаковка КАК Упаковка,
| Серии.КоличествоУпаковок КАК Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| Товары.Серия,
| Товары.Количество,
| Товары.НомерСтроки,
| Товары.СтатусУказанияСерий
|ПОМЕСТИТЬ Товары
|ИЗ
| &Товары КАК Товары
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
| Серии.Количество
|ПОМЕСТИТЬ Серии
|ИЗ
| &Серии КАК Серии";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|;
|
|////////////////////////////////////////////////////////////////////////////////
|";
ТекстЗапроса = ТекстЗапроса +
"ВЫБРАТЬ
| Товары.Номенклатура,
| Товары.Характеристика,
| Товары.Назначение,
| Товары.Упаковка,
| СУММА(Товары.Количество) КАК Количество,
| ВЫРАЗИТЬ(Товары.Номенклатура КАК Справочник.Номенклатура).ВидНоменклатуры КАК ВидНоменклатуры
|ПОМЕСТИТЬ ТоварыДляЗапроса
|ИЗ
| Товары КАК Товары
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Упаковка,
| Товары.Характеристика,
| Товары.Назначение
|;
|
|
|ВЫБРАТЬ
| Серии.Номенклатура,
| Серии.Характеристика,
| Серии.Назначение,
| Серии.Упаковка,
| СУММА(Серии.Количество) КАК Количество
|ПОМЕСТИТЬ СерииДляЗапроса
|ИЗ
| Серии КАК Серии
|
|СГРУППИРОВАТЬ ПО
| Серии.Номенклатура,
| Серии.Упаковка,
| Серии.Характеристика,
| Серии.Назначение
|;
|
|
|ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерийСтарый,
| ВЫБОР
| КОГДА НЕ ПолитикиУчетаСерий.ПолитикаУчетаСерий ЕСТЬ NULL
| ТОГДА ВЫБОР
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьСебестоимостьПоСериям
| ТОГДА ВЫБОР
| КОГДА Товары.Серия <> ЗНАЧЕНИЕ(Справочник.СерииНоменклатуры.ПустаяСсылка)
| ТОГДА 14
| ИНАЧЕ 13
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтгрузки
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 10
| ИНАЧЕ 9
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПриПланированииОтбора
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 8
| ИНАЧЕ 7
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.УказыватьПоФактуОтбора
| И ПолитикиУчетаСерий.ПолитикаУчетаСерий.УчитыватьОстаткиСерий
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 4
| ИНАЧЕ 3
| КОНЕЦ
| КОГДА ПолитикиУчетаСерий.ПолитикаУчетаСерий.ТипПолитики = ЗНАЧЕНИЕ(Перечисление.ТипыПолитикУказанияСерий.АвторасчетПоFEFOОстатковСерий)
| И НЕ &ТолькоСерииСУчетомОстатков
| ТОГДА ВЫБОР
| КОГДА ТоварыДляЗапроса.Количество = ЕСТЬNULL(СерииДляЗапроса.Количество, 0)
| И ТоварыДляЗапроса.Количество > 0
| ТОГДА 2
| ИНАЧЕ 1
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК СтатусУказанияСерий
|ПОМЕСТИТЬ Статусы
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ ТоварыДляЗапроса КАК ТоварыДляЗапроса
| ЛЕВОЕ СОЕДИНЕНИЕ СерииДляЗапроса КАК СерииДляЗапроса
| ПО ТоварыДляЗапроса.Номенклатура = СерииДляЗапроса.Номенклатура
| И ТоварыДляЗапроса.Характеристика = СерииДляЗапроса.Характеристика
| И ТоварыДляЗапроса.Назначение = СерииДляЗапроса.Назначение
| И ТоварыДляЗапроса.Упаковка = СерииДляЗапроса.Упаковка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыНоменклатуры.ПолитикиУчетаСерий КАК ПолитикиУчетаСерий
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
| ПО ПолитикиУчетаСерий.Склад = Склады.Ссылка
| ПО (ПолитикиУчетаСерий.Склад = &Склад)
| И ТоварыДляЗапроса.ВидНоменклатуры = ПолитикиУчетаСерий.Ссылка
| ПО Товары.Номенклатура = ТоварыДляЗапроса.Номенклатура
| И Товары.Характеристика = ТоварыДляЗапроса.Характеристика
| И Товары.Назначение = ТоварыДляЗапроса.Назначение
| И Товары.Упаковка = ТоварыДляЗапроса.Упаковка
|;
|
|
|ВЫБРАТЬ
| ТаблицаСтатусов.НомерСтроки КАК НомерСтроки,
| ТаблицаСтатусов.СтатусУказанияСерий
|ИЗ
| Статусы КАК ТаблицаСтатусов
|ГДЕ
| ТаблицаСтатусов.СтатусУказанияСерийСтарый <> ТаблицаСтатусов.СтатусУказанияСерий
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";
Возврат ТекстЗапроса;
КонецФункции
#КонецОбласти
#КонецОбласти
#КонецЕсли