Значения периодического реквизита справочника
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Timesoft, Абсолютно не так. Это известный глюк. Поищите в интернете статью по этому поводу, как с помощью объекта "Периодический" и Установить() на определенную дату можно добиваться разных данных. То есть установив значение с помощью 1 механизма- получаете глюк при получении другим средством. Это тема известная...проверьте, единственно, что методы должны идти через разные переменные
(13) andrewks, Пусть фича, но разработчиком БЖК пишется, что на 1 день существует только 1 значение. А, то, что мы возвели это в "фичу", то это, как там Феликсу "Железному" приписывают:"Если Вы еще не сидите, то это не ваше достоинство, а наша недоработка"...Это я к чему, что нарыта недокументированная штука, ею можно пользоваться, либо зная ее- остерегаться, что бы не напороться.
Если значение периодического реквизита задается документом, то можно задавать несколько значений на одну дату.
Получить(<Дата>)
Назначение:
Получить значение периодического реквизита справочника на дату или документ.
Возвращает - значение периодического реквизита справочника на заданную дату или документ.
Получить(<Дата>)
Назначение:
Получить значение периодического реквизита справочника на дату или документ.
Возвращает - значение периодического реквизита справочника на заданную дату или документ.
У меня есть два документа одного вида №1 от 1.04 и №2 от 27.04 они оба изменяют значение периодического реквизита справочника на 1.04. Обе эти записи попадают в выборку при использовании метода ВыбратьЗначения(), но по непонятной мне причине запись, сделанная документом №2 выдаётся раньше записи документа №1.
Дата собственно документа, изменившего периодический реквизит, не должна играть роль, так как изменение периодических реквизитов задним числом как и наперед весьма популярная практика. Периодические значения, очевидно накапливаются в какой-то таблице, но индексируются для выборки не по порядку записи, так как обычно выводятся в порядке возрастания даты установки значения, а не по тому когда была сделана запись.
Соответственно в случаях совпадения дат на порядок следования значений в пределах одной даты влияет что-то еще. Логично было бы предположить, что вторым признаком сортировки мог бы стать порядковый индекс записи реквизита (если он существует), но очевидно это не так.
Тогда что? (9) предполагает что это время записи документа, но если ссылка на сам документ уже хранится (а метод ТекущийДокумент() имеется), значит и не нужно вводить дополнительное поле для хранения времени изменения в периодическом объекте. А порядкового индекса может просто не быть.
Короче, pourquoi pas как говорят французы.
Соответственно в случаях совпадения дат на порядок следования значений в пределах одной даты влияет что-то еще. Логично было бы предположить, что вторым признаком сортировки мог бы стать порядковый индекс записи реквизита (если он существует), но очевидно это не так.
Тогда что? (9) предполагает что это время записи документа, но если ссылка на сам документ уже хранится (а метод ТекущийДокумент() имеется), значит и не нужно вводить дополнительное поле для хранения времени изменения в периодическом объекте. А порядкового индекса может просто не быть.
Короче, pourquoi pas как говорят французы.
Можно попробовать "танцевать от печки" то есть от таблицы 1sconst, в которой хранятся периодические реквизиты. У нее есть индекс ID+OBJID+DTOS(DATE)+TIME+DOCID+STR(PARTNO,3), в котором первые три параметра одинаковы и на порядок выборки не влияют. Следующий параметр TIME расшифровывают как "Время установки значения". Анализ навскидку нескольких записей показал, что это время сопадает со временем документа, производившего запись. Так что идея Timesoft не такая уж и бредовая !!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот