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