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