Помогите пожалуйста. Мне нужно поместить полный путь к экселевскому файлу в константу. Тип строка. Создал форму констант.
Пробовал так
ПриНачалеВыбора
выдает ошибку
{ОбщаяФорма.Шаблоны.Форма(22)}: Ошибка при вызове метода контекста (Выбрать)
Если Диалог.Выбрать() Тогда
по причине:
Использование синхронных методов на клиенте запрещено!
Не соображу.
Пробовал так
ПриНачалеВыбора
&НаКлиенте
Процедура ШаблонВыгрузкиВзаиморасчетовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка=ложь;
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл";
Диалог.ПолноеИмяФайла = "";
Фильтр = "";
Диалог.Фильтр = Фильтр;
Диалог.МножественныйВыбор = Ложь;
Диалог.Каталог = "F:\";
Если Диалог.Выбрать() Тогда
Элемент=Строка(Диалог.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
Показатьвыдает ошибку
{ОбщаяФорма.Шаблоны.Форма(22)}: Ошибка при вызове метода контекста (Выбрать)
Если Диалог.Выбрать() Тогда
по причине:
Использование синхронных методов на клиенте запрещено!
Не соображу.
Найденные решения
Свойства конфигурации (в самом верху дерева, где название конфигурации пр. кл. мыши - свойства) - Режим синхронных вызовов. Установить: Использовать.
Это если обойти проблему. Если включать режим синхронности нельзя, то переписывать алгоритм на асинхронные методы. Примеров и на этом форму и в интернете много.
Это если обойти проблему. Если включать режим синхронности нельзя, то переписывать алгоритм на асинхронные методы. Примеров и на этом форму и в интернете много.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Свойства конфигурации (в самом верху дерева, где название конфигурации пр. кл. мыши - свойства) - Режим синхронных вызовов. Установить: Использовать.
Это если обойти проблему. Если включать режим синхронности нельзя, то переписывать алгоритм на асинхронные методы. Примеров и на этом форму и в интернете много.
Это если обойти проблему. Если включать режим синхронности нельзя, то переписывать алгоритм на асинхронные методы. Примеров и на этом форму и в интернете много.
(8) К каким неправильным выводам она должна подтолкнуть? Еще раз, есть два пути решения проблемы:
1. Включить в конфе использование синхронных вызовов.
2. Переписать алгоритм так, чтобы он был асинхронным.
Об этом честно и прямо сказано автору. Какое решение правильное? Так тут надо хотя-бы знать, что за конфигурацию автор редактирует. Если самописку на два справочника - реально проще режим синхронности включить. Если внешнюю обработку для БП, которая на поддержке - первый вариант сам собой отпадает.
Автор ведь не дурак, он свою ситуацию знает куда как лучше нас.
1. Включить в конфе использование синхронных вызовов.
2. Переписать алгоритм так, чтобы он был асинхронным.
Об этом честно и прямо сказано автору. Какое решение правильное? Так тут надо хотя-бы знать, что за конфигурацию автор редактирует. Если самописку на два справочника - реально проще режим синхронности включить. Если внешнюю обработку для БП, которая на поддержке - первый вариант сам собой отпадает.
Автор ведь не дурак, он свою ситуацию знает куда как лучше нас.
К уже сказанному добавлю только, что запрет использования синхронных методов установлен в свойствах конфы как раз для того, чтобы вовремя бить по рукам в сабжевых ситуациях. Т.е. только что он выполнил свое прямое предназначение :)
теперь так.
что дальше сделать? что значит "Вызов преобразован не полностью";//Присвоение cсылочного параметра: Элемент
что дальше сделать? что значит "Вызов преобразован не полностью";//Присвоение cсылочного параметра: Элемент
&НаКлиенте
Процедура ШаблонВыгрузкиВзаиморасчетовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка=ложь;
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл";
Диалог.ПолноеИмяФайла = "";
Фильтр = "";
Диалог.Фильтр = Фильтр;
Диалог.МножественныйВыбор = Ложь;
Диалог.Каталог = "F:\";
Диалог.Показать(Новый ОписаниеОповещения("ШаблонВыгрузкиВзаиморасчетовНачалоВыбораЗавершение", ЭтотОбъект, Новый Структура("Диалог", Диалог)));
ВызватьИсключение "Вызов преобразован не полностью";//Присвоение cсылочного параметра: Элемент
КонецПроцедуры
&НаКлиенте
Процедура ШаблонВыгрузкиВзаиморасчетовНачалоВыбораЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Диалог = ДополнительныеПараметры.Диалог;
Если (ВыбранныеФайлы <> Неопределено) Тогда
Элемент=Строка(Диалог.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
Показать
(9) Зачем диалог в доп параметры запихивать???? в обработке оповещения - которое вызывается после закрытия диалога - уже есть всё , что нужно, а именно выбранное имя файла, либо неопределено если диалог закрыли без выбора.
ВыбранныеФайлы - работай с этой переменной
ВыбранныеФайлы - работай с этой переменной
(11)отрабатывает все, но в поле формы не попадает. нужно "элемент" на что-то изменить. или передавать на сервер
&НаКлиенте
Процедура ШаблонВыгрузкиВзаиморасчетовНачалоВыбораЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Диалог = ДополнительныеПараметры.Диалог;
Если (ВыбранныеФайлы <> Неопределено) Тогда
Элемент=Строка(Диалог.ПолноеИмяФайла);
КонецЕсли;
КонецПроцедуры
Показать
(23) Смотрите какой момент. Есть клиент, есть сервер. Путь к файлу вы получаете на клиенте. т.е. на том компьютере, на котором пользователь работает в данный момент. Иными словами другой пользователь, который работает на своем компьютере, доступ к файлу не получит (он на другой машине). Алгоритм такой:
1. Переносите файл на сервер.
2. Прописываете путь к файлу на сервере.
1. Переносите файл на сервер.
2. Прописываете путь к файлу на сервере.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот