|   |   | 
| 
 | Логика ОбработкаПроведения | ☑ | ||
|---|---|---|---|---|
| 0
    
        lincore 08.11.12✎ 06:38 | 
        Заранее извиняюсь за видимо тупой вопрос, но всеже:
  записи в регистр записываются по окончании ОбработкиПроведения? Ситуация: УТ. в обработке проведения документа идет движение по регистру накопления, и после этого идет проверка с запросом с участием этого же регистра, и проверка никогда не проходит, т.к. движений еще нету. так когда они появляются? в "послезаписи" в форме проверка уже корректно работает(видит движения), но документ проводит фоновое задание, так что нужно чтото вроде "Послепроведения" | |||
| 1
    
        Wobland 08.11.12✎ 06:39 | 
        >и после этого идет проверка с запросом 
  вот тут логику измени | |||
| 2
    
        perec1982 08.11.12✎ 06:48 | 
        (1) хотел сказать. Возможно проверку просто нужно делать в момент проведения учитывая данные регистра и документа.))     | |||
| 3
    
        Wobland 08.11.12✎ 06:51 | 
        (2) проведение - процедура формирования регистров. их нужно правильно сформировать, а не учесть ;)     | |||
| 4
    
        perec1982 08.11.12✎ 06:59 | 
        (3)Ну перед обработкой проведения можно проверить на условия например: Остатки товаров     | |||
| 5
    
        Живой Ископаемый 08.11.12✎ 07:02 | 
        2(4) А можно и после. Если получился минус, то отказываемся от проведения.     | |||
| 6
    
        Undefined vs NULL 08.11.12✎ 07:03 | 
        (0) все зависит от вас, одно дело через СоздатьНаборЗаписей и Записать, а другое через Движения     | |||
| 7
    
        perec1982 08.11.12✎ 07:04 | 
        (5)Кажется это реализованно в 11 УТ     | |||
| 8
    
        Песец 08.11.12✎ 07:04 | 
        (0) Возьми букварь, например от Радченко, там последовательность событий записи документа в картинках изображена.     | |||
| 9
    
        Живой Ископаемый 08.11.12✎ 07:05 | 
        (7) да.     | |||
| 10
    
        Песец 08.11.12✎ 07:08 | 
        "...в обработке проведения документа _идет_ движение по регистру накопления, и после этого _идет_ проверка..."
  мой телепат свихнулся, пытаясь понять что куда у тебя идет :( | |||
| 11
    
        Trier 08.11.12✎ 07:20 | 
        ужно чтото вроде "Послепроведения"
  _______________ Например, есть подписки на события. | |||
| 12
    
        Starhan 08.11.12✎ 07:23 | 
        можно записать движения прямо в обработке порведения.
  твой случай иногда встречается в ЗУПе когда движения записывают, а потом их же берут для дальнейших расчетов. | |||
| 13
    
        lincore 08.11.12✎ 07:26 | 
        хотел не загружать - но вижу не получится :))
  что имеем: поступление товаров на основе заказа поставщику, регистр ЗаказыПоставщикам.Остатки. Условие: если при проведении поступления остатки у его заказа = 0(с учетом проводимого поступления!), то состояние заказа переходит в "выполнен" проблема в том, что при проведении, несмотря на то что проверка в самом низу, данное поступление еще не повлияло на регистр. подписал на событие - в событии тоже движений документа еще нету. "ПослеЗаписи" формы - не канает, ибо фоновое задание при записи не заходит туда. итого - как сделать проверку? | |||
| 14
    
        lincore 08.11.12✎ 07:28 | 
        и кстати записи делаются стандартно, тоесть
  Если Не Отказ Тогда ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоУслугам, ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам, Отказ, Заголовок); КонецЕсли; | |||
| 15
    
        Starhan 08.11.12✎ 07:28 | 
        ну ты же чото записываешь в регистр?. Откуда данные берешь для записи в регистр оттуда бери и для расчета выполнен ли заказ.     | |||
| 16
    
        Starhan 08.11.12✎ 07:29 | 
        ТаблицаПоТоварам есть же.     | |||
| 17
    
        lincore 08.11.12✎ 07:32 | 
        (15)
  записываю стандартно, проверка была реализована так Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | РегЗаказы.КоличествоОстаток |ИЗ | РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаАнализа, ЗаказПоставщику = &Заказ) КАК РегЗаказы |ГДЕ | РегЗаказы.КоличествоОстаток <> 0"; проблема в том что реально движения появляются только в "ПослеЗАписи" а в обработках проведения движений нет. Извиняюсь если туплю, еще неопытный. | |||
| 18
    
        lincore 08.11.12✎ 07:36 | 
        (16)
  Таблицу по товарам вижу, тоесть Вы предлагаете сделать проверку с участием этой таблицы и еще неуравновешенного регистра? | |||
| 19
    
        Песец 08.11.12✎ 07:42 | 
        (13) "...несмотря на то что проверка в самом низу..."
  <сенсоред> | |||
| 20
    
        Starhan 08.11.12✎ 07:43 | 
        (18) Я не телепат зависит от что тебе конкретно нужно.
  Если нужна точная таблица движений какая она будет в случае успешной записи в регистре. То используй Движения документа. Только сделай все в одной транзакции что бы если движения не получилсоь записать твои изменения тоже откатились. | |||
| 21
    
        cw014 08.11.12✎ 07:43 | 
        Попробуй записать движения     | |||
| 22
    
        Песец 08.11.12✎ 07:44 | 
        (19) ""ПослеЗаписи" формы - не канает, ибо фоновое задание при записи не заходит туда. "
  Горячо! Продолжай наблюдения. | |||
| 23
    
        Starhan 08.11.12✎ 07:45 | 
        (21) я уже предалагл в 12 %) видимо не получается. 
  Надо объяснить как. | |||
| 24
    
        lincore 08.11.12✎ 07:49 | 
        (19)
  господи, самый умный чтоли? я не раз написал что неопытный, лучше бы поправил, в противном случае зачем вообще время тратишь свое (23) ДвиженияПоРегистрам(..) что тогда делает? только формирует? как тогда записываются движения? в коде не увидел если чесно явной записи. еще раз извиняюсь за тупость | |||
| 25
    
        Живой Ископаемый 08.11.12✎ 07:51 | 
        короче. факт - в модуле проведения движения документа уже видны. это массово используется в типовых.     | |||
| 26
    
        lincore 08.11.12✎ 07:51 | 
        (23)
  Движения.Записать(); просто?почему етого в модуле нету? платформа это сама делает после обработки проведения? | |||
| 27
    
        Starhan 08.11.12✎ 07:52 | 
        (26) примерно так. Почитай хотя бы Радченко.     | |||
| 28
    
        lincore 08.11.12✎ 07:54 | 
        (25) движения видны, а регистр накопления не изменился.
  потому что движения не записаны еще? регистры изменяются после проведения? | |||
| 29
    
        cw014 08.11.12✎ 07:54 | 
        (23) Если пишутся движения документа:
  // Записываем регистр для дальнейших расчетов Если Движения.МойРегистрНезаписанный.Модифицированность() тогда Движения.МойРегистрНезаписанный.Записать(); КонецЕсли; Если пишется отдельно созданный набор записей: // Записываем регистр для дальнейших расчетов Если НаборЗаписей.Модифицированность() тогда НаборЗаписей.Записать(); КонецЕсли; | |||
| 30
    
        cw014 08.11.12✎ 07:55 | 
        (23) Если не получается - то скорее всего руки не оттуда растут     | |||
| 31
    
        lincore 08.11.12✎ 07:55 | 
        (26) Спасибо! Радченко который
  М.Г. Радченко, Е.Ю. Хрусталева 1С:Предприятие 8.2. Практическое пособие разработчика. Примеры и типовые приемы? тогда книжка уже заказана) | |||
| 32
    
        Starhan 08.11.12✎ 07:57 | ||||
| 33
    
        lincore 08.11.12✎ 07:57 | 
        (30)
  вот!спасибо движения записываются. но в стандартной обработке проведения я не увидел записи движений, тока формирование | |||
| 34
    
        Starhan 08.11.12✎ 07:58 | 
        (33) потмоучто без явной записи они записываются после обработки проведения ты уже правильно все понял.     | |||
| 35
    
        cw014 08.11.12✎ 07:58 | 
        (33) С тебя пиво     | |||
| 36
    
        lincore 08.11.12✎ 07:59 | 
        спасибо ребят!очень ценная инфа     | |||
| 37
    
        Песец 08.11.12✎ 08:01 | 
        (31) Да. Можешь оттуда скопипастить проверку остатков. Но если у тебя УТ, то сделай по образу и подобию типовой.     | |||
| 38
    
        cw014 08.11.12✎ 08:06 | 
        (36) Мэн явно проигнорировал пост (35)     | |||
| 39
    
        lincore 08.11.12✎ 08:10 | 
        неправда!) а город не Владивосток случайно?     | |||
| 40
    
        cw014 08.11.12✎ 08:11 | 
        (39) Chelyabinsk :)     | |||
| 41
    
        lincore 08.11.12✎ 08:19 | 
        ну тогда наверное только слова благодарности и плюс к карме :))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |