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

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 в данной версии запроса не реализовано остаточное списание суммы остатка партии без количества (как разница в результате округления от деления при списании партии).

Вступайте в нашу телеграмм-группу Инфостарт

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

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

16500 руб.

02.09.2020    259134    1430    421    

1165

WEB-интеграция Запросы Программист 1С 8.3 Абонемент ($m)

Post1C - это внешняя обработка, которая превращает 1С в полноценный инструмент для тестирования REST API. Всё управление сосредоточено в одном окне: настройка запроса, выполнение, просмотр ответа и генерация кода - без переключения между формами. Аналог Postman, но работающий в привычной среде 1С.

1 стартмани

02.04.2026    2240    68    priem_nv    23    

65

Инструментарий разработчика Запросы Программист 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Представляю новую версию подсистемы работы со схемой запроса, которая завершает её эволюцию от библиотеки по работе со схемой запроса до объектной реализации модели запроса 2. Теперь есть выбор между классическим и текучим стилем написанию кода - оба варианта взаимозаменяемы. Ключевое улучшение - использование объектов в качестве источников данных, значений полей и параметров в условиях виртуальных таблиц, а также новые операторы позиционирования в схеме

1 стартмани

29.03.2026    1791    kalyaka    16    

24

Инструментарий разработчика Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

QueryConsole1C — расширение, включающее консоль запросов с поддержкой исполняемых представлений — аналогов виртуальных таблиц, основанных на методах программного интерфейса ЗУП. Оно позволяет выполнять запросы с учётом встроенной бизнес-логики, отлаживать алгоритмы получения данных и автоматически генерировать код на встроенном языке 1С.

1 стартмани

16.05.2025    11267    148    zup_dev    30    

83

Инструментарий разработчика Запросы Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

В данной публикации рассказывается о решении, которое позволяет находить сразу все ошибки в тексте запроса за раз, а не только самую первую.

2 стартмани

05.03.2025    6535    21    XilDen    12    

29

Обновление 1С Запросы Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

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

3 стартмани

06.02.2025    5805    36    XilDen    26    

42

Запросы Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

В статье приведена удобная возможность отладки исполняемого запроса динамического списка.

03.12.2024    13038    artemusII    11    

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