Имя: Пароль:
1C
 
ошибка на функцию ЗаполнитьОбъект
0 falselight
 
23.03.18
06:05
Делаю внешнюю обработку заполнения табличной части
документа ЗаказПокупателя. В модуль формы вставил код
в котором есть функция ЗаполнитьОбъект.
Но на неё идет ошибка что она не определена.
Почему так? И как это исправить?
1 falselight
 
23.03.18
06:12
//
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    //Спросим у пользователя разрешение на продолжение обработки
    Режим = РежимДиалогаВопрос.ДаНет;
    Текст = "Текущие данные документа будут заменены новыми без возможности восстановления.
    |Продолжить?";
    Ответ = Вопрос(Текст, Режим, 0);
    Если Ответ = КодВозвратаДиалога.Да Тогда
        //Если пользователь дал разрешение на продолжение, то начнем перебирать все
        //документы, у которых мы планируем заполнить табличную часть
        Для каждого Элемент из ОбъектыНазначенияМассив Цикл
            //Зададим ключ поиска документа, из которого вызвана данная обработка,
            //чтобы получить ссылку на редактирумый документ в удобном виде для
            //функции ОткрытьФорму()
            КлючПоиска = Новый Структура("Ключ", Элемент);
            //Но нам не надо открывать новую форму (окно) для изменяемого документа, а
            //Нам надо все изменения показать в уже открытых у клиента окнах
            Окна = ПолучитьОкна();
            Для каждого Окно из Окна Цикл
                //Окно изменяемого документа будет точно не основным, а вспомогательным, поэтому
                //сразу пропускаем основное окно, а далее идем на не очень хороший способ поиска открытого окна
                //изменяемого документа. Мы просто переберем все окна, а в заголовке, которых будет встречаться
                //Наименование, номер и дата нужного документа - будем изменять
                Если НЕ Окно.Основное
                    И Найти(Окно.Заголовок, Элемент) Тогда
                    //Передадим ключ поиска (можно сказать ссылку на объект) и данные о найденном открытом окне
                    //в функцию ОткрытьФорму()
                    //Код находится в цикле на тот случай, если открытых окон изменяемого документа больше одного
                    Форма       = ОткрытьФорму("Документ.ЗаказКлиента.Форма.ФормаДокумента",КлючПоиска,,,Окно);
                    //Далее мы получаем объект только, что повторно открытой формы и помещаем её в переменную
                    //В объекте содержатся все реквизиты (элементы) формы
                    НовыйОбъект = Форма.Объект;
                    //Мы помещаем объект формы в переменную,
                    //так как должны передать её в процедуру на сервере,
                    //где нельзя изменять объект формы, зато можно править переменную содержащую его
                    ЗаполнитьОбъект(НовыйОбъект);
                    //После выполнения процедуры на сервере мы получаем изменную переменную НовыйОбъект,
                    //которую необходимо передать в уже полученную нами форму
                    КопироватьДанныеФормы(НовыйОбъект, Форма.Объект);
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры
//
2 perester
 
23.03.18
06:34
Значит нет этой функции(процедуры) в модуле
3 falselight
 
23.03.18
06:50
(2) Спасибо! Не хилый тупняк!!!!!!
4 igorPetrov
 
23.03.18
07:00
(3) Он у тебя всегда(тупняк).
5 Umga2002
 
23.03.18
07:06
используй ЗаполнитьЗначенияСвойств
6 Мимохожий Однако
 
23.03.18
07:49
ОФФ: (4)+Три ветки  про одно и то же. Понос какой-то
7 hhhh
 
23.03.18
08:23
(4) нет, у него идеальный мозг. Сразу после завершения выполнения задачи всё полностью очищается, И дальще мозг абсолютно чист и готов для следующих заданий.
8 igorPetrov
 
23.03.18
08:53
(7) +100500
9 _stay true_
 
23.03.18
09:10
(0) ЛивингСтар?
10 Lexey_
 
23.03.18
09:11
(9) он