![]() |
|
УТ10: Как получить таблицу движений регистра во время проведения. | ☑ | ||
---|---|---|---|---|
0
Кокос
08.06.11
✎
08:58
|
Вобщем допустим есть движения документа по регистру взаиморасчетов. На основании этого регистра нужно сделать движения по другому новому регистру. В Партиях товара есть переменная мТаблицаДвижений. А мне досталась по наследству база где проводки по ВзаиморасчетыСКонтрагентами делаются по другой схеме и эта таблица уже не используется. Сам конечно докопаюсь, ну или на крайняк забью эту таблицу, но может знает кто? Побыстрее хочется :)
|
|||
1
ДенисЧ
08.06.11
✎
08:58
|
ДокументОбъект.<Имя документа>.Движения (DocumentObject.<Имя документа>.RegisterRecords)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) Движения (RegisterRecords) Использование: Только чтение. Описание: Тип: КоллекцияДвижений. Предоставляет доступ к коллекции наборов записей движений документа. Свойства коллекции содержат наборы записей движений документа, которые включены для данного документа в конфигурации. Имена свойств совпадают с именами объектов конфигурации, по которым могут совершаться движения, как они заданы в конфигураторе. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
2
Кокос
08.06.11
✎
08:59
|
(1) вроде уже пробовал и до закрытия документа в ОбработкаПроведения там вроде ничего нет. сейчас гляну еще раз может что пропустил
|
|||
3
Кокос
08.06.11
✎
10:38
|
вроде отработало. Но почемуто движения в Реализации по ПартииТоваровНаСкладах в момент проведения отсутствуют. Я видимо из-за них и застопорился. По всем другим регистрам движения есть а по этому нет. Причем в поступлении все ок, нет движений именно в реализации. Хотя после записи документа открываю его движения и они в таблице присутствуют.
|
|||
4
Кокос
08.06.11
✎
10:40
|
(1) то бишь ситуевина. когда Проводка.Регистр = "ВзаиморасчетыСКонтрагентами" то движения ловятся и все норм. А когда "ПартииТоваровНаСкладах то все пусто и в мТаблицаДвижений и просто в Движения. Оба проверял в отладке. Хотя при проведении других документов по этому регистру все ок.
ТаблицаПроводок = ДокОбъект.Движения[Проводка.Регистр].мТаблицаДвижений; Если НЕ ЗначениеЗаполнено(ДокОбъект.Движения[Проводка.Регистр].мТаблицаДвижений) Тогда ТаблицаПроводок = ДокОбъект.Движения[Проводка.Регистр]; КонецЕсли; ///ТаблицаПроводок = ДокОбъект.Движения[Прово НаборДвижений = ДокОбъект.Движения.УправленческийПланСчетов; Для Каждого СтрокаПроводки Из ТаблицаПроводок Цикл |
|||
5
hhhh
08.06.11
✎
10:42
|
(4) ну, типа по регистру ПартииТоваровНаСкладах пишете через СоздатьНаборЗаписей(), не оно?
|
|||
6
Кокос
08.06.11
✎
10:44
|
(5) а можно по подробнее? просто в я регистр ничего не пишу. Пишет УТ10. я просто таблицу движений в конце ОбработкаПроведения не вижу в РеализацииТоваровУслугу. А в поступлениитоваровуслуг вижу. Проводки по другим регистрам вижу в ОбработкаПроведения во всех других документах.
|
|||
7
Кокос
08.06.11
✎
10:46
|
НаборЗаписей = РегистрыНакопления.ДопРасходыНаПриобретениеТоваров.СоздатьНаборЗаписей();
аборЗаписей.Отбор.Регистратор.Установить(Документ); ТаблицаДвижений = НаборЗаписей.Выгрузить(); это нашел в общих модулях. Попробовать чтоли? |
|||
8
hhhh
08.06.11
✎
10:48
|
(6) ну если УТ пишет через Движения.ПартииТоваровНаСкладах, то естественно сразу видишь. А если
Набор = Регистры.ПартииТоваровНаСкладах.СоздатьНаборЗаписей() то естественно в таблице Движения ничего и не увидишь, пока не перечитаешь из базы. |
|||
9
Кокос
08.06.11
✎
10:49
|
(8)
ТаблицаПроводок = ДокОбъект.Движения[Проводка.Регистр].мТаблицаДвижений; Если НЕ ЗначениеЗаполнено(ДокОбъект.Движения[Проводка.Регистр].мТаблицаДвижений) Тогда ТаблицаПроводок = ДокОбъект.Движения[Проводка.Регистр]; КонецЕсли; Если ТаблицаПроводок.Количество() = 0 Тогда НаборЗаписей = РегистрыНакопления[Проводка.Регистр].СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Докобъект); ТаблицаПроводок = НаборЗаписей.Выгрузить(); КонецЕсли; блин... не помогло. видимо записи еще не произошло. В послезаписи чтоли ловить? |
|||
10
Maxus43
08.06.11
✎
10:49
|
>>А когда "ПартииТоваровНаСкладах то все пусто и в мТаблицаДвижений и просто в Движения
Через подписки на события если пишет - то и не увидиш в модуле документа их, на сервере ловить надо, в общих модулях |
|||
11
Кокос
08.06.11
✎
10:51
|
(10) то бишь самому в подписках делать. А в какой подписке все это делается? пойду искать. эх. век живи век учись
|
|||
12
Maxus43
08.06.11
✎
10:52
|
(11) в УТ незнаю. самый лёгкий способ отловить - в регистре перед записью точку останова и стэк вызовов смотреть
|
|||
13
mikecool
08.06.11
✎
10:53
|
использовать подписку ПередЗаписью/ПриЗаписи у набора записей регистра
|
|||
14
Кокос
08.06.11
✎
11:03
|
(12) в регистре не отлавливается. вернее отлавливается. туда заходит пишет все ок но движений нет. пошел смотреть подписки.
|
|||
15
Родной
08.06.11
✎
11:05
|
Мне кажется в Вашем случае лучше воскользоваться подпиской на событие.
|
|||
16
Maxus43
08.06.11
✎
11:07
|
(14) движения в ЭтотОбъект, когда точка останова в регистре. И я ж говорю - стэк вызовов смотри, покажет откуда пишет
|
|||
17
Кокос
08.06.11
✎
11:12
|
(15) пока этот регистр даже подпиской не ловится. прохожу циклом смотрю этот регистр вообще не показывает. пробую короче. О. Прикольно. Вроде поймал.
(16) не ловится в модуле регистра. Вернее ловится но движений нет. В подписках в параметре Источник есть. |
|||
18
Maxus43
08.06.11
✎
11:13
|
(17) >Вернее ловится но движений нет
Первый раз он очищает регистр, пустые записывает, если перепроведение. может потому и не видиш? чудес не бывает |
|||
19
Кокос
08.06.11
✎
11:14
|
(18) и первый и второй раз нет. смотрел по стеку вызовов
|
|||
20
Кокос
08.06.11
✎
11:14
|
(18) и мне подписка по любому выгоднее. теперь не надо вызов процедуры из каждого документа вставлять
|
|||
21
ICWiner
08.06.11
✎
11:20
|
А еще, возможно, у вас движения по партиям идут не при проведении документа, а отдельной обработкой... Смотри галочку, вроде, в учетной политике - списывать партии при проведении.
|
|||
22
Кокос
08.06.11
✎
11:50
|
(21) там помоему "СписыватьПартииПриходнымОрдером", точно не помню. Но я ее никогда не ставлю. У меня у каждого клиента стоит партионный учет
|
|||
23
Кокос
08.06.11
✎
11:51
|
Всем спасибо. Отработало.
|
|||
24
ICWiner
08.06.11
✎
22:49
|
(22) Вы про галочку в настройках параметров учета, а не учетной политике... Раз отработало, значит галочка списывать партии при проведении стоит
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |