gifts2017

Заполнение документа "Корректировка записей регистров"

Опубликовал Евгений Басевич (Atrocity) в раздел Обработки - Обработка документов

Обработка предназначена для автоматического заполнения документа "Корректировка записей регистров"
- Облегчает исправление данных регистров накопления и регистров бухгалтерии;
- Возможность списать остатки регистра "под ноль" одной кнопкой;
- Заполнение "Корректировки записей регистров" из результатов запроса

 При первом запуске обработка должна выглядеть примерно так:

  Первый запуск

 Сразу рекомендую сохранить настройки с установкой галочек:

 Сохранение настройки

Это очень пригодится, когда вы будете регулярно работать со сложными запросами. В моем примере показаны сохраненные несколько вариантов настроек, а в вашем случае, понятное дело, при первом запуске будет только "Основная".

 

Как пользоваться этой обработкой я покажу на примерах решения тех задач, с которыми мне пришлось столкнуться.

 

Задача №1. Полное списание.

Дано: При расчете себестоимости не полностью закрылись следующие регистры учета:

Счета регистра бухгалтерии "Хозрасчетный"

20.01.1, 25.01

Счета регистра бухгалтерии "Налоговый"

20.01.1, 23.01, 25.01

и соответствующие регистры накопления:

- Затраты (бухгалтерский учет)

- Затраты (налоговый учет)

- Незавершенное производство (бухгалтерский учет)

- Незавершенное производство (налоговый учет)

Требуется документом "Корректировка записей регистров" списать:

1. Все сальдо регистра бухгалтерии "Хозрасчетный" с кредита указанных счетов в дебет счета 90.02.1, Номенклатурная группа = Собственная продукция

2. Все сальдо регистра бухгалтерии "Налоговый" с кредита указанных счетов в дебет счета 90.02, Номенклатурная группа = Собственная продукция

3. Все остатки по регистрам накопления.

Решение.

1. Подготовить документ "Корректировка записей регистров". Для этого создаем новый документ и выбираем его для заполнения соответствующего реквизита формы обработки. Можно выбрать и существующий, но обработка почистит его перед заполнением. Если это повторное заполнение, то нужно нажать кнопку "Очистить движения документа" ранее выболнения обработки.

2. Установить дату расчета итогов. При выборе документа, если дата на форме отличается от даты документа, обработка предложит дату на форме поставить такую же как в документе. Этот реквизит имеет смысл только для полного списания остатка, т.к. при заполнении запросом, даты устанавливаются в параметрах запроса.

3. Устанавливаем нужные флаги на вкладке "Регистры накопления"

Флаги регистров накопления

В моем примере установлен отбор по колонке с флагами. Как не трудно догадаться, в наименовании вкладки панели "Регистры накопления (4)*" число 4 означает количество отмеченных регистров. Символ "*" является признаком, что на этой вкладке есть полное списание, т.е. не заполнение запросом, а именно полное списание.

4. Аналогичным образом устанавливаем флаги для вкладок бухгалтерских и налоговых счетов.

Флаги бух

Если не настроить кор. счет, то коррекспонденция будет со счетом "000". Смысл флага "Переворачивать проводку в следующем. Если флаг не установлен, то проводка дается красным по той стороне, по которой имеется сальдо. Т.е., если по сч. 20.01.1 имеется сальдо дебетовое, то проводка будет дт. 20.01.1 кт. 90.02.1 красным. Если установить флаг "Переворачивать проводку", то проводка будет дт. 90.02.1 кт. 20.01.1 черным.

Аналогично настраиваем вкладку налоговых счетов.

Флаги налог

Жмем "Выполнить", и задача решена.

 

Задача №2. Синхронизация остатков партий товаров на складах.

Часто бывает так, что остатки по регистрам партий налогового учета отличаются от остатков по регистрам партий бухгалтерского учета. Рассмотрим пример синхронизации с помощью нашей обработки.

И так, требуется привести состояние регистра накопления ПартииТоваровНаСкладахНалоговыйУчет к состоянию регистра ПартииТоваровНаСкладахБухгалтерскийУчет с отбором по счету учета 41.02

Движения будут по регистру ПартииТоваровНаСкладахНалоговыйУчет, поэтому его и отмечаем флагом в списке регистров накопления

Отмечаем регистр

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

Настройка1

Жмем кнопку "Запрос". Откроется диалог редактирования запроса. Кстати сказать, он взят из стандартной консоли отчетов, поэтому многим будет знаком и удобен.

Окно редактирования запроса

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

ВЫБРАТЬ
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Организация КАК Организация,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.СчетУчета КАК СчетУчета,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Склад КАК Склад,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура КАК Номенклатура,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.ДокументОприходования КАК ДокументОприходования,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.СерияНоменклатуры КАК СерияНоменклатуры,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Заказ КАК Заказ,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Качество КАК Качество,
	СУММА(-ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество,
	СУММА(-ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.СтоимостьКонечныйОстаток) КАК Стоимость,
	СУММА(-ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.ПостояннаяРазницаКонечныйОстаток) КАК ПостояннаяРазница,
	СУММА(-ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.ВременнаяРазницаКонечныйОстаток) КАК ВременнаяРазница
ПОМЕСТИТЬ Сводная
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладахНалоговыйУчет.ОстаткиИОбороты(&ДатаПерехода, &ДатаПерехода, , , СчетУчета = &СчетНУ) КАК ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты

СГРУППИРОВАТЬ ПО
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.ХарактеристикаНоменклатуры,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Склад,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.ДокументОприходования,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Номенклатура,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Качество,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.СерияНоменклатуры,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Организация,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.Заказ,
	ПартииТоваровНаСкладахНалоговыйУчетОстаткиИОбороты.СчетУчета

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Организация,
	&СчетНУ,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ХарактеристикаНоменклатуры,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Заказ,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Качество,
	СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоКонечныйОстаток),
	СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьКонечныйОстаток),
	0,
	0
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&ДатаПерехода, &ДатаПерехода, , , СчетУчета = &СчетБУ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты

СГРУППИРОВАТЬ ПО
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ХарактеристикаНоменклатуры,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ДокументОприходования,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Качество,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Организация,
	ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Заказ
;

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Объединенная.Организация КАК Организация,
	Объединенная.СчетУчета КАК СчетУчета,
	Объединенная.Склад КАК Склад,
	Объединенная.Номенклатура КАК Номенклатура,
	Объединенная.ДокументОприходования КАК ДокументОприходования,
	Объединенная.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	Объединенная.СерияНоменклатуры КАК СерияНоменклатуры,
	Объединенная.Заказ КАК Заказ,
	Объединенная.Качество КАК Качество,
	Объединенная.Количество КАК Количество,
	Объединенная.Стоимость КАК Стоимость,
	Объединенная.ПостояннаяРазница КАК ПостояннаяРазница,
	Объединенная.ВременнаяРазница КАК ВременнаяРазница
ИЗ
	Объединенная КАК Объединенная
ГДЕ
	(Объединенная.Количество <> 0
			ИЛИ Объединенная.Стоимость <> 0
			ИЛИ Объединенная.ПостояннаяРазница <> 0
			ИЛИ Объединенная.ВременнаяРазница <> 0)

УПОРЯДОЧИТЬ ПО
	Организация,
	СчетУчета,
	Склад,
	Номенклатура,
	СерияНоменклатуры,
	Качество,
	ДокументОприходования,
	Заказ,
	ХарактеристикаНоменклатуры,
	ВременнаяРазница,
	Количество,
	ПостояннаяРазница,
	Стоимость
АВТОУПОРЯДОЧИВАНИЕ

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

 Параметры

Жмем "Ок", запрос выполняется и заполняет табличную часть в окошке "Настройка" результатом запроса.

Настройки - результат запроса

Тут есть важное замечание. Структура результата запроса должна строго соответствовать структуре регистра, с которым работаем. А именно, если ресурс называется "Количество", то и в результате запроса должно быть "Количество", как в примере, а не "КоличествоКонечныйОстаток", например.

 

Жмем "Перенести". Окно настройки закрывается, а все результаты переносятся строку выбранного нами регистра.

Завершение

Видим, что отмечен только один регистр, нет пометок "*", а значит нет полного списания. В колонке "Текст запроса" сохранен наш запрос (параметры и результаты запроса тоже сохранены). Результат запроса можно посмотреть на вкладке "Данные".

Жмем "Выполнить" и задача решена.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Заполнение корректировки записей регистров v2.7b
.epf 122,91Kb
07.02.16
25
.epf 2.7b 122,91Kb 25 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Скаченко (Benefactor88) 23.03.16 13:22
Суммы из запроса не переносятся в корректировку, хотя в закладке "данные" они есть
2. Александр Скаченко (Benefactor88) 23.03.16 13:39
А, разобрался, надо имена ресурсов регистров в запросе указывать как в регистре. Конструктор автоматом подставляет "остатки" в конец, если собираю по остатку
Atrocity; +1 Ответить
3. Константин Куликов (Светлый ум) 06.07.16 12:33
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа