Имя: Пароль:
1C
 
Загрузка Excel, выбор файла: Использование синхронных методов на клиенте запрещено
0 SHANTIK
 
06.10.23
10:26
Ошибка при вызове метода контекста (Выбрать)
{ВнешняяОбработка.ЗагрузкаExcell.Форма.Форма.Форма(102)}:Если Диалог.Выбрать() Тогда

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Использование синхронных методов на клиенте запрещено!
[ОшибкаИспользованияВстроенногоЯзыка]
1 Волшебник
 
06.10.23
10:27
Вам надо использовать асинхронные методы типа НачатьВыбор
2 SHANTIK
 
06.10.23
10:29
Весь код Ощибка
Подробности
&НаСервере
Процедура ЗагрузитьДанныеНаСервере()
    ТабДок = Новый ТабличныйДокумент;
    
    ПутьКФайлу = Файл;
    
    Попытка
        
        ТабДок.Прочитать(ПутьКФайлу,СпособЧтенияЗначенийТабличногоДокумента.Значение);
        
    Исключение      
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Не удалось прочитать указанный файл"+ ОписаниеОшибки();
        Сообщение.Сообщить();
        Возврат
    КонецПопытки;      
    
    КоличествоСтрок = ТабДок.ВысотаТаблицы;
    
    ДанныеФайла = Новый ТаблицаЗначений;
    
    ДанныеФайла.Колонки.Добавить("Наименование");
    ДанныеФайла.Колонки.Добавить("Артикул");
    
    Для НомерСтроки = 2 По КоличествоСтрок Цикл  
        СтрокаДанных =ДанныеФайла.Добавить();
        
        СтрокаДанных.Наименование = ТабДок.ПолучитьОбласть("R"+ Формат(НомерСтроки, "ЧГ=0") + "C" + 1).ТекущаяОбласть.Текст;
        СтрокаДанных.Артикул      = ТабДок.ПолучитьОбласть("R"+ Формат(НомерСтроки, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст;
        
        
    КонецЦикла;
    ЗагруженныеДанные.Загрузить(ДанныеФайла);
    
КонецПроцедуры


&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
    ЗагрузитьДанныеНаСервере();
КонецПроцедуры


&НаСервере
Процедура СоздатьКонтрагентовНаСервере()
    Для каждого Контрагент Из ЗагруженныеДанные цикл
        Если Справочники.Контрагент.НайтиПоРеквизиту("Артикул",Контрагент.Артикул) = Справочники.Контрагент.ПустаяСсылка()Тогда
            НовыйЭлемент = Справочники.Контрагент.СоздатьЭлемент();
            НовыйЭлемент.Наименование = Контрагент.Наименование;
            НовыйЭлемент.Артикул = Контрагент.Артикул;
            НовыйЭлемент.Записать();
        Иначе
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = СтрШаблон("Контрагент %1 с Артикул%2 уже есть в Информационный базе",
            Контрагент.Наименование, Контрагент.Артикул);
            Сообщение.Сообщить();
            Возврат
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры



&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
    Если Результат = КодВозвратаДиалога.Нет Тогда
        Возврат;
    Иначе
        СоздатьКонтрагентовНаСервере();
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура СоздатьКонтрагентов(Команда)
    
    Режим = РежимДиалогаВопрос.ДаНет;
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтотОбъект , Параметры);
    ПоказатьВопрос(Оповещение, НСтр("ru = 'Продолжить выполнение операции?';"
    + " en = 'Do you want to continue?'"), Режим, 0);
    
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ФайлНачалоВыбораНаСервере()
    // Вставить содержимое обработчика.
КонецПроцедуры

&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением,  СтандартнаяОбработка)
        СтандартнаяОбработка = Ложь;
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);    
    Диалог.Заголовок = "ВыборФайла";
    Диалог.Фильтр = "Excel файлы (*.xls;*.xlsx)|*.xls;*.xlsx";
    Диалог.ИндексФильтра = 0;
    Диалог.ПредварительныйПросмотр = Ложь;
    Диалог.ПроверятьСуществованиеФайла = Истина;
    Диалог.МножественныйВыбор = Ложь;
    Диалог.ПолноеИмяФайла = Файл;
    
    Если Диалог.Выбрать() Тогда
        Файл = Диалог.ПолноеИмяФайла;
    КонецЕсли;
КонецПроцедуры


Ощибка
Ошибка при вызове метода контекста (Выбрать)
{ВнешняяОбработка.ЗагрузкаExcell.Форма.Форма.Форма(102)}:Если Диалог.Выбрать() Тогда

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Использование синхронных методов на клиенте запрещено!
[ОшибкаИспользованияВстроенногоЯзыка]
3 Волшебник
 
06.10.23
10:28
или в свойствах конфигурации в свойстве "Режим использования модальности" установите "Использовать".
а также "Режим использования синхронных вызовов..."
4 SHANTIK
 
06.10.23
10:29
Помогите Пожалуйста!!!
5 Волшебник
 
06.10.23
10:32
см. ДиалогВыбораФайла.ВыбратьАсинх()
6 Масянька
 
06.10.23
10:32
(4)     Режим = РежимДиалогаВыбораФайла.Открытие;
    
    ДиалогВыбора = Новый ДиалогВыбораФайла(Режим);


В начало процедуры ФайлНачалоВыбора.
И стандартную обработку не трогать.
7 Donkey_hot
 
06.10.23
12:39
(0) НачатьПомещениеФайлов()
Независимо от того, куда вы едете — это в гору и против ветра!