Коротко о сути: при записи документа значения дополнительных колонок табличной части документа "слетают". Это баг, фича или я неправильно курил мануал?
в ТЧ документа - список сотрудников с суммами. возникла необходимость видеть статус сотрудника на дату документа (уволенных выделять цветом). раньше статус был "полноценным" реквизитом ТЧ, заполняемым при создании документа. IMHO, не очень правильно - статус мог быть изменен "задним числом", сам документ может быть передвинут по времени вперед от даты создания...
Воспользовался дополнительными реквизитами табличной части (расчетными)
СостоянияСотрудника(Сотрудник) - обращение к периодическому регистру сведений
Пользоваться для расчетных значений доп.реквизитами удобно - не надо хранить лишнюю (расчетную) инфу плюс оперативность значений. На топик меня сподвигло не это. Обнаружил интересную фичу
После выполнения записи документа все сотрудники "краснеют" (значения доп.реквизитов обнуляются)
Добавил
помогло
в ТЧ документа - список сотрудников с суммами. возникла необходимость видеть статус сотрудника на дату документа (уволенных выделять цветом). раньше статус был "полноценным" реквизитом ТЧ, заполняемым при создании документа. IMHO, не очень правильно - статус мог быть изменен "задним числом", сам документ может быть передвинут по времени вперед от даты создания...
Воспользовался дополнительными реквизитами табличной части (расчетными)
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
Для Каждого ТекСтрока из Объект.ТабличнаяЧасть Цикл
Состояния=СостоянияСотрудника(ТекСтрока.Сотрудник);
ТекСтрока.ОбходнойЛист=Состояния.ОбходнойЛист;
ТекСтрока.СостояниеСотрудника=Состояния.СостояниеСотрудника;
ТекСтрока.Должность=Состояния.должность;
КонецЦикла;
КонецПроцедуры
ПоказатьСостоянияСотрудника(Сотрудник) - обращение к периодическому регистру сведений
Пользоваться для расчетных значений доп.реквизитами удобно - не надо хранить лишнюю (расчетную) инфу плюс оперативность значений. На топик меня сподвигло не это. Обнаружил интересную фичу
После выполнения записи документа все сотрудники "краснеют" (значения доп.реквизитов обнуляются)
Добавил
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ПриЧтенииНаСервере(ТекущийОбъект);
КонецПроцедуры
помогло
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Скорее всего это связано с кретинической (имхо) фичей 8.2 - данные формы существуют только в одном сеансе. Очевидно вызов ПриЧтенииНаСервере(ТекущийОбъект) продлевает сеанс... а скорее всего вообще переносят данные в новый. Надо будет попробовать переменные формы так погонять - интересно !
ЗЫ Птьфу, да тут тупо пересчитываются данные после закрытия сеанса. Бгы. Мозх под вечер спёкся. Расчётные колонки - суть переменные формы - уничтожаются на сервере всякий раз при закрытии сеанса. Сеанс, как правило, это одна процедура. При выходе из неё - опаньки. 1С считает это фичей. А я считаю это багом, ибо переменная формы, объявленная на сервере и установленная при инициализации формы, прямо из модуля, своё значение сохраняет !
ЗЫ Птьфу, да тут тупо пересчитываются данные после закрытия сеанса. Бгы. Мозх под вечер спёкся. Расчётные колонки - суть переменные формы - уничтожаются на сервере всякий раз при закрытии сеанса. Сеанс, как правило, это одна процедура. При выходе из неё - опаньки. 1С считает это фичей. А я считаю это багом, ибо переменная формы, объявленная на сервере и установленная при инициализации формы, прямо из модуля, своё значение сохраняет !
(2) sergathome,
не совсем понял, о закрытии какого "сеанса" идет речь. документ записывается без закрытия формы.
суть в следующем
реквизиты формы сохраняют значение (установленные программно), а вот реквизиты-колонки ТЧ - "теряют" значения. просто придется иметь ввиду )
не совсем понял, о закрытии какого "сеанса" идет речь. документ записывается без закрытия формы.
суть в следующем
реквизиты формы сохраняют значение (установленные программно), а вот реквизиты-колонки ТЧ - "теряют" значения. просто придется иметь ввиду )
Если колонка не является реквизитом объекта, то её значение будет потеряно сразу, как завершится обработка текущей серверной функции. Вас вводит в заблуждение сохранение значений переменных клиентской стороны. Мне где-то на техфоруме 1С попадалось разъяснение на эту тему.
ЗЫ в 15 релизе в хелпе вообще написано, что переменные форм больше не поддерживаются.
ЗЫ в 15 релизе в хелпе вообще написано, что переменные форм больше не поддерживаются.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот