|   |   | 
| 
 | где могут формироваться движения документа | ☑ | ||
|---|---|---|---|---|
| 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 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 | 
        Блииин, кажись дело и самом деле в отключенной на сервере отладке, обратились к админу, теперь точки стали срабатывать. Впервые просто довелось с клиент-серверной работать. Может и найду сейчас.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |