Организация псевдо-партионного учета на РАУЗ

28.03.18

Разработка - Запросы

Имеется 1С самопальная, сделанная на основе КА 1.1 для работы удаленного склада в ОАЭ, в которой: -Используется РАУЗ -Отключен бухгалтерский учет (за ненадобностью) -Отключены все подсистемы работы с НДС (т.к. его там не было до 2018 года) В связи с изменениями законодательства ОАЭ там теперь введен НДС 5% для некоторых видов поставок и отгрузок. Для формирования отчетности по НДС (в частности, возмещения НДС по продажам не облагаемым НДС) решил сделать псевдо-партионный учет НДС. 

Да, да в типовой конфигурации имеется функционал для подготовки данных по НДС, но он тянет за собой необходимость формировать дополнительные регламентные документы и заточен под законодательство РФ, перепиливать эту махину у меня желания нет и вот как вариант я добавил регистр Партии и провожу по нему документы в конце квартала. 

Первое, что было сделано, это заприходованы остатки в партии на 2018 год.

Далее по партии проведены приходы, запрос не буду выкладывать, т.к. оприходование вещь в общем-то простая, табличная часть документа загружается в партию.

Создан запрос списания партии (собственно, он и есть суть публикации)

В данном партионном учете отключен учет по складам, т.к. это в конечно счете не имеет значения, с какого склада продается товар, главное, присутствует ли в партии НДС.

 

Результатом выполнения запроса является набор записей регистра накопления, либо если распределение не удалось, колонка Ошибка заполняется в Истину.

Также используются условия остатка более чем ноль, это сделано из за кривизны входящих остатков по товарам на складах (именно перегиб по сериям), опять же выравнивать лень и смысла в этом особого нет. 

Вот, собственно, и все, критикуйте, если не жалко (ну или наоборот =)

 

ВЫБРАТЬ
	РеализацияТоваровУслугТовары.Номенклатура,
	РеализацияТоваровУслугТовары.Количество,
	РеализацияТоваровУслугТовары.СерияНоменклатуры,
	РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры,
	РеализацияТоваровУслугТовары.Ссылка.Дата
ПОМЕСТИТЬ Отгрузка
ИЗ
	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
	РеализацияТоваровУслугТовары.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	_ПартииНДСОстатки.Номенклатура,
	_ПартииНДСОстатки.Постащик,
	_ПартииНДСОстатки.ДокументПартии,
	_ПартииНДСОстатки.НомерПартии,
	_ПартииНДСОстатки.Характеристика,
	_ПартииНДСОстатки.Серия,
	_ПартииНДСОстатки.СтавкаНДС,
	_ПартииНДСОстатки.ДатаПартии,
	_ПартииНДСОстатки.КоличествоОстаток,
	_ПартииНДСОстатки.СуммаОстаток,
	_ПартииНДСОстатки.СуммаНДСОстаток,
	_ПартииНДСОстатки.УИДПартии
ПОМЕСТИТЬ Партии
ИЗ
	РегистрНакопления._ПартииНДС.Остатки(
			&ДатаСписания,
			Номенклатура В
				(ВЫБРАТЬ
					реал.Номенклатура
				ИЗ
					Отгрузка КАК реал)) КАК _ПартииНДСОстатки
ГДЕ
	_ПартииНДСОстатки.КоличествоОстаток > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Партии.Номенклатура.Артикул КАК НоменклатураАртикул,
	Партии.Номенклатура,
	Партии.Характеристика,
	Партии.Серия,
	СУММА(Партии.КоличествоОстаток) КАК КоличествоОстаток,
	Партии.УИДПартии,
	Партии.СтавкаНДС,
	Партии.СуммаОстаток,
	Партии.СуммаНДСОстаток,
	Партии.ДатаПартии,
	Партии.НомерПартии
ПОМЕСТИТЬ ПартииПодготовкаУИД
ИЗ
	Партии КАК Партии

СГРУППИРОВАТЬ ПО
	Партии.Номенклатура.Артикул,
	Партии.Номенклатура,
	Партии.Характеристика,
	Партии.Серия,
	Партии.УИДПартии,
	Партии.СтавкаНДС,
	Партии.СуммаОстаток,
	Партии.СуммаНДСОстаток,
	Партии.ДатаПартии,
	Партии.НомерПартии
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ПартииПодготовкаУИД.НоменклатураАртикул,
	ПартииПодготовкаУИД.Номенклатура,
	ПартииПодготовкаУИД.Характеристика,
	ПартииПодготовкаУИД.Серия,
	ПартииПодготовкаУИД.КоличествоОстаток,
	ПартииПодготовкаУИД.УИДПартии,
	СУММА(ПартииПодготовкаУИД1.КоличествоОстаток) КАК КоличествоВыше,
	ПартииПодготовкаУИД.СтавкаНДС,
	ПартииПодготовкаУИД.СуммаОстаток,
	ПартииПодготовкаУИД.СуммаНДСОстаток,
	ПартииПодготовкаУИД.ДатаПартии,
	ПартииПодготовкаУИД.НомерПартии
ПОМЕСТИТЬ ПартииСИтогами
ИЗ
	ПартииПодготовкаУИД КАК ПартииПодготовкаУИД
		ЛЕВОЕ СОЕДИНЕНИЕ ПартииПодготовкаУИД КАК ПартииПодготовкаУИД1
		ПО ПартииПодготовкаУИД.Номенклатура = ПартииПодготовкаУИД1.Номенклатура
			И ПартииПодготовкаУИД.Характеристика = ПартииПодготовкаУИД1.Характеристика
			И ПартииПодготовкаУИД.Серия = ПартииПодготовкаУИД1.Серия
			И ПартииПодготовкаУИД.УИДПартии > ПартииПодготовкаУИД1.УИДПартии
	
СГРУППИРОВАТЬ ПО
	ПартииПодготовкаУИД.НоменклатураАртикул,
	ПартииПодготовкаУИД.Номенклатура,
	ПартииПодготовкаУИД.Характеристика,
	ПартииПодготовкаУИД.Серия,
	ПартииПодготовкаУИД.КоличествоОстаток,
	ПартииПодготовкаУИД.УИДПартии,
	ПартииПодготовкаУИД.СтавкаНДС,
	ПартииПодготовкаУИД.СуммаОстаток,
	ПартииПодготовкаУИД.СуммаНДСОстаток,
	ПартииПодготовкаУИД.ДатаПартии,
	ПартииПодготовкаУИД.НомерПартии
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	СУММА(Отгрузка.Количество) КАК Количество,
	Отгрузка.Номенклатура,
	Отгрузка.СерияНоменклатуры,
	Отгрузка.ХарактеристикаНоменклатуры
ПОМЕСТИТЬ Контроль
ИЗ
	Отгрузка КАК Отгрузка

СГРУППИРОВАТЬ ПО
	Отгрузка.Номенклатура,
	Отгрузка.СерияНоменклатуры,
	Отгрузка.ХарактеристикаНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ПартииСИтогами.НоменклатураАртикул,
	ПартииСИтогами.Номенклатура,
	ПартииСИтогами.Характеристика,
	ПартииСИтогами.Серия,
	ПартииСИтогами.КоличествоОстаток,
	ПартииСИтогами.УИДПартии КАК УидПартии,
	ПартииСИтогами.СтавкаНДС,
	ПартииСИтогами.КоличествоВыше,
	Отгрузка.Количество КАК КоличествоОтгрузка,
	ВЫБОР
		КОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0) - ПартииСИтогами.КоличествоОстаток < 0
			ТОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0)
		ИНАЧЕ ПартииСИтогами.КоличествоОстаток
	КОНЕЦ КАК Количество,
	Отгрузка.Номенклатура КАК Номенклатура2,
	Отгрузка.СерияНоменклатуры КАК СерияНоменклатуры1,
	Отгрузка.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры1,
	ВЫБОР
		КОГДА ПартииСИтогами.Номенклатура ЕСТЬ NULL 
			ТОГДА 1
		ИНАЧЕ 0
	КОНЕЦ КАК Ошибки,
	ПартииСИтогами.СуммаОстаток / ПартииСИтогами.КоличествоОстаток * ВЫБОР
		КОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0) - ПартииСИтогами.КоличествоОстаток < 0
			ТОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0)
		ИНАЧЕ ПартииСИтогами.КоличествоОстаток
	КОНЕЦ КАК Сумма,
	ПартииСИтогами.СуммаНДСОстаток / ПартииСИтогами.КоличествоОстаток * ВЫБОР
		КОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0) - ПартииСИтогами.КоличествоОстаток < 0
			ТОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0)
		ИНАЧЕ ПартииСИтогами.КоличествоОстаток
	КОНЕЦ КАК СуммаНДС,
	ПартииСИтогами.ДатаПартии,
	&ДатаСписания КАК Период,
	&ВидДвижения КАК ВидДвижения,
	ПартииСИтогами.НомерПартии
ИЗ
	Отгрузка КАК Отгрузка
		ЛЕВОЕ СОЕДИНЕНИЕ ПартииСИтогами КАК ПартииСИтогами
		ПО Отгрузка.Номенклатура = ПартииСИтогами.Номенклатура
			И Отгрузка.ХарактеристикаНоменклатуры = ПартииСИтогами.Характеристика
			И Отгрузка.СерияНоменклатуры = ПартииСИтогами.Серия
ГДЕ
	(ВЫБОР
				КОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0) - ПартииСИтогами.КоличествоОстаток < 0
					ТОГДА Отгрузка.Количество - ЕСТЬNULL(ПартииСИтогами.КоличествоВыше, 0)
				ИНАЧЕ ПартииСИтогами.КоличествоОстаток
			КОНЕЦ > 0
			ИЛИ ПартииСИтогами.Номенклатура ЕСТЬ NULL )

PS в данной версии запроса не реализовано остаточное списание суммы остатка партии без количества (как разница в результате округления от деления при списании партии).

запрос партионный учет НДС ОАЭ партии НДС

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    124499    681    389    

732

Пропорциональное распределение в запросе с использованием АвтоНомерЗаписи()

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    1916    andrey_sag    5    

25

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    5961    KawaNoNeko    23    

25

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2127    2    Yashazz    0    

30

Запрос 1С copilot

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

5 стартмани

15.01.2024    6583    31    mkalimulin    27    

51

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Платформа 1С v8.3 Бесплатно (free)

Одной из интересных задач, стоящих в процессе разработки, была поддержка механизма представлений в ЗУП. Но не просто возможность исполнения запросов с ними. Основная проблема была в том, чтобы с ними было удобно работать, а именно: создавать, модифицировать и отлаживать. Кратко о том, что в итоге получилось...

14.12.2023    1870    vandalsvq    7    

29

Объектная модель запроса "Схема запроса" 2

Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    5588    user1923546    26    

46

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16543    skovpin_sa    14    

101
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3119 03.04.18 01:48 Сейчас в теме
"не реализовано остаточное списание суммы остатка партии без количества"
как это у вас получается.. ну вот списываете количество которое полностью совпадает с остатком количества в регистре. со списанием остатка количества в ноль и сумма лежащая на таком количестве тоже должна уходить в ноль...?
3. maxvcb 67 11.04.18 09:55 Сейчас в теме
(1) Да в идеале в запрос нужно добавить условие, при котором при списании конечного остатка списывалась вся сумма, но в данном случае регистр выступает в качестве основного объекта для обмена с бухгалтерской тамошней программой, которая готовит декларации по НДС. Программа написана на 1С, но не 1С:Совместимо и через конвертацию обмен не проходит потому что 80% кода и объектов конфигурации написано на английском языке. Обмен пришлось писать самому и в качестве объекта обмена выступает вот этот самый регистр Партии НДС, движение приход как поступления и движения расход как отгрузки для целей учета НДС в ОАЭ.
2. user596529_a-ivashenko60 05.04.18 15:37 Сейчас в теме
Автору. В тексте статьи обозначено, что это страна ОАЭ. Объединенные арабские эмираты? И что там делает 1С ? И что делаете там вы? Что-то мне подсказывает что вы - не араб.
4. maxvcb 67 11.04.18 10:01 Сейчас в теме
(2) 1С там тоже есть и даже работает 1 бит там, и довольно не плохо. Программные продукты, которые мне известны там самопальные и самой фирмой 1С не поддерживаются только разработчиками. Вы правы я не араб, но являюсь разработчиком конфигураций на платформе 1С, в том числе и для рынка ОАЭ.
Оставьте свое сообщение