Спасибо, теперь понятно хоть, откуда ноги растут.
Но ведь ВНУТРИ документа Итог("Переменная") выдает ПРАВИЛЬНОЕ значение, независимо от недостаточной размерности
самой переменной для суммы.
Напомню и то, о чем я когда-то на Форуме писал.
Итог("Переменная") внутри документа работает, даже если у реквизита нет итога по колонке, а при внешних вызовах
выдается ошибка "реквизит не имеет итога по колонке".
Что-то мутное с этим итогом внутри компилятора 1С (или как он там называется ?).
PS. На самом деле, сам я пал жертвой въевшейся в мозги привычки экономить память аж до байта, поставил бы себе размерность 5
и не наткнулся бы на стенку. Это еще со времен, когда магнитный барабан емкостью 64 КИЛОБАЙТА (!) казался
вершиной технической мысли изобретателей внешней памяти :*цензура*you:
Спасибом пьян не будешь!
lease:
Точную дату на белые ночи скажу несколько позже.
Теперь про Итог("Переменная"). Сей метод виртуальный и переопределен для разных объектов. Когда "находимся в открытом документе" - он работает для любой численной колонки. Почему? Потому как просто суммирует значения, находящиеся в колонке.
Не задумывался, почему этот метод в журнале работает только для колонок, в которых стоит "Итог по колонке"? Как я и говорил, при записи документа, для таких колонок проводится суммирование и запись итога в реквизит шапки (имеющий такую же размерность, как и реквизит табличной части). Так вот когда мы в журнале, метод просто считывает значения из реквизитов шапки.
Сделано это вот по какой причине... Все документы хранятся в нескольких таблицах:
1sjourn - это журнал документов. Единый и неделимый. Все журналы, создаваемые в конфигураторе - это всего лишь фильтры к этой таблице.
DHххх - это шапка документа.
DTххх - это табличная часть документа.
ххх - это номер объекта метаданных в конфигураторе.
Находясь в журнале, гораздо проще сделать левое соединение с таблицей шапки документа и взять оттуда сумму, чем делать левое соединение с таблицей табличной части и производить суммирование.
Ну вот как-то так я все это себе вижу.