Имя: Пароль:
1C
1С v8
Не найден идентификатор формы
0 al_zzz
 
16.12.21
18:22
Продолжаю дописывать обработку из данного топика: Откуда в УТ11 запускается групповая загрузка номенклатуры из 1С Номенклатура?
Столкнулся со следующей проблемой - при загрузке видов номенклатуры из облака, когда открывается форма загрузки, вылазит такое неприятное сообщение.
Если виды уже созданы, то не вылазит.
Куда копать? Что я делаю не так?
1 al_zzz
 
16.12.21
18:31
http://snap.ashampoo.com/AqcSYGEL7mfQmcTxKONRt6pSEr6IoQKOcMC2ThHstneApyX1HGM3e5OjoMR685mA - забыл картинку саму приложить.
2 vicof
 
16.12.21
19:03
Гугл  уже запретили?
3 al_zzz
 
17.12.21
12:09
(2) Не помог. В общих чертах я понял, что запускается несколько экземпляров одной формы и из-за этого подобная ошибка возникает.
У меня, получается, вызывается блок типового кода по загрузке номенклатуры из облака:
&НаКлиенте
Процедура ЗагрузитьНоменклатуру(ИдентификаторыНоменклатуры, ЗакрытьФормуПослеСоздания = Ложь)
    
    //НастроитьФормуПриДлительнойОперации(Истина);
    
    ПараметрыЗавершения = Новый Структура;
    ПараметрыЗавершения.Вставить("ИдентификаторЗадания", Неопределено);
    ПараметрыЗавершения.Вставить("ЗакрытьФормуПослеСоздания", ЗакрытьФормуПослеСоздания);
    
    Оповещение = Новый ОписаниеОповещения("ЗагрузкаДанныхПродолжение",
        ЭтотОбъект, ПараметрыЗавершения);
    
    РаботаСНоменклатуройКлиент.ЗагрузитьНоменклатуруИХарактеристики(
        Оповещение,
        ИдентификаторыНоменклатуры,
        ЭтотОбъект,
        Неопределено,
        Неопределено,
        Неопределено);//Элементы.СтраницыДлительнойОперации);
        
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузкаДанныхПродолжение(Результат, ДополнительныеПараметры) Экспорт
    
    //НастроитьФормуПриДлительнойОперации(Ложь);
    
    //Если Результат = Неопределено Тогда
    //    ОбновитьПризнакЗагрузки();
    //    Возврат;
    //КонецЕсли;
    //
    //Если ДополнительныеПараметры.ЗакрытьФормуПослеСоздания Тогда
    //    Закрыть(Новый Структура("ВыбранныеОбъекты", Результат.НовыеЭлементы));
    //    Возврат;
    //КонецЕсли;

    //УстановитьВидимостьДоступность();
    
КонецПроцедуры

Показать

И он, вроде бы, должен "понимать", что в массиве "ИдентификаторыНоменклатуры" несколько элементов. Но, почему-то, он пытается последовательно открывать форму создания видов номенклатуры вместо того, чтобы показать форму группового создания видов номенклатуры(иногда, впрочем, и её показывает - не понял, по какому принципу). Примеров вызова групповой загрузки из облака в базе не нашел. На работу моей обработки это не влияет, поэтому решил оставить всё как есть.
4 al_zzz
 
17.12.21
12:11
Не весь текст скопировался. Вот весь:
&НаКлиенте
Процедура ЗагрузитьНоменклатуру(ИдентификаторыНоменклатуры, ЗакрытьФормуПослеСоздания = Ложь)
    
    //НастроитьФормуПриДлительнойОперации(Истина);
    
    ПараметрыЗавершения = Новый Структура;
    ПараметрыЗавершения.Вставить("ИдентификаторЗадания", Неопределено);
    ПараметрыЗавершения.Вставить("ЗакрытьФормуПослеСоздания", ЗакрытьФормуПослеСоздания);
    
    Оповещение = Новый ОписаниеОповещения("ЗагрузкаДанныхПродолжение",
        ЭтотОбъект, ПараметрыЗавершения);
    
    РаботаСНоменклатуройКлиент.ЗагрузитьНоменклатуруИХарактеристики(
        Оповещение,
        ИдентификаторыНоменклатуры,
        ЭтотОбъект,
        Неопределено,
        Неопределено,
        Неопределено);//Элементы.СтраницыДлительнойОперации);
        
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузкаДанныхПродолжение(Результат, ДополнительныеПараметры) Экспорт
    
    //НастроитьФормуПриДлительнойОперации(Ложь);
    
    //Если Результат = Неопределено Тогда
    //    ОбновитьПризнакЗагрузки();
    //    Возврат;
    //КонецЕсли;
    //
    //Если ДополнительныеПараметры.ЗакрытьФормуПослеСоздания Тогда
    //    Закрыть(Новый Структура("ВыбранныеОбъекты", Результат.НовыеЭлементы));
    //    Возврат;
    //КонецЕсли;

    //УстановитьВидимостьДоступность();
    
КонецПроцедуры
Ошибка? Это не ошибка, это системная функция.