Имя: Пароль:
1C
1С v8
Не проводится документ из внешней обработки, зарегистрированной как доп обработ
0 kn
 
31.05.15
14:06
Добрый день!
УТ 11.1, есть внешняя обработка по созданию и проведению документов Перемещения между организациями, если товара не хватает для проведения Реализации.
Если ее запускать через Меню - Файл - и там выбрать док Реализации - то обработка создает и проводит нужные документы Перемещения.
Если же эту обработку зарегистрировать через регистрацию дополнительных внешних и вызывать по кнопке в форме док Реализации, то документы Перемещения создаются, но не проводятся! Ошибка при вызове метода контекста Записать. Нарушение прав доступа! В ЖР пишет что нет прав на
Регистр сведений. Задания к расчету себестоимости
Права полные!
Подскажите как такое может быть(не обрабатывается Док.Записать(РежимЗаписиДокумента.Проведение)), и что нужно сделать чтобы обработка заработала из реализации.
1 ДенисЧ
 
31.05.15
14:09
Дай права, будь мужиком, блЪ!
2 DJ Anthon
 
31.05.15
14:09
полные права уже давно не полные
3 kn
 
31.05.15
14:16
(1)Вам пора...
4 kn
 
31.05.15
14:20
ну вот конкретно на этот регистр права судя по полным
не понятно в чем разница межу вызовами через внешний файл и по кнопке из Реализации из спр ДопОбработки.
5 kn
 
31.05.15
14:21
ну вот конкретно на этот регистр
Регистр сведений. Задания к расчету себестоимости
права судя по полным есть
6 kn
 
31.05.15
14:31
Вызываю например вот так

&НаКлиенте
Процедура ПроверитьОстатки(Команда)
    ИмяВнешнейОбработки =  "Проверить и откорректировать остатки по организации";
    Рез = ВыполнитьФункциюВнешнейОбработкиНаСервере(ИмяВнешнейОбработки);
КонецПроцедуры

&НаСервере
Функция  ВыполнитьФункциюВнешнейОбработкиНаСервере(ИмяВнешнейОбработки)
    ДопВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяВнешнейОбработки);
    
    
    ИмяФайла = ПолучитьИмяВременногоФайла();
    ДвоичныеДанные = ДопВнешняяОбработка.ХранилищеОбработки.Получить();
    ДвоичныеДанные.Записать(ИмяФайла);

    ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
    ВнешняяОбработка.ДокументРТУ = ЭтотОбъект.Объект.Ссылка;
    
    Возврат ВнешняяОбработка.ПроверитьОстатки();
КонецФункции
7 kn
 
31.05.15
16:59
Падает не в ОбработкеПроведения(), там проходит и Отказ = Ложь, где ж искать?
8 kn
 
01.06.15
06:34
дело было в БезопасныйРежим

Создать(<ПолноеИмяФайла>, <БезопасныйРежим>)

надо ВнешниеОбработки.Создать(ИмяФайла, Ложь).
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший