-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ошибка работы с EPF, если в клиент-сервере есть доступ к EPF? #628
Comments
@GenVP |
@GenVP Обработка = ВнешниеОбработки.Создать(ДополнительныеПараметры.ИмяФайла, Ложь); ? |
@Pr-Mex Не стал заключать в попытку внешнюю обработку, так как в этом случае будет попытка создания файла на сервере и выход без ошибке при неудаче. Он может, например, быть заблокирован. Я же хотел исключить только ошибку доступа на чтение. Но, как говорится, можно и так ) Будет не зависеть от платформы. |
@GenVP |
Решено. |
Дано
VA 1.2.029
Клиент и сервер 1С на одной машине. У пользователя сервера 1С нет доступа к файлам тестов.
После генерации обработок фич и выполнение тестов выдается ошибка о невозможности подключения обработок фич.
Проверил в отладчике - падает в форме VA в "ПолучитьОбработкуИзФайлаЧерезМетодСоздать" из-за ошибки доступа к файлу обработки фичи на чтение при попытке создания обработки из файла на сервере.
Это из-за того, что проверка контекста подключения выполняется через Файл.Существует(). А в этом случае будет истина даже, если у пользователя сервера 1С нет доступа на чтение.
Пример когда работает:
`&НаСервереБезКонтекста
Функция ПолучитьОбработкуИзФайлаЧерезМетодСоздать(ДополнительныеПараметры,ИмяОбработки)
Обработка = Неопределено;
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
Если ДополнительныеПараметры.Свойство("ИмяФайла") Тогда
Файл = Новый Файл(ДополнительныеПараметры.ИмяФайла);
Если Файл.Существует() Тогда
//+ Проверка доступа к обработке на чтение
Попытка
ЧтениеДанных = Новый ЧтениеДанных(ДополнительныеПараметры.ИмяФайла);
Исключение
Возврат Обработка;
КонецПопытки;
ЧтениеДанных.Закрыть();
//- Проверка доступа к обработке на чтение
Обработка = ВнешниеОбработки.Создать(ДополнительныеПараметры.ИмяФайла, Ложь);
ИмяОбработки = Обработка.Метаданные().Имя;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецФункции
`
The text was updated successfully, but these errors were encountered: