Помогите с заполнением ТЧ внешней обработки
Я совсем начинающий в этом деле, поэтому наверное вопрос могу поставить не совсем верно, но все же. В табличной части внешней обработки должна заполняться колонка "Цена", причем эти данные должны браться из регистра сведений "Цены номенклатуры". На форме обработки я создал кнопку "Заполнить", в ее команду вписал код:
Но при нажатии на кнопку колонка "Цена" всё равно не заполняется. Необходимые для этого данные в регистре есть, я проверял.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних";
РезультатЗапроса = Запрос.Выполнить();
ТаблицаЦен = Запрос.Выполнить().Выгрузить();
Для КАЖДОГО СтрокаТЧ ИЗ Объект.Товары Цикл
СтрокаЦен = ТаблицаЦен.Найти(СтрокаТЧ["Номенклатура"],"Номенклатура");
СтрокаТЧ["Цена"] = СтрокаЦен["Цена"];
КонецЦикла;
ПоказатьНо при нажатии на кнопку колонка "Цена" всё равно не заполняется. Необходимые для этого данные в регистре есть, я проверял.
По теме из базы знаний
- Обработка заполнения ТЧ инвентаризации учетными количествами и суммами для розницы
- Автоматическое заполнение статистической формы учета перемещения товаров при ЭКСПОРТЕ (ФТС) в государства ЕАЭС (Беларусь, Казахстан, Армения и Кыргызская Республика)
- Заполнение дополнительных реквизитов в модуле на сервере, в правилах КД 2.0, в модуле внешней обработки
- Привилегированные отчеты
- Инструменты разработчика "Инструментики" для тонкого клиента 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Добавь в запрос параметр виртуальной таблицы Период и Номенклатуру из табличной части внешней обработки. И просто перезаполни Объект.Товары.
Как то так
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, Номенклатура В (&Параметр)) КАК ЦеныНоменклатурыСрезПоследних";
Запрос.УстановитьПараметр("Параметр", Объект.Товары);
Запрос.УстановитьПараметр("Период", Период);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
Показать
К сожалению, не ясен контекст в котором ведется ваша работа. Если речь про управляемую форму, то используйте метод формы "ОбновитьОтображениеДанных" после программного заполнения ТЧ.
P.S. В вашем коде запрос два раза выполняется. Первый раз получаете "Результат" и не используете его выполняя запрос заново при выгрузке ТЗ.
P.S. В вашем коде запрос два раза выполняется. Первый раз получаете "Результат" и не используете его выполняя запрос заново при выгрузке ТЗ.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот