Добрый день! Нужна помощь - совсем запутался: Есть документ с табличной частью Товары с реквизитами Номенклатура, ЕдиницаИзмерения, Цена, ЦенаБазовая, ХарактеристикаНоменклатуры, БазоваяЕдиницаИзмерения, ЦенаБезАкции. На форме документа, в эту же таблицу добавлена одна колонка ЦенаСтарая, значение которой заполняется в процедуре ПриОткрытии() (Вроде правильно описал )
Задача стоит в том, чтобы иметь возможность выделять строку табличной части, и при нажатии на определенную кнопку, происходил расчет значения ячейки ЦенаБезАкции, на основании значения ячейки ЦенаСтарая, но у меня не получается получить доступ к данной ячейке.
СтрокаТЧ= ЭлементыФормы.Товары.ТекущаяСтрока;
Попробуйте через
СтрокаТЧ= ЭлементыФормы.Товары.ТекущиеДанные;
mut @ Сегодня, 21:37
,
Делал и через СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные, и через СтрокаТЧ = ЭлементыФормы.Товары.ТекущаяСтрока - результат один и тот же (а если честно, не понимаю в чем разница, если пройти отладчиком - структура и данные одни и те же)
а не проще повторить алгоритм расчета из ПриОткрытии() для текущей строки и дорасчитать что вам надо? Если поле не связано с данными - то там текст, доступный только в ОформленииСтроки.
BeLuY, покажите как оно заполняется в ПриОткрытии()
Упс, ошибся, не в процедуре ПриОткрытии()
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок)
дкТоварыПриПолученииДанных(ЭтаФорма, Элемент, ОформленияСтрок, Права);
// ..........................................
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
ДанныеСтроки = ОформлениеСтроки.ДанныеСтроки;
// ..........................................
Если Элемент.Колонки.ЦенаСтарая.Видимость Тогда
Если (НЕ ДанныеСтроки.Номенклатура.Пустая()) И (НЕ ТипЦен.Пустая()) тогда
ОформлениеСтроки.Ячейки.ЦенаСтарая.ОтображатьТекст=Истина;
// получим предыдущую цену
ЦенаСтарая = ПолучитьСтаруюЦену(ДанныеСтроки);
ОформлениеСтроки.Ячейки.ЦенаСтарая.Текст=Формат(ЦенаСтарая,"ЧЦ=15; ЧДЦ=2");
// ..........................................
КонецЕсли;
// ..........................................
КонецЦикла;
КонецПроцедуры
BeLuY @ Сегодня, 11:28
,
У вас есть функция ПолучитьСтаруюЦену(ДанныеСтроки); пользуйтесь ей. Мне кажется, логика приложения прихрамывает
kooperdj @ Сегодня, 11:44
,
Вижу, что ничего другого не остается... Но все же, хотелось бы понять как получить доступ к данной ячейке
BeLuY @ Сегодня, 12:15
,
Такие поля доступны в двух процедурах ...ПриВыводеСтроки() и ...ПриПолученииДанных() обе жрут ресурсы, вторая чуть поменьше. Отображаются там обычно доп. инфа, флажки, картинки (то что в базе не сохраняется). По таким колонкам не считаются итоги. При этом данные меняются динамически, при каждом скроллинге таб части. Если сильно хочется обложиться костылями - можно источником данных указать ТаблицаЗначений, загружать в нее данные из ТабЧасти документа, обрабатывать и выгружать назад (пример - Установка цен номенклатуры в типовых)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua