Здравствуйте!
Исходные: 8.2, нетиповая конфигурация, тонкий клиент.
Имеется документ, в котором несколько однотипных ТабЧастей(ТЧ).
В шапке документа есть ПоляФормы(Поля), их число равно числу ТЧ.
Эти Поля заполняются результатами расчета подвалов ТЧ, и у них меняется цвет шрифта.
Если к Полю обращаться напрямую:
- то они заполняются и цвет шрифта меняется, т.е. всё как надо.
А если ТЧ и Поля добавить в массив, и рассчитать значения Полей в цикле, то в массиве все верно, но расчетные данные на саму форму в Поля не идут...
Проблема в том, что не верно передаются данные из массива в Поле?
Заранее спасибо за подсказку.
ПРИМЕР: Массив заполняется, но в Поля данные не доходят.
ПРИМЕР: А вот так все заполняется, но если ТабЧастей будет много....
Исходные: 8.2, нетиповая конфигурация, тонкий клиент.
Имеется документ, в котором несколько однотипных ТабЧастей(ТЧ).
В шапке документа есть ПоляФормы(Поля), их число равно числу ТЧ.
Эти Поля заполняются результатами расчета подвалов ТЧ, и у них меняется цвет шрифта.
Если к Полю обращаться напрямую:
Объект.ПФ1 = // расчет Поля1
Объект.ПФ2 = // расчет Поля2
.... итд
Элементы.ПФ1.ЦветТекстаЗаголовка = //ЦветПФ1
Элементы.ПФ2.ЦветТекстаЗаголовка = //ЦветПФ2
.... итд
ПоказатьА если ТЧ и Поля добавить в массив, и рассчитать значения Полей в цикле, то в массиве все верно, но расчетные данные на саму форму в Поля не идут...
Проблема в том, что не верно передаются данные из массива в Поле?
Заранее спасибо за подсказку.
ПРИМЕР: Массив заполняется, но в Поля данные не доходят.
&НаКлиенте
Процедура Инфо()
ТЧ = Новый Массив;
ТЧ.Добавить(Объект.ТЧ1); //ТЧ, их будет несколько
ПФ = Новый Массив;
ПФ.Добавить(Объект.ПФ1); //Поле, заполняется расчетными данными
ЭлПФ = Новый Массив;
ЭлПФ.Добавить(Элементы.ПФ1.ЦветТекстаЗаголовка); //Цвет
Инд=0;
Для каждого ТекТЧ из ТЧ цикл
А = ТекТЧ.Итог("Расход");
Если А>=5 Тогда
ПФ[Инд]=""+А;
ЭлПФ[Инд]= Новый Цвет (0,120,0);//зеленый
ИначеЕсли А=4 тогда
ПФ[Инд]=""+А;
ЭлПФ[Инд] = Новый Цвет(255,0,0);// красный
Иначе
ЭлПФ[Инд] = Новый Цвет(0,0,0);
ПФ[Инд]=Неопределено; //черный
КонецЕсли;
Инд=Инд+1;
КонецЦикла;
ПоказатьПРИМЕР: А вот так все заполняется, но если ТабЧастей будет много....
&НаКлиенте
Процедура Инфо()
А = Объект.ТЧ1.Итог("Расход");
Если А>=5 Тогда Объект.ПФ1=""+А;
Элементы.ПФ1.ЦветТекстаЗаголовка = Новый Цвет (0,120,0);//зеленый
ИначеЕсли А=4 тогда Объект.ПФ1=""+А;
Элементы.ПФ1.ЦветТекстаЗаголовка = Новый Цвет(255,0,0);// красный
Иначе Элементы.ПФ1.ЦветТекстаЗаголовка = Новый Цвет(0,0,0);
Объект.ПФ1=Неопределено; //черный
КонецЕсли;
// далее, по всем ТЧ...
ПоказатьПо теме из базы знаний
- Документооборот КОРП. Внедрение функции «Автоматическое заполнение таблиц в шаблоне odt по данным табличной части справочника»
- Описание формата внутреннего представления данных 1С в контексте обмена данными
- Полное копирование одной формы в другую
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Обзор полезных методов БСП 3.1.4
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот