Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 17:36

Перечитать документ

Автор Liones23, 02 мар 2015, 18:05

0 Пользователей и 2 гостей просматривают эту тему.

has

Тогда пробуйте как сказал cska-fanat-kz
Цитата: cska-fanat-kz от 18 мар 2015, 09:46Если да то в ее процедуре и пишете "ЭтаФорма.Обновить()"



k_aleks80

ТС, отпишись о результатах

Дмитрий@

Можно при открытии формы передать Ссылку на форму документа, и работать непосредственно с реквизитом формы. Что-то вроде того:
        Таблица = ЭтаФорма.ВладелецФормы.Объект.ТабличнаяЧастьДокумента;
   Для Каждого Строка Из ТабличнаяЧастьОбработки Цикл
      
      НоваяСтрока = Таблица.Добавить();
      НоваяСтрока.Колонка1 = Строка.Колонка1;
      НоваяСтрока.Колонка2 = Строка.Колонка2;
      
   КонецЦикла;

cska-fanat-kz

Дмитрий@, плохой подход. в идеале форма обработки не должна "видеть" НИЧЕГО из документа. она только должна вернуть результат - данные для ТЧ документа - который потом на стороне формы документы загрузится в ТЧ.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Liones23

Эта процедура прописана в обработке
Процедура ПеренестиВДокумент(Команда)
ПеренестиВДок(Документ);   
ЭтаФорма.Закрыть();//закрываем форму обработки
        //я так понимаю здесь надо прописать как-то обращение к форме документа чтобы обновить отображение данных

КонецПроцедуры

Дмитрий@

Да это нехороший подход, но самый простой. У меня была точно такая же ситуация, команда обновить() почему то реквизиты и табличную часть не обновляет не обновляет, хотя согласно справке и не должна.
Другой вариант можно сделать это при помощи события формы "ОбработкаОповещения()" и команды "Оповестить".
Добавлено: 20 мар 2015, 01:04


cska-fanat-kz,Рассуждения по поводу нехорошего подхода. В 1С при написании кода очень большую роль играет простота обновления конфигурации.
Вопрос изложенный в теме можно решить таким образом:
    -добавить объект метаданных команда в документ, в которой вызывается обработка
    -В обработке по ссылке на форму, из которой открывается обработка, добавляются строки в табличную часть.
При условии, что обработка не стандартная, а добавленная программистом или вообще является внешней. То данный подход с этой точки зрения не кажется нехорошим, потому что обновление конфигурации в данном случае будет очень простым. Как вы считаете?

cska-fanat-kz

в плане обновления - согласен, тогда никуда не денешься, придется в обработке работать с формой дока.
а вот если есть возможность "добавить команду" то (чистейшее ИМХО) по мне так лучше чтобы обработка просто вернула нужные данные которые потом "разложить" в нужные места дока уже на стороне дока.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Liones23

Цитата: cska-fanat-kz от 18 мар 2015, 09:46
Обработка по какой то кнопке на форме документа вызывается?
Если да то в ее процедуре и пишете "ЭтаФорма.Обновить()"
Кнопка в форме документа
Процедура ПодборТовара(Команда) 
ЭтаФорма.Записать();
ПараметрыФормы = Новый Структура;   
ПараметрыФормы.Вставить("Склад", Объект.Склад);
ПараметрыФормы.Вставить("Документ", Объект.Ссылка);
ОткрытьФорму("Обработка.ПодборМедикаментовСтМс.Форма", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
    ЭтаФорма.ОбновитьОтображениеДанных();// НЕ СРАБАТЫВАЕТ
КонецПроцедуры


Похоже ответа на мой вопрос нет...

дфтын

Подключаюсь? я так понял, что вы пытаетесь заполнить из документа табличную часть документа, вроде заполняете . а оно не появилось? я правильно говорю? (такую ситуацию я знаю)

cska-fanat-kz

Liones23, зачем обновлять сразу после открытия? по ОткрытьФорму() выполнение кода не останавливается (это же не ОткрытьФормуМодально()). Обновлять надо скорее в ОбработкаВыбора() - туда же вы наверное попадете после выбора медикаментов в форме подбора и нажатии на условную кнопку "Перенести в документ"?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск