Еще раз о Точке Актуальности

Тема в разделе "1C и всё что с ней связано", создана пользователем Hryv, 20 июл 2010.

  1. Hryv

    Hryv Гость

    Нашел в коде такую строку

    РассчитатьРегистрыПо(ПолучитьДокументТА());

    Пришел к выводу что она не имеет смысла так как всегда будет вызывать ошибку расчета итогов посте ТА
    Но все же сомневаюсь прав ли я

    У кого какое мнение?
     
  2. TimeDontWait

    TimeDontWait Well-Known Member

    Регистрация:
    4 янв 2010
    Сообщения:
    383
    Симпатии:
    0
    Когда документ проводится, то ТА устанавливается на дату этого документа. И обращение к итогам
    регистра после ТА по-моему невозможно
     
  3. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Оба неправы.
    РассчитатьРегистрыНа(ПолучитьДокументТА())
    Произведет расчет итогов без учета этого документа.
    РассчитатьРегистрыПо(ПолучитьДокументТА()) - это фактически актуальные итоги.
     
  4. Hryv

    Hryv Гость

    Так и я о том же

    vitfil, но по факту ошибка возникает
    только я не уверен всегда или не всегда
     
  5. Hryv

    Hryv Гость

    Немного подкорректирую

    код:
    РассчитатьРегистрыПо(ПолучитьДокументТА());

    не имеет смысла если вызывается в ОбработкаПроведения(), так как всегда будет вызывать ошибку расчета итогов посте ТА
     
  6. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    А вот это уже баг 1С, переросший в фичу.
    Дело в том, что позиция ТА равна позиции Документа ТА.
    ...РегистрыНа производит расчет на позицию документа до его проведения, т.е. без учета движений этого документа.
    ...РегистрыПо производит расчет на позицию документа после его проведения, т.е. с учетом движений этого документа. Фактически - это ТА.

    В 1С все очень хитро хранится. Нельзя получить итоги после ТА. ТА = позиции документа ТА. Несмотря на то, что итоги учитывают движения документа ТА получаем такую хрень:
    Итоги ТА учитывают движения документа.
    РегистрыНа - не учитывают движения документа.
    РегистрыПо - должны учитывать движения документа и фактически должны быть равны итогам ТА для документа ТА, но обратиться к ним невозможно, т.к. позиция документа НЕ меньше позиции ТА.

    Умом нам это не понять, нам надо просто в это верить.
     
Загрузка...

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