8.х Движение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем spiteful41, 25 дек 2008.

  1. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Всем привте!
    Такая вот проблема:
    засунул в обработку проведения документа ПлатежноеПоручениеВходящее, в самы конец перед КонецПроцедуры (прцедуры обработка проведения), свою процедуру, в которой нужно получить запросом, значение СуммаВзаиморасчетовРасход.
    Код:
    ВЫБРАТЬ
    РасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента,
    РасчетыСКонтрагентамиОстаткиИОбороты.Сделка,
    РасчетыСКонтрагентамиОстаткиИОбороты.РасчетыВозврат,
    РасчетыСКонтрагентамиОстаткиИОбороты.Организация,
    РасчетыСКонтрагентамиОстаткиИОбороты.Контрагент,
    РасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,
    РасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток,
    РасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовОборот,
    РасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход,
    РасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход
    ИЗ
    РегистрНакопления.РасчетыСКонтрагентами.ОстаткиИОбороты(, , , , Сделка В (&Сделка)) КАК РасчетыСКонтрагентамиОстаткиИОбороты
    
    
    Т.е если оплата по заказу поступила - значит туда пишется сумма этой оплаты (в СуммаВзаиморасчетовРасход).
    В результате выполнения запроса она равна 0!!! Вот почему не пойму! Мой запрос ведь после всех движений! В консоле все нормуль, а тут не фига, почему?
  2. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Перенесите в процедуру "ПослеЗАписи".
    Вы знакомы с механизмом транзакций. До конца "ОбработкиПроведения" движения еще не сформированы.
  3. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    ОУ! Вот в чем дело)Спасибо)) :unsure:
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    ПослеЗаписи есть только в модуле формы.

    Если нужны движения в момент проведения, необходимо их принудительно записать. Правда, это не самый лучший выход, но в ЗуПе очень часто применяется.
  5. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    У меня вот в чем дело, у меня проходит движение по одному регистру, как бы они выполнились, и сразу же после выполняется этот запрос уже на основе этих движений, но в результате оказывается, что они еще не проделанны, хотя процедура по движению завершилась
  6. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Как их принудительно записать?
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    НаборДвижений.Записать()
    
    Где НаборДвижений - набор движений регистра.

    Код:
    НаборДвижений = Движения.<ИмяРегистра>;
    
  8. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    А так вообще, запись когда происходит, после обработки проведения?
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Да, по окончании транзакции.
  10. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    блин, а че тогда будет если транзакция не пройдет?Записи-то эти записанные останутся?
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ели будет отказ в проведении - транзакция откатиться.
    Имейте ввиду, что другой документ не относиться к этой транзакции.
  12. TopicStarter Overlay
    spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Я имею ввиду вот я написал НаборЗписей.Записать() дальше идет выполнение других движений по другим регистрам, а потом отказ, вот этот набор записей останется в регистре или удалится?
  13. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Это все делается в рамках транзакции - поэтому действует правила транзакций. Т.б. не останется.

Поделиться этой страницей