Хочу начать статью словами моего хорошего коллеги, который работал только в программах Бухгалтерия предприятия (2.0 и 3.0) и который в первый раз зашел на проект с ERP: "В смысле проводки сразу не формируются? А как тогда тут работать?".
- движения документов в оперативные регистры (регистры накопления, регистры сведений) далее в тексте будут называться "движения"
- движения документов в регистры бухгалтерии далее в тексте будут называться "проводками"
- РС - регистр сведений
- РБ - регистр бухгалтерии "Хозрасчетный"
- СУБД - Система управления базами данных
- ПТУ - документ Приобретение товаров и услуг
- РТУ - документ Реализация товаров и услуг
- РФ - Российская федерация
Программный продукт "1С:ERP Управление предприятием 2" - это очень мощный инструмент, который позволяет автоматизировать различные виды учета, в том числе и регламентированный. Но в первую очередь это программа для оперативного учета. В момент проведения документ формирует движения по оперативным регистрам, которые в свою очередь становятся источником для формирования проводок.
Такое решение позволяет, во-первых, минимизировать количество обращений к физическим таблицам документов, во-вторых, отложить «тяжелый» для СУБД процесс записи проводок в регистр бухгалтерии, значительно ускоряя для пользователя процесс проведения документа.
Давайте разберемся как устроен этот механизм и где искать точки входа для доработок.
1. Признак для документа для отражения проводок.
Чтобы программа понимала по каким документам необходимо формировать проводки, документ должен делать движение в регистр сведений "Отражение документов в регл учете", который будет выступать "флагом" для системы.
При первом проведении документа в его движения попадает запись РС со статусом "К отражению". РБ в этот момент еще пуст.
После отражения документа в регл. учете статус РС меняется на "Отражен". В РБ появляются проводки.
При любом перепроведении документа, статус в РС возвращается к "К отражению". РБ снова становится пуст.
Как в ERP формируются движения в оперативные регистры я описываю в другой статье, но с этим РС подход нестандартный: ресурс "Статус" определяется отдельно от запроса в процедуре
РеглУчетПроведениеСервер.ОтразитьДвижения
В этой же процедуре идет проверка на наличие ручной корректировки проводок.
2. Где описывать запрос для проводок.
Теперь давайте разбираться, как документ понимает, какие именно проводки он должен формировать. Посмотрим на примере документов "Приобретения товаров и услуг" и "Реализация товаров и услуг":
В модуле менеджера документа обязательно* должны быть описаны две экспортные функции ТекстЗапросаВТОтраженияВРеглУчете и ТекстОтраженияВРеглУчете, которые возвращают тексты запросов.
(* разработчики предусмотрели исключительные ситуации хранения этих процедур НЕ в модуле менеджера. Такие исключения описаны в функции
РеглУчетВыборкиСерверПовтИсп.ДокументыИОбщиеМодулиОписывающиеОтражениеВРеглУчете)
Отражение проводок в РБ - это особенность учета РФ, поэтому тексты запросов вынесли в модули для локализации (почитать про локализацию).
#Область ПроводкиРеглУчета
// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
// Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт
Возврат ПриобретениеТоваровУслугЛокализация.ТекстОтраженияВРеглУчете();
КонецФункции
// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете.
//
// Возвращаемое значение:
// Строка - сформированный текст запроса.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат ПриобретениеТоваровУслугЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();
КонецФункции
#КонецОбласти
#Область ПроводкиРегУчета
// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
// Строка - Текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт
//++ Локализация
ТекстыОтражения = Новый Массив;
// Оприходование ценностей
#Область ПриемНаКомиссию // (Дт 004.01 :: Кт )
ТекстЗапроса = "
|ВЫБРАТЬ //// Прием товаров на комиссию (Дт 004.01 :: Кт )
|
| Операция.Ссылка КАК Ссылка,
// Период, Организация, ИдентификаторСтроки
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл, Строки.СуммаСНДС) КАК Сумма,
| 0 КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ТоварыНаСкладе) КАК ВидСчетаДт,
| Строки.Номенклатура.ГруппаФинансовогоУчета КАК АналитикаУчетаДт,
| Склады.Ссылка КАК МестоУчетаДт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| Операция.Договор.Подразделение КАК ПодразделениеДт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт1,
| Строки.Номенклатура КАК СубконтоДт2,
| Строки.Склад КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| Строки.Количество КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Прием товаров на комиссию"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка
| И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И Суммы.СуммаБезНДСРегл <> 0
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Склады КАК Склады
| ПО
| Склады.Ссылка = Строки.Склад
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|
|ГДЕ
| Строки.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПриемНаКомиссию)
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ФактуровкаПоставки // (Дт 60.НП :: Кт 60, 76)
ТекстЗапроса = "
|ВЫБРАТЬ // Фактуровка поставки (Дт 60.НП :: Кт 60, 76)
|
| Операция.Ссылка КАК Ссылка,
// Период, Организация, ИдентификаторСтроки
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
// Сумма
| ВЫБОР КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС) ТОГДА
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл, Строки.СуммаСНДС - Строки.СуммаНДС)
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС) ТОГДА
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл, Строки.СуммаСНДС)
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС) ТОГДА
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр, (Строки.СуммаСНДС - Строки.СуммаНДС) / КурсВалютыУпрУчета.Курс)
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС) ТОГДА
| ЕСТЬNULL(Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр, Строки.СуммаСНДС / КурсВалютыУпрУчета.Курс)
| КОНЕЦ КАК СуммаУУ,
|
// ДТ - Вид счета, Аналитика учета, Место учета
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.НеотфактурованныеПоставки) КАК ВидСчетаДт,
| Операция.Договор.ГруппаФинансовогоУчета КАК АналитикаУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
// ДТ - Валюта, Подразделение, Счет
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| Операция.Договор.Подразделение КАК ПодразделениеДт,
| Операция.Договор.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
// ДТ - Субконто
| Операция.Контрагент КАК СубконтоДт1,
| Операция.Договор КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
// ДТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| 0 КАК ВалютнаяСуммаДт,
| Строки.Количество КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
// КТ - Вид счета, Аналитика учета, Место учета
| ВЫБОР КОГДА Операция.ВернутьМногооборотнуюТару
| И Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщикамиТара)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками)
| КОНЕЦ КАК ВидСчетаКт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
// КТ - Валюта, Подразделение, Счет
| Операция.ВалютаВзаиморасчетов КАК ВалютаКт,
|
| Расчеты.Подразделение КАК ПодразделениеКт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
|
// КТ - Субконто
| Расчеты.Контрагент КАК СубконтоКт1,
| Расчеты.Договор КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
// КТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| (ВЫБОР
| КОГДА Операция.ЗакупкаПодДеятельность В (&ТипыОблагаемыеНДС)
| ТОГДА
| Строки.СуммаВзаиморасчетов - Строки.СуммаНДСВзаиморасчетов
| КОГДА Операция.ЗакупкаПодДеятельность В (&ТипыНеОблагаемыеНДС)
| ТОГДА Строки.СуммаВзаиморасчетов
| КОНЕЦ) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Фактуровка поставки"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.ВидыЗапасов КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка
| И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И Суммы.СуммаБезНДСРегл <> 0
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Склады КАК Склады
| ПО
| Склады.Ссылка = Строки.АналитикаУчетаНоменклатуры.МестоХранения
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|
|ГДЕ
| НЕ ЕстьNULL(Склады.ЦеховаяКладовая, Ложь)
| И Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И Операция.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаФактуровкаПоставки),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСФактуровкаПоставки))
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ОтклоненияПриФактуровке // (Дт 10, 20, 41 :: Кт 60.НП)
ТекстЗапроса =
"ВЫБРАТЬ //// Отклонения В стоимости при фактуровке (Дт 10, 20, 41 :: Кт 60.НП)
| Операция.Ссылка КАК Ссылка,
| Строки.Период КАК Период,
| Строки.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| Строки.ДопРасходыРегл КАК Сумма,
| Строки.ДопРасходыУпр КАК СуммаУУ,
|
| ВЫБОР
| КОГДА Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ Строки.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Производство)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.НаСкладе)
| КОНЕЦ КАК ВидСчетаДт,
|
| ВЫБОР
| КОГДА Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ Строки.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА Строки.ВидЗапасов.ГруппаФинансовогоУчета
| ИНАЧЕ Строки.АналитикаУчетаНоменклатуры.Номенклатура.ГруппаФинансовогоУчета
| КОНЕЦ КАК АналитикаУчетаДт,
| ВЫБОР
| КОГДА (Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ИЛИ Строки.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты))
| И Строки.АналитикаУчетаНоменклатуры.ТипМестаХранения = ЗНАЧЕНИЕ(Перечисление.ТипыМестХранения.Склад)
| ТОГДА Строки.АналитикаУчетаНоменклатуры.СкладскаяТерритория.Подразделение
| ИНАЧЕ Строки.АналитикаУчетаНоменклатуры.МестоХранения
| КОНЕЦ КАК МестоУчетаДт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| ВЫБОР
| КОГДА Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| ТОГДА Строки.АналитикаУчетаНоменклатуры.МестоХранения
| ИНАЧЕ Строки.АналитикаУчетаНоменклатуры.СкладскаяТерритория.Подразделение
| КОНЕЦ КАК ПодразделениеДт,
| ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.НаправлениеДеятельности,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельностиДт,
| НЕОПРЕДЕЛЕНО КАК СчетДт,
|
| Строки.АналитикаУчетаНоменклатуры.Номенклатура КАК СубконтоДт1,
| Строки.АналитикаУчетаНоменклатуры.МестоХранения КАК СубконтоДт2,
| ВЫБОР
| КОГДА НЕ Строки.АналитикаУчетаНоменклатуры.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И Строки.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчетаСебестоимостиТоваров.ПроизводственныеЗатраты)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.МатериальныеЗатраты)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Работы)
| КОНЕЦ КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.НеотфактурованныеПоставки) КАК ВидСчетаКт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| Расчеты.Валюта КАК ВалютаКт,
| Расчеты.Подразделение КАК ПодразделениеКт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
| НЕОПРЕДЕЛЕНО КАК СчетКт,
|
| Расчеты.Контрагент КАК СубконтоКт1,
| Расчеты.Договор КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| Расчеты.Сумма КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
|
| ""Отклонения в стоимости товаров"" КАК Содержание
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрНакопления.СебестоимостьТоваров КАК Строки
| ПО
| Операция.Ссылка = Строки.Регистратор
| И Операция.ХозяйственнаяОперация = Строки.ХозяйственнаяОперация
| И Строки.Количество = 0
| И (Строки.ДопРасходыРегл <> 0 ИЛИ Строки.ДопРасходыУпр <> 0)
| И НЕ Строки.РасчетСебестоимости
| И Строки.Активность
| И Строки.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| И Строки.РасчетПартий
| И Строки.ТипЗаписи = ЗНАЧЕНИЕ(Перечисление.ТипыЗаписейПартий.ОтклонениеВСтоимости)
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ТоварыВПути // (Дт 15 :: Кт 60, 76)
ТекстЗапроса = "
|ВЫБРАТЬ // Товары в пути (Дт 15 :: Кт 60, 76)
|
| Операция.Ссылка КАК Ссылка,
// Период, Организация, ИдентификаторСтроки
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| Строки.ИдентификаторСтроки КАК ИдентификаторСтроки,
|
// Сумма
| ВЫБОР КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС) ТОГДА
| Суммы.СуммаБезНДСРегл
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС) ТОГДА
| Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
| КОНЕЦ КАК Сумма,
| ВЫБОР КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС) ТОГДА
| Суммы.СуммаБезНДСУпр
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС) ТОГДА
| Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр
| КОНЕЦ КАК СуммаУУ,
|
// ДТ - Вид счета, Аналитика учета, Место учета
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ЗатратыНаПриобретениеТМЦ) КАК ВидСчетаДт,
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| Строки.ВидЗапасов.ГруппаФинансовогоУчета
| ИНАЧЕ
| Аналитика.Номенклатура.ГруппаФинансовогоУчета
| КОНЕЦ КАК АналитикаУчетаДт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаДт,
|
// ДТ - Валюта, Подразделение, Счет
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| Операция.Договор.Подразделение КАК ПодразделениеДт,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА Аналитика.Назначение.НаправлениеДеятельности
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
// ДТ - Субконто
| Аналитика.Номенклатура КАК СубконтоДт1,
| Операция.Контрагент КАК СубконтоДт2,
| Операция.Договор КАК СубконтоДт3,
|
// ДТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| 0 КАК ВалютнаяСуммаДт,
| Строки.Количество КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
// КТ - Вид счета, Аналитика учета, Место учета
| ВЫБОР КОГДА Операция.ВернутьМногооборотнуюТару И Аналитика.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщикамиТара)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками)
| КОНЕЦ КАК ВидСчетаКт,
| Расчеты.ГруппаФинансовогоУчета КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
// КТ - Валюта, Подразделение, Счет
| Операция.ВалютаВзаиморасчетов КАК ВалютаКт,
|
| Расчеты.Подразделение КАК ПодразделениеКт,
| Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
|
// КТ - Субконто
| Расчеты.Контрагент КАК СубконтоКт1,
| Расчеты.Договор КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
// КТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| (ВЫБОР КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ТОГДА Строки.СуммаВзаиморасчетов - Строки.СуммаНДСВзаиморасчетов
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.АналитикаУчетаНоменклатуры.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА Строки.СуммаВзаиморасчетов
| КОНЕЦ) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Приобретение товаров"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.ВидыЗапасов КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.КлючиАналитикиУчетаНоменклатуры КАК Аналитика
| ПО
| Строки.АналитикаУчетаНоменклатуры = Аналитика.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка
| И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И Суммы.СуммаБезНДСРегл <> 0
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| КурсыВалют КАК КурсВалютыУпрУчета
| ПО
| КурсВалютыУпрУчета.Валюта = &ВалютаУпрУчета
| И КурсВалютыУпрУчета.Дата = НАЧАЛОПЕРИОДА(Операция.Дата, День)
|
|ГДЕ
| Аналитика.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И Операция.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпортуТоварыВПути),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭСТоварыВПути))
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ЗакупкаЦенности // (Дт 10, 41, 76 :: Кт 60, 71, 76)
ТекстЗапроса = "
|ВЫБРАТЬ // Поступление ценностей на склад в собственность (Дт 10, 20, 41 :: Кт 60, 71, 76)
|
| Операция.Ссылка КАК Ссылка,
// Период, Организация, ИдентификаторСтроки
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
// Сумма
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
| КОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Назначения.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность КОНЕЦ В (&ТипыОблагаемыеНДС)
| ТОГДА Суммы.СуммаБезНДСРегл
| КОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Назначения.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
| КОНЕЦ КАК Сумма,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр
| КОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Назначения.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность КОНЕЦ В (&ТипыОблагаемыеНДС)
| ТОГДА Суммы.СуммаБезНДСУпр
| КОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Назначения.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр
| КОНЕЦ КАК СуммаУУ,
|
// ДТ - Вид счета, Аналитика учета, Место учета
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ТоварыКомитентовКОформлениюПоЗакупке)
| КОГДА ЕстьNULL(Склады.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Производство)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.НаСкладе)
| КОНЕЦ КАК ВидСчетаДт,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Назначения.Договор.ГруппаФинансовогоУчета
| КОГДА ЕстьNULL(Склады.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета ТОГДА
| Строки.ВидЗапасов.ГруппаФинансовогоУчета
| ИНАЧЕ Строки.Номенклатура.ГруппаФинансовогоУчета
| КОНЕЦ КАК АналитикаУчетаДт,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА НЕОПРЕДЕЛЕНО
| КОГДА ЕстьNULL(Склады.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА Склады.Подразделение
| ИНАЧЕ Строки.Склад
| КОНЕЦ КАК МестоУчетаДт,
|
// ДТ - Валюта, Подразделение, Счет
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Назначения.Договор.Подразделение
| ИНАЧЕ Склады.Подразделение
| КОНЕЦ КАК ПодразделениеДт,
| ВЫБОР
| КОГДА &УчитыватьСебестоимостьТоваровПоНазначениям
| ТОГДА ЕстьNULL(Назначения.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| КОНЕЦ КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
// ДТ - Субконто
| Строки.Номенклатура КАК СубконтоДт1,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Строки.ВидЗапасов.Контрагент
| КОГДА ЕстьNULL(Склады.ЦеховаяКладовая, ЛОЖЬ)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.МатериальныеЗатраты)
| ИНАЧЕ Строки.Склад
| КОНЕЦ КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
// ДТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| 0 КАК ВалютнаяСуммаДт,
| ВЫБОР КОГДА ЕстьNULL(Склады.ЦеховаяКладовая, ЛОЖЬ) ТОГДА 0 ИНАЧЕ Строки.Количество КОНЕЦ КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
// КТ - Вид счета, Аналитика учета, Место учета
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| КОГДА Операция.ВернутьМногооборотнуюТару И Строки.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) ТОГДА
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщикамиТара)
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками)
| КОНЕЦ КАК ВидСчетаКт,
| ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.ГруппаФинансовогоУчета, Операция.ГруппаФинансовогоУчета)
| КОНЕЦ КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
// КТ - Валюта, Подразделение, Счет
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.Валюта
| ИНАЧЕ
| Операция.ВалютаВзаиморасчетов
| КОНЕЦ КАК ВалютаКт,
|
| ЕСТЬNULL(Расчеты.Подразделение, Операция.Подразделение) КАК ПодразделениеКт,
| ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.НаправлениеДеятельности, Операция.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиКт,
|
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| ВЫБОР КОГДА Суммы.СуммаБезНДСРегл = Суммы.СуммаБезНДС ТОГДА
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами)
| ИНАЧЕ
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицамиВал)
| КОНЕЦ
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СчетКт,
|
// КТ - Субконто
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.ПодотчетноеЛицо
| ИНАЧЕ
| Операция.Контрагент
| КОНЕЦ КАК СубконтоКт1,
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Операция.Договор
| КОНЕЦ КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
// КТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Строки.СуммаСНДС
| КОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Назначения.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность КОНЕЦ В (&ТипыОблагаемыеНДС)
| ТОГДА ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Строки.СуммаСНДС - Строки.СуммаНДС
| ИНАЧЕ Строки.СуммаВзаиморасчетов - Строки.СуммаНДСВзаиморасчетов КОНЕЦ
| КОГДА ВЫБОР
| КОГДА ЕСТЬNULL(Назначения.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Назначения.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Строки.СуммаСНДС
| ИНАЧЕ Строки.СуммаВзаиморасчетов КОНЕЦ
| КОНЕЦ КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Поступление товаров на склад"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Склады КАК Склады
| ПО
| Склады.Ссылка = Строки.Склад
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка
| И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И Суммы.СуммаБезНДСРегл <> 0
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК Назначения
| ПО
| Назначения.Ссылка = Строки.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|
|ГДЕ
| Строки.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И Операция.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо))
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ЗакупкаУслуги // (Дт 2Х, 44, 91 :: Кт 60, 71, 76)
ТекстЗапроса = "
|ВЫБРАТЬ //// Получение услуг (Дт 2Х, 44, 91 :: Кт 60, 71, 76)
|
| Операция.Ссылка КАК Ссылка,
// Период, Организация, ИдентификаторСтроки
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| (ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА Суммы.СуммаБезНДСРегл
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА ЕСТЬNULL(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл, Строки.СуммаСНДС)
| КОНЕЦ) КАК Сумма,
| (ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА Суммы.СуммаБезНДСУпр
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр
| КОНЕЦ) КАК СуммаУУ,
|
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ТоварыКомитентовКОформлениюПоЗакупке)
| КОГДА Строки.СписатьНаРасходы И Строки.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Производство)
| КОНЕЦ КАК ВидСчетаДт,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Назначения.Договор.ГруппаФинансовогоУчета
| КОГДА Строки.СписатьНаРасходы И Строки.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| ТОГДА Строки.СтатьяРасходов
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК АналитикаУчетаДт,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Строки.Подразделение
| КОНЕЦ КАК МестоУчетаДт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Назначения.Договор.Подразделение
| ИНАЧЕ Строки.Подразделение
| КОНЕЦ КАК ПодразделениеДт,
// Направление деятельности для работ, не списываемых на расходы, определяется так же как для товаров - по назначению.
// Если работа или услуга списывается на расходы, то направление наследуется из шапки документа.
| ВЫБОР
| КОГДА Строки.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И &УчитыватьСебестоимостьТоваровПоНазначениям И НЕ Строки.СписатьНаРасходы
| ТОГДА ЕСТЬNULL(Строки.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка))
| КОГДА Строки.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)
| И НЕ &УчитыватьСебестоимостьТоваровПоНазначениям И НЕ Строки.СписатьНаРасходы
| ТОГДА ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
| ИНАЧЕ Операция.НаправлениеДеятельности
| КОНЕЦ КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
|
| ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Назначения.Договор.Контрагент
| КОГДА Строки.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) И НЕ Строки.СписатьНаРасходы
| ТОГДА ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Работы)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ТипыЗатратРегл.Прочее)
| КОНЕЦ КАК СубконтоДт1,
| ВЫБОР КОГДА Строки.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа) И НЕ Строки.СписатьНаРасходы
| ИЛИ ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала) ТОГДА
| Строки.Номенклатура
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СубконтоДт2,
| Строки.СтатьяРасходов КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| Строки.Количество КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| ВЫБОР КОГДА Строки.СписатьНаРасходы И Строки.СтатьяРасходов <> ЗНАЧЕНИЕ(ПланВидовХарактеристик.СтатьиРасходов.ПустаяСсылка)
| И НЕ Строки.СтатьяРасходов.ПринятиеКНалоговомуУчету ТОГДА
| (ВЫБОР
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА Суммы.СуммаБезНДСРегл
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА ЕСТЬNULL(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл, Строки.СуммаСНДС)
| КОНЕЦ)
| ИНАЧЕ 0 КОНЕЦ КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками) КОНЕЦ) КАК ВидСчетаКт,
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.ГруппаФинансовогоУчета, Операция.ГруппаФинансовогоУчета) КОНЕЦ) КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.Валюта
| ИНАЧЕ
| Операция.ВалютаВзаиморасчетов
| КОНЕЦ КАК ВалютаКт,
| ЕСТЬNULL(Расчеты.Подразделение, Операция.Подразделение) КАК ПодразделениеКт,
| ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.НаправлениеДеятельности, Операция.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиКт,
|
| (ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| (ВЫБОР КОГДА Суммы.СуммаБезНДСРегл = Суммы.СуммаБезНДС ТОГДА ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами)
| ИНАЧЕ ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицамиВал) КОНЕЦ)
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК СчетКт,
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА Операция.ПодотчетноеЛицо
| ИНАЧЕ Операция.Контрагент КОНЕЦ) КАК СубконтоКт1,
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Операция.Договор КОНЕЦ) КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| (ВЫБОР
| КОГДА ЕстьNULL(Назначения.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| ТОГДА Строки.СуммаСНДС
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Строки.СуммаСНДС - Строки.СуммаНДС
| ИНАЧЕ Строки.СуммаВзаиморасчетов - Строки.СуммаНДСВзаиморасчетов
| КОНЕЦ
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Строки.СуммаСНДС
| ИНАЧЕ Строки.СуммаВзаиморасчетов
| КОНЕЦ
| КОНЕЦ) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Поступление услуг"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка
| И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И Суммы.СуммаБезНДСРегл <> 0
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиСтроительства
| ПО
| Строки.СтатьяРасходов = СтатьиСтроительства.Ссылка
| И СтатьиСтроительства.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиНДСРаспределяется
| ПО
| Строки.СтатьяРасходов = СтатьиНДСРаспределяется.Ссылка
| И СтатьиНДСРаспределяется.ВариантРаздельногоУчетаНДС = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Назначения КАК Назначения
| ПО
| Назначения.Ссылка = Строки.Назначение
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Расчеты.Ссылка = Операция.Ссылка
|
|ГДЕ
| СтатьиСтроительства.Ссылка ЕСТЬ NULL
| И Строки.Номенклатура.ТипНоменклатуры НЕ В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И Операция.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо))
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ЗакупкаУслугиНаВнеоборотныеАктивы // (Дт 08 :: Кт 60, 71, 76)
ТекстЗапроса = "
|ВЫБРАТЬ //// Получение услуг на прочие активы (Дт 08 :: Кт 60, 71, 76)
|
| Операция.Ссылка КАК Ссылка,
// Период, Организация, ИдентификаторСтроки
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| (ВЫБОР
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА Суммы.СуммаБезНДСРегл
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА ЕСТЬNULL(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл, Строки.СуммаСНДС)
| КОНЕЦ) КАК Сумма,
| (ВЫБОР
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА Суммы.СуммаБезНДСУпр
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА Суммы.СуммаБезНДСУпр + Суммы.СуммаНДСУпр
| КОНЕЦ) КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.Расходы) КАК ВидСчетаДт,
| Строки.СтатьяРасходов КАК АналитикаУчетаДт,
| Строки.Подразделение КАК МестоУчетаДт,
|
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| Строки.Подразделение КАК ПодразделениеДт,
| Операция.НаправлениеДеятельности КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
|
| Строки.АналитикаРасходов КАК СубконтоДт1,
| Строки.СтатьяРасходов КАК СубконтоДт2,
| ВЫБОР КОГДА ОбъектыСтроительства.СпособСтроительства <> ЗНАЧЕНИЕ(Перечисление.СпособыСтроительства.ПустаяСсылка)
| ТОГДА ОбъектыСтроительства.СпособСтроительства
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.СпособыСтроительства.Подрядный)
| КОНЕЦ КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| Строки.Количество КАК КоличествоДт, // Наверное 0
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками) КОНЕЦ) КАК ВидСчетаКт,
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.ГруппаФинансовогоУчета, Операция.ГруппаФинансовогоУчета) КОНЕЦ) КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.Валюта
| ИНАЧЕ
| Операция.ВалютаВзаиморасчетов
| КОНЕЦ КАК ВалютаКт,
| ЕСТЬNULL(Расчеты.Подразделение, Операция.Подразделение) КАК ПодразделениеКт,
| ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.НаправлениеДеятельности, Операция.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиКт,
|
| (ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| (ВЫБОР КОГДА Суммы.СуммаБезНДСРегл = Суммы.СуммаБезНДС ТОГДА ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами)
| ИНАЧЕ ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицамиВал) КОНЕЦ)
| ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ) КАК СчетКт,
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА Операция.ПодотчетноеЛицо
| ИНАЧЕ Операция.Контрагент КОНЕЦ) КАК СубконтоКт1,
| (ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ Операция.Договор КОНЕЦ) КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| (ВЫБОР
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыОблагаемыеНДС)
| ИЛИ НЕ СтатьиНДСРаспределяется.Ссылка ЕСТЬ NULL
| ТОГДА
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Строки.СуммаСНДС - Строки.СуммаНДС
| ИНАЧЕ Строки.СуммаВзаиморасчетов - Строки.СуммаНДСВзаиморасчетов
| КОНЕЦ
| КОГДА ВЫБОР КОГДА ЕСТЬNULL(Строки.Назначение.ВидДеятельностиНДС,&ПустойТипНалогообложения) <> &ПустойТипНалогообложения
| ТОГДА Строки.Назначение.ВидДеятельностиНДС
| ИНАЧЕ Операция.ЗакупкаПодДеятельность
| КОНЕЦ В (&ТипыНеОблагаемыеНДС)
| ТОГДА
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо)
| ТОГДА Строки.СуммаСНДС
| ИНАЧЕ Строки.СуммаВзаиморасчетов
| КОНЕЦ
| КОНЕЦ) КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Получение услуг на прочие активы"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки И Суммы.СуммаБезНДСРегл <> 0
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиСтроительства
| ПО
| Строки.СтатьяРасходов = СтатьиСтроительства.Ссылка
| И СтатьиСтроительства.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК СтатьиНДСРаспределяется
| ПО
| Строки.СтатьяРасходов = СтатьиНДСРаспределяется.Ссылка
| И СтатьиНДСРаспределяется.ВариантРаздельногоУчетаНДС = ЗНАЧЕНИЕ(Перечисление.ВариантыРаздельногоУчетаНДС.Распределение)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Операция.Ссылка = Расчеты.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ОбъектыСтроительства КАК ОбъектыСтроительства
| ПО
| ОбъектыСтроительства.Ссылка = Строки.АналитикаРасходов
|
|ГДЕ
| Строки.Номенклатура.ТипНоменклатуры НЕ В
| (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И Операция.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС)
| , ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо))
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
#Область ПриемНаОтветХранение // (Дт 002 :: Кт )
ТекстЗапроса = "
|ВЫБРАТЬ //// Прием товаров на ответственное хранение (Дт 002 :: Кт )
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
| ЕСТЬNULL(Суммы.СуммаБезНДСРегл + Суммы.СуммаНДСРегл, Строки.СуммаСНДС) КАК Сумма,
| 0 КАК СуммаУУ,
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.ТМЦНаСкладах) КАК ВидСчетаДт,
| ВЫБОР КОГДА &ФормироватьВидыЗапасовПоГруппамФинансовогоУчета
| ТОГДА Строки.ВидЗапасов.ГруппаФинансовогоУчета
| ИНАЧЕ Строки.Номенклатура.ГруппаФинансовогоУчета КОНЕЦ КАК АналитикаУчетаДт,
| Строки.Склад КАК МестоУчетаДт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаДт,
| Строки.ВидЗапасов.Договор.Подразделение КАК ПодразделениеДт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиДт,
|
| НЕОПРЕДЕЛЕНО КАК СчетДт,
| Строки.Номенклатура КАК СубконтоДт1,
| Строки.ВидЗапасов.Контрагент КАК СубконтоДт2,
| Строки.Склад КАК СубконтоДт3,
|
| 0 КАК ВалютнаяСуммаДт,
| Строки.Количество КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
| НЕОПРЕДЕЛЕНО КАК ВидСчетаКт,
| НЕОПРЕДЕЛЕНО КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
| НЕОПРЕДЕЛЕНО КАК ВалютаКт,
| НЕОПРЕДЕЛЕНО КАК ПодразделениеКт,
| ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка) КАК НаправлениеДеятельностиКт,
|
| НЕОПРЕДЕЛЕНО КАК СчетКт,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт1,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
| 0 КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""Прием товаров на ответственное хранение"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.СуммыДокументовВВалютахУчета КАК Суммы
| ПО
| Суммы.Регистратор = Строки.Ссылка
| И Суммы.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И Суммы.СуммаБезНДСРегл <> 0
|
|ГДЕ
| Строки.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар),
| ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
| И ЕстьNULL(Строки.Назначение.ТипНазначения, НЕОПРЕДЕЛЕНО) = ЗНАЧЕНИЕ(Перечисление.ТипыНазначений.ПоставкаПодПринципала)
| И Операция.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщика),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаПоИмпорту),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаВСтранахЕАЭС),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо))
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
// НДС
#Область ЗакупкаНДС // (Дт 19 :: Кт 60, 71, 76)
ТекстЗапроса = "
|ВЫБРАТЬ //// НДС при приобретении по рег. НДСПредъявленный (Дт 19 :: Кт 60, 71, 76) @НДСпредъявленный
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
// Сумма
| СУММА(НДСПредъявленный.НДС) КАК Сумма,
| СУММА(НДСПредъявленный.НДСУпр) КАК СуммаУУ,
|
// ДТ - Вид счета, Аналитика учета, Место учета
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.НДСпоПриобретеннымЦенностям) КАК ВидСчетаДт,
| НДСПредъявленный.ВидДеятельностиНДС КАК АналитикаУчетаДт,
| НДСПредъявленный.ВидЦенности КАК МестоУчетаДт,
|
// ДТ - Валюта, Подразделение, Счет
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеДт,
| ЕСТЬNULL(ВводСобственныхСредств.НаправлениеДеятельности, НДСПредъявленный.НаправлениеДеятельности) КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
|
// ДТ - Субконто
| Операция.Контрагент КАК СубконтоДт1,
| Операция.Ссылка КАК СубконтоДт2,
| ВЫБОР КОГДА Статьи.ВариантРаспределенияРасходовРегл = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаВнеоборотныеАктивы) ТОГДА
| Строки.АналитикаРасходов
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СубконтоДт3,
|
// ДТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
// КТ - Вид счета, Аналитика учета, Место учета
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками)
| КОНЕЦ КАК ВидСчетаКт,
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ЕСТЬNULL(Расчеты.ГруппаФинансовогоУчета, Операция.ГруппаФинансовогоУчета)
| КОНЕЦ КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
// КТ - Валюта, Подразделение, Счет
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.Валюта
| ИНАЧЕ
| Операция.ВалютаВзаиморасчетов
| КОНЕЦ КАК ВалютаКт,
| ЕСТЬNULL(Расчеты.Подразделение, Операция.Подразделение) КАК ПодразделениеКт,
| ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.НаправлениеДеятельности, Операция.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиКт,
|
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| ВЫБОР КОГДА Операция.Валюта = &ВалютаРеглУчета ТОГДА
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами)
| ИНАЧЕ
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицамиВал)
| КОНЕЦ
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СчетКт,
|
// КТ - Субконто
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.ПодотчетноеЛицо
| ИНАЧЕ
| Операция.Контрагент
| КОНЕЦ КАК СубконтоКт1,
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Операция.Договор
| КОНЕЦ КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
// КТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| СУММА(Строки.СуммаНДС)
| ИНАЧЕ
| СУММА(Строки.СуммаНДСВзаиморасчетов)
| КОНЕЦ КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""НДС при приобретении"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрНакопления.НДСПредъявленный КАК НДСПредъявленный
| ПО
| НДСПредъявленный.Регистратор = Строки.Ссылка
| И НДСПредъявленный.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И НЕ НДСПредъявленный.РегламентнаяОперация
| И НЕ НДСПредъявленный.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ПланВидовХарактеристик.СтатьиРасходов КАК Статьи
| ПО
| Строки.СтатьяРасходов = Статьи.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Расчеты.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТВводСобственныхСредств КАК ВводСобственныхСредств
| ПО ДокументыКОтражению.Ссылка = ВводСобственныхСредств.Ссылка
| И НДСПредъявленный.СчетФактура = ВводСобственныхСредств.СчетФактура
|
|СГРУППИРОВАТЬ ПО
|
| Операция.Ссылка,
| Операция.Дата,
| Операция.Организация,
| Операция.Контрагент,
| Операция.Договор,
| Операция.ПодотчетноеЛицо,
| Операция.ВалютаВзаиморасчетов,
| Операция.ХозяйственнаяОперация,
| Операция.Подразделение,
| Операция.НаправлениеДеятельности,
| Операция.ГруппаФинансовогоУчета,
| НДСПредъявленный.ВидДеятельностиНДС,
| ЕСТЬNULL(ВводСобственныхСредств.НаправлениеДеятельности, НДСПредъявленный.НаправлениеДеятельности),
| НДСПредъявленный.ВидЦенности,
| Статьи.ВариантРаспределенияРасходовРегл,
| Строки.АналитикаРасходов,
| Расчеты.Подразделение,
| Расчеты.НаправлениеДеятельности,
| Расчеты.ГруппаФинансовогоУчета
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
ТекстЗапроса = "
|ВЫБРАТЬ //// НДС при приобретении по рег. НДСПредъявленный (Дт 19 :: Кт 60, 71, 76) @НДСпредъявленный
|
| Операция.Ссылка КАК Ссылка,
| Операция.Дата КАК Период,
| Операция.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК ИдентификаторСтроки,
|
// Сумма
| СУММА(НДСПредъявленный.НДС) КАК Сумма,
| СУММА(НДСПредъявленный.НДСУпр) КАК СуммаУУ,
|
// ДТ - Вид счета, Аналитика учета, Место учета
|
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.НДСпоПриобретеннымЦенностям) КАК ВидСчетаДт,
| НДСПредъявленный.ВидДеятельностиНДС КАК АналитикаУчетаДт,
| НДСПредъявленный.ВидЦенности КАК МестоУчетаДт,
|
// ДТ - Валюта, Подразделение, Счет
| ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК ВалютаДт,
| ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка) КАК ПодразделениеДт,
| ЕСТЬNULL(ВводСобственныхСредств.НаправлениеДеятельности, НДСПредъявленный.НаправлениеДеятельности) КАК НаправлениеДеятельностиДт,
|
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка) КАК СчетДт,
|
// ДТ - Субконто
| Операция.Контрагент КАК СубконтоДт1,
| Операция.Ссылка КАК СубконтоДт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоДт3,
|
// ДТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| 0 КАК ВалютнаяСуммаДт,
| 0 КАК КоличествоДт,
| 0 КАК СуммаНУДт,
| 0 КАК СуммаПРДт,
| 0 КАК СуммаВРДт,
|
// КТ - Вид счета, Аналитика учета, Место учета
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ЗНАЧЕНИЕ(Перечисление.ВидыСчетовРеглУчета.РасчетыСПоставщиками)
| КОНЕЦ КАК ВидСчетаКт,
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| ЕСТЬNULL(Расчеты.ГруппаФинансовогоУчета, Операция.ГруппаФинансовогоУчета)
| КОНЕЦ КАК АналитикаУчетаКт,
| НЕОПРЕДЕЛЕНО КАК МестоУчетаКт,
|
// КТ - Валюта, Подразделение, Счет
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.Валюта
| ИНАЧЕ
| Операция.ВалютаВзаиморасчетов
| КОНЕЦ КАК ВалютаКт,
| ЕСТЬNULL(Расчеты.Подразделение, Операция.Подразделение) КАК ПодразделениеКт,
| ВЫБОР
| КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ЕСТЬNULL(Расчеты.НаправлениеДеятельности, Операция.НаправлениеДеятельности)
| КОНЕЦ КАК НаправлениеДеятельностиКт,
|
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| ВЫБОР КОГДА Операция.Валюта = &ВалютаРеглУчета ТОГДА
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами)
| ИНАЧЕ
| ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицамиВал)
| КОНЕЦ
| ИНАЧЕ
| НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК СчетКт,
|
// КТ - Субконто
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| Операция.ПодотчетноеЛицо
| ИНАЧЕ
| Операция.Контрагент
| КОНЕЦ КАК СубконтоКт1,
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| НЕОПРЕДЕЛЕНО
| ИНАЧЕ
| Операция.Договор
| КОНЕЦ КАК СубконтоКт2,
| НЕОПРЕДЕЛЕНО КАК СубконтоКт3,
|
// КТ - Валютная сумма, Количество, Суммы ПР,ВР,НУ
| ВЫБОР КОГДА Операция.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаЧерезПодотчетноеЛицо) ТОГДА
| СУММА(Строки.СуммаНДС)
| ИНАЧЕ
| СУММА(Строки.СуммаНДСВзаиморасчетов)
| КОНЕЦ КАК ВалютнаяСуммаКт,
| 0 КАК КоличествоКт,
| 0 КАК СуммаНУКт,
| 0 КАК СуммаПРКт,
| 0 КАК СуммаВРКт,
| ""НДС при приобретении"" КАК Содержание
|
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг КАК Операция
| ПО
| ДокументыКОтражению.Ссылка = Операция.Ссылка
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.ВидыЗапасов КАК Строки
| ПО
| Строки.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| Документ.ПриобретениеТоваровУслуг.Товары КАК ДанныеТовары
| ПО
| ДанныеТовары.Ссылка = Строки.Ссылка
| И ДанныеТовары.ИдентификаторСтроки = Строки.ИдентификаторСтроки
|
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| РегистрНакопления.НДСПредъявленный КАК НДСПредъявленный
| ПО
| НДСПредъявленный.Регистратор = Строки.Ссылка
| И НДСПредъявленный.ИдентификаторСтроки = Строки.ИдентификаторСтроки
| И НЕ НДСПредъявленный.РегламентнаяОперация
| И НЕ НДСПредъявленный.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ТоварыНалоговыйАгент)
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| ВТРасчетыСПоставщиками КАК Расчеты
| ПО
| Расчеты.Ссылка = Операция.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ ВТВводСобственныхСредств КАК ВводСобственныхСредств
| ПО ДокументыКОтражению.Ссылка = ВводСобственныхСредств.Ссылка
| И НДСПредъявленный.СчетФактура = ВводСобственныхСредств.СчетФактура
|
|ГДЕ
| ДанныеТовары.Ссылка ЕСТЬ NULL
|
|СГРУППИРОВАТЬ ПО
|
| Операция.Ссылка,
| Операция.Дата,
| Операция.Организация,
| Операция.Контрагент,
| Операция.Договор,
| Операция.ПодотчетноеЛицо,
| Операция.ВалютаВзаиморасчетов,
| Операция.ХозяйственнаяОперация,
| Операция.Подразделение,
| Операция.НаправлениеДеятельности,
| Операция.ГруппаФинансовогоУчета,
| НДСПредъявленный.ВидДеятельностиНДС,
| ЕСТЬNULL(ВводСобственныхСредств.НаправлениеДеятельности, НДСПредъявленный.НаправлениеДеятельности),
| НДСПредъявленный.ВидЦенности,
| Расчеты.Подразделение,
| Расчеты.НаправлениеДеятельности,
| Расчеты.ГруппаФинансовогоУчета
|";
ТекстыОтражения.Добавить(ТекстЗапроса);
#КонецОбласти
Возврат СтрСоединить(ТекстыОтражения, ОбщегоНазначенияУТ.РазделительЗапросовВОбъединении());
//-- Локализация
Возврат "";
КонецФункции
// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете
//
// Возвращаемое значение:
// Строка - сформированный текст запроса.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
Возврат "";
КонецФункции
#КонецОбласти
Обратите внимание, что для документа ПТУ не требуется предварительно готовить временные таблицы, и в результате функция ТекстЗапросаВТОтраженияВРеглУчете возвращает пустую строку. Но описывать эту функцию все равно требуется, иначе программа выдаст исключение (см. функцию РеглУчетВыборкиСерверПовтИсп.ТекстВТОтраженияДокумента).
А вот документу РТУ для формирования проводок предварительно требуется получить данные о расчетах с клиентами:
// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете
//
// Возвращаемое значение:
// Строка - сформированный текст запроса.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт
ТекстыЗапроса = Новый Массив;
//++ Локализация
#Область РасчетыСКлиентамиПоЗаказам
ТекстЗапроса =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Расчеты.Регистратор КАК Ссылка,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств,
| ОбъектыРасчетов.Контрагент КАК Контрагент,
| ОбъектыРасчетов.Договор КАК Договор,
| ОбъектыРасчетов.Подразделение КАК Подразделение,
| ОбъектыРасчетов.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
| ОбъектыРасчетов.НаправлениеДеятельности КАК НаправлениеДеятельности,
| ВЫБОР
| КОГДА ОбъектыРасчетов.ТипОбъектаРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыОбъектовРасчетов.Заказ)
| ТОГДА ОбъектыРасчетов.Объект
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ КАК Заказ,
| СУММА(Расчеты.Сумма) КАК Сумма,
| СУММА(Расчеты.СуммаУпр) КАК СуммаУпр,
| СУММА(Расчеты.СуммаРегл) КАК СуммаРегл
|
|ПОМЕСТИТЬ ВТРасчетыСКлиентамиПоЗаказам
|ИЗ
| ДокументыКОтражению КАК ДокументыКОтражению
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК Расчеты
| ПО ДокументыКОтражению.Ссылка = Расчеты.Регистратор
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ОбъектыРасчетов КАК ОбъектыРасчетов
| ПО (Расчеты.ОбъектРасчетов = ОбъектыРасчетов.Ссылка)
|ГДЕ
| ОбъектыРасчетов.Организация <> ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| И НЕ Расчеты.ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПереносАванса),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РезервированиеАвансаКлиента),
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВзаимозачетЗадолженности))
|
|СГРУППИРОВАТЬ ПО
| Расчеты.Регистратор,
| Расчеты.Валюта,
| Расчеты.СтатьяДвиженияДенежныхСредств,
| ОбъектыРасчетов.Контрагент,
| ОбъектыРасчетов.Договор,
| ОбъектыРасчетов.НаправлениеДеятельности,
| ОбъектыРасчетов.ГруппаФинансовогоУчета,
| ОбъектыРасчетов.Подразделение,
| ВЫБОР
| КОГДА ОбъектыРасчетов.ТипОбъектаРасчетов = ЗНАЧЕНИЕ(Перечисление.ТипыОбъектовРасчетов.Заказ)
| ТОГДА ОбъектыРасчетов.Объект
| ИНАЧЕ НЕОПРЕДЕЛЕНО
| КОНЕЦ
|
|ИНДЕКСИРОВАТЬ ПО
| Ссылка,
| Заказ";
ТекстыЗапроса.Добавить(ТекстЗапроса);
#КонецОбласти
// Добавим пустой запрос, для того чтобы последний запрос тоже заканчивался на разделитель пакета запросов:
ТекстыЗапроса.Добавить("");
//-- Локализация
ТекстЗапроса = СтрСоединить(ТекстыЗапроса, ОбщегоНазначения.РазделительПакетаЗапросов());
Возврат ТекстЗапроса;
КонецФункции
3. Неочевидный "багаж" при отражении проводок
Помимо того текста запроса, что мы рассмотрели в п. 2, к нему добавляются еще дополнительные временные таблицы и дополнительные проводки. Добавление происходит в функции РеглУчетВыборкиСерверПовтИсп.ЗапросДанных, и уже там формируется финальный текст запроса. (Почти финальный: в РеглУчетПроведениеСервер.ВыборкиОтраженияДокументов будет еще череда запросов в базу данных).
Я приведу таблицу с перечислением имен дополнительных временных таблиц и корреспонденций дополнительных проводок, и укажу места, где искать их описания.
Состав финального запроса может меняться в зависимости от:
- Это объект расчетов (ОР) - РеглУчетВыборкиСерверПовтИсп.ЭтоОбъектРасчетов(ДокументИмя)
- Это расчетный документ (РД) - РеглУчетВыборкиСерверПовтИсп.ЭтоРасчетныйДокумент(ДокументИмя)
- Это Регистратор расчетов (РР) - отдельное условие для документа "Регистратор расчетов"
- Остальные документы (ОД) - остальные документы
Имя дополнения | Где искать (все функции расположены в общем модуле РеглУчетВыборкиСерверПовтИсп) |
ОР | РД | РР | ОД |
---|---|---|---|---|---|
Временная таблица ВтСтроки |
ТекстСебестоимость | + | + | - | + |
Временная таблица ВтСтоимости |
ТекстСебестоимость | + | + | - | + |
Временная таблица РасчетыСКлиентамиНоваяАрхитектура |
ТекстРасчетовПоНовойАрхитектуре | - | + | - | - |
Временная таблица РасчетыСПоставщикамиНоваяАрхитектура |
ТекстРасчетовПоНовойАрхитектуре | - | + | - | - |
Временная таблица ВТРасчетыСКлиентами |
ТекстВТРасчетов | - | + | - | - |
Временная таблица ВТРасчетыСПоставщиками |
ТекстВТРасчетов | - | + | - | - |
Временная таблица ВТРасчетыСКлиентамиПоДокументам |
ТекстВТРасчетовПоДокументам | + | - | - | - |
Временная таблица ВТРасчетыСПоставщикамиПоДокументам |
ТекстВТРасчетовПоДокументам | + | - | - | - |
Временная таблица ВТРасчетыСПоставщикамиПоДокументам |
ТекстВТВводСобственныхСредств | + | + | + | + |
Временная таблица УчетнаяПолитикаОрганизаций |
ТекстУчетнаяПолитика | + | + | + | + |
Временная таблица КурсыВалют |
ТекстКурсыВалют | + | + | + | + |
Временная таблица Данные (фиктивная) |
ТекстИнициализации | + | + | + | + |
Проводки Дт <62.2> :: Кт <62.1, 76> Дт <60.1, 76> :: Кт <60.2> |
ТекстЗачетАвансов | + | - | - | - |
Проводки Дт 10, 20, 41 :: Кт 10.ДР, 41.ДР, 19.03, 19.11 Дт 90.02 :: Кт 10, 20, 41 Дт 10, 20, 41 :: Кт 10, 20, 41 Дт <44> :: Кт 10, 20, 41 Дт 10, 20, 41 :: Кт 91.01 |
ТекстРаспределениеРасходов | + | + | - | + |
Проводки Дт 91 :: Кт 20, 44 |
ТекстСписаниеРасходовУОрганизацииИсточника | + | + | - | + |
Проводки Дт 20, 44 :: Кт 91 |
ТекстРегистрацияРасходовУОрганизации... ...Получателя |
+ | + | - | + |
Проводки Дт <25, 26, 44> - Кт <19.3, 19.4> |
ТекстНДСПоДаннымФинпартий | + | + | - | + |
Проводки Дт <19.Х> - Кт <19.Х> Дт <19.7> - Кт <19.Х> Дт <68.02, 68.52> - Кт <19.Х> Дт <19.Х> - Кт <68.02, 68.52> Дт <91.02> - Кт <19.Х> |
ТекстНДСПоНДСПредъявленный | + | + | - | + |
И напоследок хочу сказать спасибо разработчикам ERP за лайфхак поиска интересующих проводок: во всей конфигурации, перед описанием текста запроса очередной проводки, есть описание корреспонденции счетов этой проводки, например:
#Область ПриемНаКомиссию // (Дт 004.01 :: Кт )
...
|ВЫБРАТЬ // Фактуровка поставки (Дт 60.НП :: Кт 60, 76)
...
|ВЫБРАТЬ //// Получение услуг (Дт 2Х, 44, 91 :: Кт 60, 71, 76)
...
"ВЫБРАТЬ // Изменение вида деятельности НДС (Дт <19.Х> - Кт <19.Х>) @НДСпредъявленный
...
|ВЫБРАТЬ // Вычет НДС (Дт <68.02, 68.52> - Кт <19.Х>) @НДСпредъявленный
...
Либо смотрите "Содержание" проводки в режиме предприятия: они также описаны в запросах
| ""Прием товаров на комиссию"" КАК Содержание
Так что, если у Вас есть терпение и много времени, то можно пользоваться глобальным поиском по модулям конфигурации :)