Имя: Пароль:
1C
 
Внешняя обработка заполнение объекта 82
0 Ник080808
 
10.03.15
18:20
УФ. Ут 11. Сделал внешнюю обработку заполнения объекта. Все хорошо заполняет, только как обновить данные на форме? То есть нажимаю я кнопочку заполняю реквизит табличной части, записываю документ. А на форме нужно только обновить нажать что бы появились реквизиты. Как обойти?
1 DirecTwiX
 
10.03.15
18:25
УправляемаяФорма.ОбновитьОтображениеДанных()?
2 arccos6pi
 
10.03.15
18:25
(0)у тч на форме свойство Автообновление = Истина
3 Ник080808
 
10.03.15
18:26
(1) (2) как к форме обратится из обработки внешней?
4 DirecTwiX
 
10.03.15
18:29
(3) Зависит от того, как ты обработку запускал. У объекта может и не быть формы, например.
5 Ник080808
 
10.03.15
18:31
(4) ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    
    МассивНазначений.Добавить("Документ.ПоступлениеТоваровУслуг");

    ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование","заполнение табличной части");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
    ПараметрыРегистрации.Вставить("Информация", "заполнение табличной части");
    
    ТаблицаКоманд = ПолучитьТаблицу*Команд();
    ДобавитьКоманду(ТаблицаКоманд,
    "заполнение табличной части",
    "заполнение табличной части",
    "ВызовКлиентскогоМетода");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
6 1976vas
 
10.03.15
18:32
7 VikingKosmo
 
10.03.15
18:32
посмотреть как это в БСП сделано, не предлагать?
8 Ник080808
 
10.03.15
18:33
в толстом клиенте были обработки заполнения табличных частей, в них передавался объект, а не ссылка и не требовал записи. Здесь же записывается и передается ссылка. Вот вопрос, как после обработки ссылки обновить форму?
9 1976vas
 
10.03.15
18:42
получить объект по ссылке, обратиться к форме объекта.
10 VikingKosmo
 
10.03.15
18:44
// Обработчик команды.
Процедура ЗаполнитьИНН(ПараметрыВыполнения)
    
    Генератор = Новый ГенераторСлучайныхЧисел;
    
    ЭтаФорма = ПараметрыВыполнения.ЭтаФорма;
    ЭтаФорма.Объект.ИНН = Формат(Генератор.СлучайноеЧисло(1, 999999999), "ЧЦ=12; ЧДЦ=0; ЧВН=; ЧГ=");
    ЭтаФорма.Модифицированность = Истина;
    
    Результат = ПараметрыВыполнения.РезультатВыполнения;
    Результат.ВыводСообщения.Использование = Истина;
    Результат.ВыводСообщения.ПутьКРеквизитуФормы = "Объект.ИНН";
    Результат.ВыводСообщения.Текст = НСтр("ru = 'Поле ""ИНН"" успешно заполнено'");
    
КонецПроцедуры

Качаем БСП, смотрим как это делается, наслаждаемся результатом...
11 VikingKosmo
 
10.03.15
18:45
(10) и не надо никого никуда записывать, обновлять и т.п...
12 Ник080808
 
10.03.15
18:45
(10) а у вас серверная команда или клиентская?
13 VikingKosmo
 
10.03.15
18:46
(12)
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Заполнить реквизит ""ИНН"" не записывая объект (заполнение формы)'");
    НоваяКоманда.Идентификатор = "ЗаполнитьИНН";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыЗаполнениеФормы();
    НоваяКоманда.ПоказыватьОповещение = Ложь;
    НоваяКоманда.Скрыть = Истина;
она не у меня, а у БСП...
14 Ник080808
 
10.03.15
21:21
(13) Спасибо огромное. Все получилось. Если бы еще была нормальная документация по бсп вообще было бы чудненько
15 DirecTwiX
 
11.03.15
15:45
(14) >Если бы еще была нормальная документация по бсп вообще было бы чудненько
+++

Там есть вообще хоть какая-нибудь документация? Слышал, что есть что-то про порядок объединения БСП со своей конфой, а вот про саму документацию не в курсе.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс