|
где могут формироваться движения документа | ☑ | ||
---|---|---|---|---|
0
kathleen
26.02.16
✎
14:12
|
Помогите, кто-нибудь. Документ формирует движения по нескольким регистрам,но я не могу найти это в коде. По некоторым из них все ок, ставлю точку останова на КонецПроцедуры обработкаПроведения(), вызываю движения и вижу по ним таблицу движения. По другим только <> и пустая таблица, однако после проведения движения заполнены. Подскажите, где искать?
|
|||
1
Господин ПЖ
26.02.16
✎
14:13
|
в подписке допустим
|
|||
2
Волшебник
модератор
26.02.16
✎
14:13
|
поставь точку останова в модуле набора записей регистра и посмотри стек вызовов
|
|||
3
kathleen
26.02.16
✎
14:17
|
(2)Ага, сейчас попробую, а что значит посмотреть стек вызовов?
|
|||
4
ИС-2
naïve
26.02.16
✎
14:19
|
в меню отладка
|
|||
5
Михаил Козлов
26.02.16
✎
14:22
|
Движения (например, по РН ПартииТоваровНаСкладах или ПродажиСебестоимость) могут формироваться "извне" (модуль УправлениеЗапасамиУправленческийУчет) и в коллекции движений Вы их не увидите (пока не прочитаете).
|
|||
6
kathleen
26.02.16
✎
14:34
|
(2)Остановился передзаписью() только вызов функции ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ)
|
|||
7
vde69
26.02.16
✎
14:40
|
у меня вообще все движения формируются в модуле менеджера документа по ссылке (без объекта) и соответственно в коллекции движений объекта появятся только после чтения колекции....
|
|||
8
kathleen
26.02.16
✎
14:59
|
помогите, куда еще копать?
|
|||
9
ObjectRelation Model
26.02.16
✎
15:01
|
(7) а у меня в модуле набора записей одного регистра формируется набор записей другого регистра
|
|||
10
ObjectRelation Model
26.02.16
✎
15:01
|
+(9) тем самым код записи движений собран в одном месте, а не разбросан по документам
|
|||
11
kathleen
26.02.16
✎
15:05
|
(10)но точка останова ПередЗаписью в модуле набора записей все равно же должна срабатывать?
|
|||
12
vde69
26.02.16
✎
15:18
|
(11) объясняю
коллекция движений содержит кроме самих данных еще и флаг "Использовать" (или похожий, точно не помню)... где-то в недрах проведения я пишу прямо в регистр "ПартииТМЦ" а в Движения.ПартииТМЦ.Использовать ставлю в ЛОЖЬ при этом в конце модуля проведения движения будут пустые а регистр будет с данными, и фиксация транзакции не затрет ничего нужного.... |
|||
13
vde69
26.02.16
✎
15:22
|
(12) чем это удобно
1. Восстановление движений и последовательности без перезаписи документа (документ не попадает в обмены, проще с датой запрета редактирования и т.д.) 2. Фоновые операции, роботы и т.д. не требуют прав на запись документа, только регистры.... 3. лог 1с содержит только явные записи документа, простое перепроведение туда не попадает |
|||
14
vde69
26.02.16
✎
15:24
|
(13)+
4. возможно формировать движения к непроведенному документы 5. удобно реализовывать проведение по статусу 6. блокировки только на записываемый регистр (да можно проводить только по выбраному регистру) |
|||
15
Cyberhawk
26.02.16
✎
15:25
|
"где-то в недрах проведения я пишу прямо в регистр "ПартииТМЦ"" // Имеешь в виду создание независимого набора записей (через менеджер регистра и СоздатьНаборЗаписей()) и подкладывание его под ссылку-регистратор?
|
|||
16
vde69
26.02.16
✎
15:26
|
(15) да... работает на ура!
|
|||
17
kathleen
29.02.16
✎
15:37
|
ну подскажите еще наводку какую-нибудь, точки останова нигде не срабатывают, ни в модуле набора записей ПередЗаписью(), ни в подписке при записи регистров, где искать?
|
|||
18
kathleen
29.02.16
✎
15:37
|
такое ощущение, что где-то вне конфигурации записи формируются
|
|||
19
Sergz66
29.02.16
✎
15:56
|
(18)Отладка-то включена?
|
|||
20
INT
29.02.16
✎
15:59
|
(5) Тоже долго возился с ПродажиСебестоимость. Автор проверь этот вариант)
|
|||
21
hhhh
29.02.16
✎
16:03
|
(18) поищите СоздатьНаборЗаписей() этого регистра в общих модулях где-нибудь
|
|||
22
samozvanec
29.02.16
✎
16:04
|
(18) глобальным поиском можно поискать
|
|||
23
vde69
29.02.16
✎
16:08
|
перед записью - включаешь замер производительности
после записи - останавливаешь текст копируешь в блокном и поиском ищешь имя регистра |
|||
24
kathleen
29.02.16
✎
16:09
|
(20)но в модуле набора записей должно же остановиться? Я уже в процедура в этом общем модуле кучу точек наставила.
|
|||
25
kathleen
29.02.16
✎
16:10
|
(23)А как включить замер производительности?
|
|||
26
hhhh
29.02.16
✎
16:11
|
(24) может у вас отладка на сервере выключена
|
|||
27
vde69
29.02.16
✎
16:13
|
||||
28
kathleen
29.02.16
✎
16:13
|
(26)другие точки срабатывают. например ставлю точку в конец обработкапроведения, захожу в движения по трем регстрам вижу, по трем нет.
|
|||
29
kathleen
29.02.16
✎
16:15
|
ПередЗаписью() в этих регистрах срабатывает только на строку удаления движений по регистратору, вообще странно, потом по идее он где-то записывает новые и должно снова сработать, но нет же
|
|||
30
vde69
29.02.16
✎
16:17
|
(29) перед записью - в ДОКУМЕНТЕ !!!!
|
|||
31
kathleen
29.02.16
✎
16:21
|
(30)и после записи в документе? Сейчас проверю
|
|||
32
kathleen
29.02.16
✎
16:23
|
(30) после записи нету, при записи может?
|
|||
33
vde69
29.02.16
✎
16:25
|
(32) при записи будет не честно, по тому как подписки отрабатывают позже, а вот после записи - гарантировано ЗА транзакцией...
на тестовой добавь процедуру и проверь |
|||
34
hhhh
29.02.16
✎
16:33
|
(32) если ставите точку в конец обработкапроведения, то сама запись в регистр происходит после конецПроцедуры обработки проведения. Правильно, что вы ее не видите.
|
|||
35
vde69
29.02.16
✎
16:41
|
я как то тоже долго искал сабж... оказалось регистр накопления писался в модуле расчета начислений прямой записью... это круче чем подписки.... отладчик туда не сам заходит, только если принудительно точку остановки там ставить :)
|
|||
36
kathleen
29.02.16
✎
16:43
|
Блииин, кажись дело и самом деле в отключенной на сервере отладке, обратились к админу, теперь точки стали срабатывать. Впервые просто довелось с клиент-серверной работать. Может и найду сейчас.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |