Каталог решений - Использование регистров сведений в качестве эталона для сверки остатков между базами

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

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

В наличии

Наименее затратный метод сверки остатков между базами данных. Я его применил на проекте перехода с УПП одной редакции на другую при сверке и корректировке остатков партионного учета.

Категория:

Описание

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

Представьте, что делать, если данные меняются.

Пример.  В источнике ведется учет производства, выполняется переход с базы «источника» в «приемник», при этом в источнике не закрыт год, а значит, например, вводятся документы учета затрат, которые на конец года меняют себестоимость производимых ТМЦ.  При этом учет в приемнике уже начат с нового года, и необходиом обеспечивать «приемник» актуальной себестоимостью на начало года.

 

Я придумал такой способ. Приведу его на примере регистра «ПартииТоваровНаСкладахБухгалтерскийУчет»

Для этого я решил использовать регистр сведений со структурой, аналогичной структуре измерений и ресурсов регистра накопления.

1. Скопировать регистр накопления в регистр сведений, удалить реквизиты в базе «источник». Затраты времени — 5 минут.

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

3. Скопировать структуру регистра сведений в приемник. 5 минут (копи паст)

4. Созать правила обмена по регистру сведений. Как правило, уже существуют правила конвертации для измерений регистра, поэтому с учетом выгрузки структуры с помощью Md82exp.epf, загрузки в конвертацию и написанию правил регистра + 2 часа затрат. При этом пункт 4 выполняется 1 раз.

5. Выгрузка данных регистра сведений в приемник. Зависит от объема данных. 16000 записей выгружалось и загружалось 10 минут.

6. Обработка корректировки остатка в приемнике. Ниже листинг запроса . В моем случае я выполняю перенос для сверки  при условии, что уже есть остатки на 31.12.2015, и мне нужно лишь отразить корректировку по регистру. Результат запроса дает разницы между количеством и стоимостью в качестве источника корректировки в базе приемнике.

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

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

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

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

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

ИМЕЮЩИЕ
    (СУММА(ВТ_1.Стоимость) <> 0
        ИЛИ СУММА(ВТ_1.Количество) <> 0)
has been added to your cart:
Оформление заказа