Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Внешняя обработка не отображается в формах списка и элемента

Внешняя обработка не отображается в формах списка и элемента
Я
   Dmitry_333
 
25.04.19 - 16:57
Доброго всем дня!

При создании элемента справочника внешних отчетов и обработок прописываю соответствующие реквизиты как нужно:

НоваяВнешняя.ИспользоватьДляФормыСписка = Истина;
    
НоваяВнешняя.ИспользоватьДляФормыОбъекта = Истина;й
    
Назначение = НоваяВнешняя.Назначение.Добавить();
    
Назначение.ОбъектНазначения = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("ПолноеИмя", "Документ.РеализацияТоваровУслуг");
    
Но после загрузки ссылка на открытие обработки не появляется в данных формах, и даже в самом объекте справочника не активизируется видимость надписи "Показывать:" с булево по данным параметрам.

В чем может быть проблема?
 
 
   sqr4
 
1 - 25.04.19 - 17:02
ну наверно в объектах назначения нет?
   Dmitry_333
 
2 - 25.04.19 - 17:18
(1) В отладчике видно строка Назначение.ОбъектНазначения заполняется корректно.
   sqr4
 
3 - 25.04.19 - 17:23
(2) а корректно это как
   runoff_runoff
 
4 - 25.04.19 - 17:25
команды же еще нужны..
   Dmitry_333
 
5 - 25.04.19 - 17:34
(4) это же часть кода с проблемным участком, все остальное норм отрабатывает.

(3) Заполняется как ссылка на данный объект метаданных
   Dmitry_333
 
6 - 26.04.19 - 18:24
Господа, неужели никто не поможет в этом вопросе?-)

Переформулирую вопрос.

Что сделать, чтобы появились настройки, позволяющие показывать обработку в списках и в формах справочников и документов? https://yadi.sk/i/upz3q39BsTihSQ
   runoff_runoff
 
7 - 26.04.19 - 18:34
доп обработки бывает разных видов.. заполнение.. созд связ объектов.. печать.. доп отчет
   Dmitry_333
 
8 - 26.04.19 - 18:37
(7) Обычная обработка, загрузка данных из эксель.
   Dmitry_333
 
9 - 26.04.19 - 18:39
Загружается в доп обработки что программно, что в ручную без проблем. Отрабытывает тоже. Проблема вот только в этом.
   runoff_runoff
 
10 - 26.04.19 - 18:47
НоваяВнешняя.Команды.Добавить() было?
   Вафель
 
11 - 26.04.19 - 18:54
может нужно нажимать кнопку с форме "доп отчеты" или "доп обработки" ?
   Вафель
 
12 - 26.04.19 - 18:55
так у тебя обработка не того вида.
оно у тебя размещение запрашивает, а ну жно назначение
   Dmitry_333
 
13 - 26.04.19 - 19:07
(10) Конечно было. Иначе как я её юзал.

(12) Так вот же:

Назначение = НоваяВнешняя.Назначение.Добавить(); 
     
Назначение.ОбъектНазначения = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("ПолноеИмя", "Документ.РеализацияТоваровУслуг");

У меня в коде и размещение прописано и назначение. Размещение кстати отрабатывает.
   runoff_runoff
 
14 - 26.04.19 - 19:08
НоваяВнешняя.Команды НЕ РАВНО НоваяВнешняя.Назначение
надо и то, и то
   Dmitry_333
 
15 - 26.04.19 - 19:11
(14) а кто говорит что равно?? Вот код создания целиком:

Файл = Новый ДвоичныеДанные("C:\Users\User\Desktop\ТестВнешняяОбработка\ЗагрузкаИзExcel.epf");
    
    ХранилищеФайла = Новый ХранилищеЗначения(Файл);
    
    НоваяВнешняя = Справочники.ДополнительныеОтчетыИОбработки.СоздатьЭлемент();
    
    НоваяВнешняя.ИмяФайла = "ЗагрузкаИзExcel.epf";
    
    НоваяВнешняя.Наименование = "Загрузка Из Excel";
    
    НоваяВнешняя.ИмяОбъекта = "ЗагрузкаИзExcel";
    
    НоваяВнешняя.БезопасныйРежим = Ложь;
    
    НоваяВнешняя.Версия = "1.0";
    
    НоваяВнешняя.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка;
    
    НоваяВнешняя.ХранилищеОбработки = ХранилищеФайла;
    
    //НоваяВнешняя.

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

    НоваяВнешняя.ИспользоватьДляФормыСписка = Истина;
    
    НоваяВнешняя.Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется;
    
    НоваяВнешняя.Записать();
   runoff_runoff
 
16 - 26.04.19 - 19:14
Перечисления.СпособыВызоваДополнительныхОбработок.ОткрытиеФормы ошибка
другой вид запуска должен быть.. ВызовКлиентскогоМеода
   runoff_runoff
 
17 - 26.04.19 - 19:22
и вид обработки тоже нужно сделать либо ЗаполнениеОбъекта, либо ПечатнаяФорма, то БСП не знает, куда кидать просто обработки
   Dmitry_333
 
18 - 26.04.19 - 19:27
(17) Спасибо, сейчас попробую.
   Dmitry_333
 
19 - 26.04.19 - 20:26
(17) Бинго. Теперь требуемое появляется. Спасибо большое!

Но при попытке открыть обработку вылезает ошибка
Значение не является значением объектного типа (Получить)
    АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
   runoff_runoff
 
20 - 26.04.19 - 20:29
в хранилище надо поместить двоичные данные файла обработки
   Dmitry_333
 
21 - 26.04.19 - 20:31
(20) ну дык они там есть:

   Файл = Новый ДвоичныеДанные("C:\Users\User\Desktop\ТестВнешняяОбработка\ЗагрузкаИзExcel.epf");
    
    ХранилищеФайла = Новый ХранилищеЗначения(Файл);
    
    НоваяВнешняя.ХранилищеОбработки = ХранилищеФайла;
   palsergeich
 
22 - 26.04.19 - 20:34
(21) А рабочий серрвера стол доступен серверу?
   palsergeich
 
23 - 26.04.19 - 20:35
(22) Рабочий стол юзера доступен серверу 1с?
   Dmitry_333
 
24 - 26.04.19 - 20:37
(23) База файловая, все на одном компе.

И до изменений обработка открывалась.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.