Обход элементов формы табличной части УФ
По теме из базы знаний
- Программное добавление кнопок копирования табличных частей во все документы с минимальными изменениями конфигурации (или вообще без изменения)
- Создание справочников "Номенклатура" и "Номенклатура поставщика" из внешнего файла, электронной таблицы с заполнением табличной части "Товары" документов закупки (ERP 2.4, 2.5, КА 2.4, 2.5, УТ 11)
- Управление доступом к формам и элементам форм «УФОРМ-ЮГ» (БП, БП-КОРП, ЕРП, УНФ, УТ, КА, УХ) [Расширение]
- Табличная часть как поле ввода
- Сохранение данных табличных частей форм в Excel
Найденные решения
(10)
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
///Вот то что тут есть, переносишь в перебор, но вместо "ТекущиеДанные " используй "СТР"
&НаКлиенте
Процедура ОбновитьЦеныНажатие()
Для каждого СТР из Объект.Товары цикл
ОбновитьЦены(СТР);
КонецЦикла;
Конецпроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
аааа понятно теперь, смотри
лучше добавить кнопку "Обновить цены" например и при нажатии такой код получится:
Правильно ?
лучше добавить кнопку "Обновить цены" например и при нажатии такой код получится:
&НаКлиенте
Процедура ОбновитьЦеныНажатие(Команда)
Для каждого строка из Объект.Товары цикл
строка.Цена = ПолучитьЦену(строка.Номенклатура);
КонецЦикла;
Конецпроцедуры
&НаСервере
Функция ПолучитьЦену(Номенклатура)
.....//Тут получаешь цену
Возврат цена;
КонецФункции
ПоказатьПравильно ?
(8) неет)))
Нужно групповое обновление цен для нескольких документов.
Через Объект.Товары можно сделать, но тогда и сумму строки и общие итоги нужно пересчитать самому. Я хотел доверить это стандартной процедуре формы, а то мало ли пропущу какую то операцию (вдруг там что-то еще пересчитать нужно)
Нужно групповое обновление цен для нескольких документов.
Через Объект.Товары можно сделать, но тогда и сумму строки и общие итоги нужно пересчитать самому. Я хотел доверить это стандартной процедуре формы, а то мало ли пропущу какую то операцию (вдруг там что-то еще пересчитать нужно)
(10)
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
///Вот то что тут есть, переносишь в перебор, но вместо "ТекущиеДанные " используй "СТР"
&НаКлиенте
Процедура ОбновитьЦеныНажатие()
Для каждого СТР из Объект.Товары цикл
ОбновитьЦены(СТР);
КонецЦикла;
Конецпроцедуры
Показать
(12) к стати ругается на обращение к общему модулю
Переменная не определена (РеализацияТоваровУслугФормыКлиент)
Д = ДокРеализация.ПолучитьОбъект();
Ф = Д.ПолучитьФорму("ФормаДокументаТовары");
Для Каждого СтрТовары ИЗ Ф.Товары Цикл
ПараметрыОбработки = РеализацияТоваровУслугФормыКлиент.ПодготовитьПараметрыОбработкиТоварыНоменклатураПриИзменении(
Ф, СтрТовары);
Переменная не определена (РеализацияТоваровУслугФормыКлиент)
(14) На клиенте надо выполнить перебор строк ))
&НаКлиенте
Процедура
.....
Ф = ПолучитьФорму("ФормаДокументаТовары", новый структура("Ключ",ДокРеализацияСсылка));
Для Каждого СтрТовары ИЗ Ф.Товары Цикл
ПараметрыОбработки = РеализацияТоваровУслугФормыКлиент.ПодготовитьПараметрыОбработкиТоварыНоменклатураПриИзменении(
Ф, СтрТовары);
....
Показать
Вам надо открыть процедуру при изменение нужного значения и посмотреть какие процедуры вызываются.
Далее добавить кнопку которая в цикле обойдет все строки табличной части.
Далее добавить кнопку которая в цикле обойдет все строки табличной части.
Для каждого стр из Таблицы Цикл
//стр это будут текущие данные
//Нужно вставить код из стандартной процедуры, подменив текущие данные значением стр
КонецЦикла;
(20) Непонятно, как этот пример работает без элемента - параметра процедуры?
У меня выдаёт ошибку, что у процедуры не заполнен параметр.
У меня работает такой вариант:
У меня выдаёт ошибку, что у процедуры не заполнен параметр.
У меня работает такой вариант:
Для каждого ТекСтр Из Объект.Товары Цикл
Элементы.Товары.ТекущаяСтрока = ТекСтр.ПолучитьИдентификатор();
ТоварыНоменклатураПриИзменении(Элементы.Товары.ПодчиненныеЭлементы.ТоварыНоменклатура);
ТоварыКоличествоУпаковокПриИзменении(Элементы.Товары.ПодчиненныеЭлементы.ТоварыКоличествоУпаковок);
КонецЦикла;
Элементы.Товары.Обновить();
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот