Имя: Пароль:
1C
 
Регистрация изменений регистра накоплений
, , ,
0 slabak
 
25.02.16
16:30
Здравствуйте!

Вопрос следующий - в УТ 11 при изменении расчетов с клиентом (изменения отражаются в регистре накоплений РасчетыСКлиентами) нужно в обмен с сайтом добавлять данное изменение (то есть поступило, допустим 15000 руб. от партнера, но в этот же день произошла отгрузка товара данному клиенту на 5000 руб. - то это фактически 2 изменения по одному партнеру в данном регистре). Допустим, эти изменения можно зарегистрировать и добавить в обмен, но как быть, когда отменяют проведение одного из документов, что делают эти документы? Что делать в этом случае?

По запросу к изменениям регистра можно получить изменение Узел-Регистратор по данному регистру, но ведь этого набора записей уже в регистре не будет. Как узнать документ и набор движений, который  был отменен в результате отмены проведения документа?

Спасибо за ответ.
1 slabak
 
25.02.16
16:33
Что-то сумбурно написал.

Допустим при проведении документ сделал запись в регистре накоплений и это можно отследить с помощью изменений регистра.

А когда отменяют проведение документа - как узнать, какой набор движений был отменен?

Так вкратце
2 hhhh
 
25.02.16
16:35
(1) а какая разница, отменяют или нет? Регистрируете ведь набор записей.
3 slabak
 
25.02.16
16:46
(2) Извиняюсь, может вопрос некорректен в виду отсутствия должного опыта работы с планами обмена, но как получить этот набор записей (который был сформирован отмененным документом)?
4 slabak
 
25.02.16
16:47
Я вижу, что с помощью запроса можно получить Узел, НомерСообщения и Регистратор по данному регистру. (2)
5 slabak
 
25.02.16
16:49
6 aleks_default
 
25.02.16
16:51
(4) А что тебе еще надо, хороняка.  Пустой набор записей с отбором по регистратору - это и есть удаление набора записей.
7 SergTheGreat
 
25.02.16
17:23
(3) Получить набор записей непосредственно из таблицы изменений нельзя. Она предназначена лишь для одного - отразить факт, что объект был записан/проведен/удален и это изменение нужно отразить в обмене с данным узлом.

Если действительно нужно узнать старые движения, то их нужно сохранять программно. Например, как это делается при исправлении кадровых/зарплатных документов в типовых конфах.

А еще соглашусь с aleks_default - напиши точнее, что нужно получить в конце. Может набор записей вовсе и не требуется.
8 slabak
 
25.02.16
17:34
(7) В итоге на сайт должны уходить текущий аванс клиента + все изменения расчетов с клиентом, включая и "отмены проведения". С текущим авансом проблем нет, т.к. это срез остатков на текущий момент, а вот с движениями сложнее, т.к. документ могут распровести и получается, что движение, которое было сформировано документом пропадает, а значит и неизвестно на какую сумму оно было - разве что известен регистратор этого движения и всё.

То есть было поступление на 15 000, это отразилось и ушло на сайт, затем документ распровели и это тоже отразилось и ушло на сайт, как -15 000... Суть такая.

Получается, что придется в отдельном регистре хранить историю этих движений и уже по нему делать регистрацию изменений, так?
9 FIXXXL
 
25.02.16
17:38
(8) на сайте как хранится-показывается инфа?
не проще запросом по регистру дернуть актуальные записи (или остаток) и полностью заменить инфу на сайте?
10 Fragster
 
гуру
25.02.16
17:40
(8) ну так храни на сайте тип+уид регистратора и отправляй для "отмененных" сумму с нулем
11 SergTheGreat
 
25.02.16
17:52
(9) Если речь об относительно небольшом кол-ве контрагентов, то вариант с полной перезаписью действительно подходит. Плодить "+" и "-" движения при каждом перепроведении документа - это подход явно не оптимальный.
12 FIXXXL
 
25.02.16
17:55
(11) ну дергать-менять то не всех подряд
подписку сделать для сбора актуальной инфы, как вариант
13 Михаил Козлов
 
25.02.16
18:17
(12)+ Регистрировать в узле обмена контрагентов (или договоры) при изменении набора записей регистра. По этим контрагентам посылать на сайт актуальные остатки.
14 slabak
 
26.02.16
14:18
(9) Наверное не проще - достаточно большое количество контрагентов в базе + на сайте. Каждый раз запрашивать все записи по контрагенту и отправлять на сайт - это наверное не оптимальное решение, т.к. это при каждом обмене будет выгружаться всё больше и больше информации.

(11) К сожалению, задача такая стоит - все правки расчетов должны быть видны на сайте.

(13) Актуальные остатки выгрузить не проблема совершенно. Вопрос именно в движениях.

Какие ещё варианты?
Как всё таки узнать какие движения были в регистре до отмены проведения документа?
Подпиской на событие ПередЗаписью на регистр накопления?
15 Fragster
 
гуру
26.02.16
14:26
(14) не надо. смотри внимательно (10)
Независимо от того, куда вы едете — это в гору и против ветра!