bdd2

Свертка любого регистра накопления

Опубликовал вадим В (ditiatko) в раздел Обработки - Свертка базы

Внешняя обработка для свертки регистра накопления (остатки), на произвольную дату, по произвольным отборам. Фиксирование результатов документом "Корректировка записей регситров".

Была поставлена задача свернуть некоторые товары по регистрам партий (с нескольких строк сделать одну). Поскольку схожего решения не нашел, создал свою обработку. Обработка работает на платформе 8.2. Проверял на УТ и УПП, но должна работать на всех конфигурациях на обычном интерфейсе.

  1. Выбираем регистр.
  2. Устанавливаем отборы по необходимым измерениям.
  3. Указываем параметры для сворачивания. 

Пример:

Если имеем строки

Номенклатура Склад     Документ Сумма Количество

 Диван              Центр    №1           10       1  

Диван              Центр     №2           12       1 

Диван              Магазин  №2           15       1   

 

и указали что сворачивать по номенклатуре и складу в итоге получим две строки

 

Диван              Центр     №2           22       2 

Диван              Магазин  №2           15       1  

 

     4. Задаем значения заполнения (после свертки подставит соответствующие значения).

     5. Жмем "Выполнить" и смотрим корректировку

 

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

  

p.s. не удивляемся почему записей так много. Корректировка списывает текущие остатки и вносит свои.

p.p.s. жду комментариев и предложений 

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

Наименование Файл Версия Размер
Свертка регистра накопления.epf
.epf 13,89Kb
05.12.12
125
.epf 13,89Kb 125 Скачать
Свертка регистра накопления v1.1.epf
.epf 15,47Kb
07.12.12
128
.epf 15,47Kb 128 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Александр Лыткин (TrinitronOTV) 06.12.12 06:18 Сейчас в теме
а зачем вообще сворачивать регистр, например только по остаткам? как это повлияет на остальную информацию в других регистрах?
2. вадим В (ditiatko) 33 06.12.12 11:19 Сейчас в теме
На остальную никак. Делал для партий товаров, чтобы убрать минуса в партиях закрытых периодов.
3. Alex Misanets (Misanets) 331 06.12.12 17:56 Сейчас в теме
В моем случае было бы лучше сворачивать удалив записи регистра создав одну новую (свернутую) запись. Но все равно плюс в карму.
4. вадим В (ditiatko) 33 06.12.12 18:03 Сейчас в теме
Думал над этим. но отказался, для того чтобы сохранялась история и обороты.
5. Alex Misanets (Misanets) 331 07.12.12 10:55 Сейчас в теме
(4) ditiatko, вот эту "горе история" я и хочу убрать))
6. вадим В (ditiatko) 33 07.12.12 11:21 Сейчас в теме
Будет свободное время, опционально можно сделать удаление свернутых записей (те которые были до сворачивания).
7. вадим В (ditiatko) 33 07.12.12 17:15 Сейчас в теме
(5) Misanets, Добавлена возможность удаления движений (опционально).
8. Данила Елистратов (CagoBHuK) 25 17.12.12 18:30 Сейчас в теме
(1) +1. Такие вопросы решаются просто корректировкой записей регистров за текущий период. Вопрос автору: вы отключаете расчет итогов по регистру в момент его перезаписи? Что будет, если в регистре миллиарды записей?
9. вадим В (ditiatko) 33 17.12.12 19:04 Сейчас в теме
(8) CagoBHuK,
Такие вопросы решаются просто корректировкой записей регистров за текущий период.

да но для того чтобы сделать корректировку, необходимо самому руками или отчетом "свернуть" регистр и только после этого создать документ. Обработка делает эту рутинную работу.
вы отключаете расчет итогов по регистру в момент его перезаписи? Что будет, если в регистре миллиарды записей?

на настолько больших объемах не тестировал, признаюсь частно, но здесь два варианта:
-в первом случае он проводит одним документом - тоесть и пересчет итогов будет один.
-в случае очистки регистра, запись происходит в транзакции при монопольном, так что, насколько мне известно, пересчет итогов будет проходить только один раз, после фиксации транзакции.
А от пересчета никуда не деться в любом случае.
10. Денис (DenisKin) 20 05.03.13 14:15 Сейчас в теме
Спасибо! Обработка реально помогла свернуть партии так как мне нужно было.
11. Юрий Осипов (yuraos) 813 06.04.13 09:28 Сейчас в теме
Альтернатива:
без написания отдельной обработки
в "Консоли запросов 1С + ADO"
12. вадим В (ditiatko) 33 06.04.13 12:36 Сейчас в теме
(11) yuraos,
Альтернатива:
- Для программистов возможно, для бухгалтеров и пользователей точно нет.
p.s. а публикацию вашу стоит прочитать внимательней, и возможно взять на вооружение :)
13. Юрий Осипов (yuraos) 813 06.04.13 13:47 Сейчас в теме
(12) ditiatko, согласен.
Этот инструмент "Консоли запросов 1С + ADO" - не для кривых ручек.


PS:
Перед открытием формы консоли
проверяется наличие совокупности "крутых" глобальных прав,
а так же доступ
к роли "ПолныеПрава" (если она есть в конфигурации).
14. Shade (Shade) 2 02.06.13 05:07 Сейчас в теме
А почему в примере склад Центр №1 и Центр №2 объединились?
И почему остался именно этот, например, а не другой?
15. вадим В (ditiatko) 33 04.06.13 16:34 Сейчас в теме
(14) Shade, Центр это склад, а №1, и №2 - это номера документов, поэтому склад свернулся, а документ должен остаться пустым (если мы его явным образом не указали).
16. Геннадьевич Бу (Геннадьевич) 1 15.07.13 16:04 Сейчас в теме
Я так понял, обработка работает только с остатками? Как на это реагируют документы которые эти движения делали?
17. вадим В (ditiatko) 33 15.07.13 17:15 Сейчас в теме
(16) Геннадьевич,
Как на это реагируют документы которые эти движения делали


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