Имя: Пароль:
1C
1С v8
Добавление внешней обработки в конфигурацию ЗУП
0 alekosansey
 
07.04.20
09:04
Добрый день. Пытаюсь добавить обработку в типовую конфу Зуп 3,0 и выдает ошибку "{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(3439)}: Поле объекта не обнаружено (ХранилищеВариантов) Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено" . В чем может быть проблема. Код подключения внешней обработки


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

Функция ПолучитьТаблицуКоманд()
    
    // Создадим пустую таблицу команд и колонки в ней
    Команды = Новый ТаблицаЗначений;

    // Как будет выглядеть описание печатной формы для пользователя
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

    // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

    // Тут задается, как должна вызваться команда обработки
    // Возможные варианты:
    // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
    // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
    // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

    // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

    // Для печатной формы должен содержать строку ПечатьMXL
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
  
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")
    
    // Добавляем команду в таблицу команд по переданному описанию.
    // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
1 alekosansey
 
07.04.20
09:05
На БУхгалтерии 3.0 это работает
2 mishaPH
 
модератор
07.04.20
09:06
зуп корп?
3 ads55
 
07.04.20
09:07
А файл точно с расширением ERF?
4 alekosansey
 
07.04.20
09:09
А EPF Не подключит разве?
5 alekosansey
 
07.04.20
09:11
Зарплата и управление персоналом для Казахстана, редакция 3.1. Локализация для Казахстана: "1С-Рейтинг" (3.1.1.56) (http://1c.kz/v8/RegionalSolutions_KZ_ZUP.php)
Copyright © ООО "1С-Софт", 2004-2019. Все права защищены
(http://www.1c.ru)
6 ads55
 
07.04.20
09:15
(4) Мне встречалось, что при таком: " РегистрационныеДанные.Вставить("Вид","ДополнительныйОтчет");"
файл должен быть с расширением ERF.
7 alekosansey
 
07.04.20
09:20
Все разобрался если кому интересно вот этот ресур помог https://programmist1s.ru/kak-sozdat-vneshnyuyu-obrabotku-v-1s-8-3-upravlyaemyie-formyi/
8 mmmarat
 
07.04.20
09:26
Почему все игнорируют БСП?
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
...