Всем привет.
Конфигурация УТ11.
В документе "Установка цен номенклатуры", нарисовал кнопку, которая делает некоторые манипуляции с табличной частью, но они не отображаются на форме. Только если закрыть-открыть документ.
Вот это читал,https://forum.infostart.ru/forum9/topic95539/ , но не получается хоть тресни. Данные в форме не обновляются.
Моя кнопка:
ЭтотОбъект.Записать() в этом проблема? нужно для записи по другому процедуру вызывать?
Конфигурация УТ11.
В документе "Установка цен номенклатуры", нарисовал кнопку, которая делает некоторые манипуляции с табличной частью, но они не отображаются на форме. Только если закрыть-открыть документ.
Вот это читал,
Моя кнопка:
&НаКлиенте
Процедура ЗаполнитьПоАртикулу(Команда)
ЗаполнитьПоАртикулуНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПоАртикулуНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УстановкаЦенНоменклатурыТовары.Номенклатура.Артикул КАК ТблАртикул,
| УстановкаЦенНоменклатурыТовары.Цена КАК Цена,
| УстановкаЦенНоменклатурыТовары.ВидЦены КАК ВидЦены
|ПОМЕСТИТЬ ТблАртикулы
|ИЗ
| Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
|ГДЕ
| УстановкаЦенНоменклатурыТовары.Ссылка = &Ссылка
|СГРУППИРОВАТЬ ПО
| УстановкаЦенНоменклатурыТовары.Номенклатура.Артикул,
| УстановкаЦенНоменклатурыТовары.Цена,
| УстановкаЦенНоменклатурыТовары.ВидЦены
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура,
| ТблАртикулы.Цена КАК Цена,
| ТблАртикулы.ВидЦены КАК ВидЦены
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТблАртикулы КАК ТблАртикулы
| ПО Номенклатура.Артикул = ТблАртикулы.ТблАртикул";
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Объект.Товары.Очистить();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
НоваяСтрока.ВидЦены = ВыборкаДетальныеЗаписи.ВидЦены;
НоваяСтрока.Цена = ВыборкаДетальныеЗаписи.Цена;
КонецЦикла;
ЭтотОбъект.Записать();
КонецПроцедуры
ПоказатьЭтотОбъект.Записать() в этом проблема? нужно для записи по другому процедуру вызывать?
По теме из базы знаний
- Групповое формирование документов зарплаты. ЗУП 3.1
- Формирование документов "Инвентаризация" по выбранным номенклатурным группам
- Формирование документов «Поступление товаров и услуг» и «Счет фактура полученный» для лизинговых услуг, предоставляемых АО "Сбербанк лизинг" по электронным документам "Счет-фактура" с сайта лизингодателя
- Оформление документов Инвентаризации из Excel – УТ 11.5, КА 2.5, ЕРП 2.5
- Лайфхак. Как обновить форму документа программно после изменения данных через внешнюю печатную форму
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
У документа есть реквизиты объекта, а есть реквизиты формы.
Реквизиты объекта - это то, что сохраняется в базе данных.
Реквизиты формы - нужны только для открытой формы, для визуализации. Это как монитор, вот у тебя есть системный блок, который подключен к монитору. Выключи монитор - изображение пропало, включи - появилось. При этом системный блок как работал, выдавал информацию, так и работает.
Вот ты своей обработкой изменил реквизиты объекта, а на экране ты видишь совсем другую таблицу, которая формируется при открытии документа, на основании реквизитов объекта.
Тебе эту таблицу на форме, надо заново пересоздать.
так если я вызову эти процедуры, они затрут же мои изменения
У документа есть реквизиты объекта, а есть реквизиты формы.
Реквизиты объекта - это то, что сохраняется в базе данных.
Реквизиты формы - нужны только для открытой формы, для визуализации. Это как монитор, вот у тебя есть системный блок, который подключен к монитору. Выключи монитор - изображение пропало, включи - появилось. При этом системный блок как работал, выдавал информацию, так и работает.
Вот ты своей обработкой изменил реквизиты объекта, а на экране ты видишь совсем другую таблицу, которая формируется при открытии документа, на основании реквизитов объекта.
Тебе эту таблицу на форме, надо заново пересоздать.
(1) потому что в этом документе, на форме документа ты видишь не табличную часть документа, а таблицу значений "выбранные цены", которая существует только на форме и заполняется в момент открытия документа.
и для обновления этих данных тебе надо вызывать эти процедуры.
Сильно ковырятся лень, но похоже на
и для обновления этих данных тебе надо вызывать эти процедуры.
Сильно ковырятся лень, но похоже на
УстановкаЦенСервер.ИнициализироватьВыбранныеЦены(ЭтаФорма);
и
ЗаполнитьДокумент();
ну мягко говоря, записывать документ при нажатии кнопки заполнить, не совсем корректно. Решение о записи документа должен принимать пользователь. Вдруг там что-то не то назаполнялось, и тут же записалось, как потом вернуть исходное состояние ?.
Или новый документ создали, заполнили, и он записался...хотя может он нафиг не нужен.
А так да, тоже вариант, при прочитать срабатывает обработчик при чтении на сервере, где также вызываются все эти инициализирующие процедуры.
Или новый документ создали, заполнили, и он записался...хотя может он нафиг не нужен.
А так да, тоже вариант, при прочитать срабатывает обработчик при чтении на сервере, где также вызываются все эти инициализирующие процедуры.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот