Имя: Пароль:
1C
1С v8
Ошибка Недостаточно фактических параметров
0 Черника
 
14.06.22
14:28
Окажите содействие юной программистке :)

Пытаюсь создать обработку (по расписанию) для выгрузки в xml информации из справочника "Дополнительные отчеты и обработки"
Выдает ошибку Не удалось выполнить команду по причине: недостаточно фактических параметров



Не удалось выполнить команду по причине:
Недостаточно фактических параметров.

{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(1002)}:        ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(63)}:            ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(988)}:        ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(474)}:        ВыполнитьОбработкуОповещения(Обработчик, "ПродолжитьБезЗаписи");









Сам код

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

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

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

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды, АдресФайлаВоВременномХранилище) Экспорт
              // Реализация логики команды
              Если ИдентификаторКоманды = "ВыгрузкаИнформацииПоОбработкам" Тогда
                  
                Запись = Новый ЗаписьXML;
                Запись.ОткрытьФайл("\\ivn-srv-25\d$\Buh_Base_8");
                Запись.ЗаписатьОбъявлениеXML();
                // формируем корневой элемент
                Запись.ЗаписатьНачалоЭлемента("Обработки");
                Выборка = Справочники.ДополнительныеОтчетыИОбработки.Выбрать();
                Пока Выборка.Следующий() Цикл
                    // для каждого клиента формируем свой элемент
                    Запись.ЗаписатьНачалоЭлемента("Обработка");
                    // запишем код клиента в атрибут тега
                    Запись.ЗаписатьАтрибут("ИмяОбъекта", Строка(Выборка.ИмяОбъекта));
                    // Наименование клиента запишем в текст элемента
                    Запись.ЗаписатьТекст(Выборка.ИмяФайла);
                    Запись.ЗаписатьТекст(Выборка.Версия);
                    // закрываем элемент клиента
                    Запись.ЗаписатьКонецЭлемента();    
                КонецЦикла;
                // закрываем корневой элемент xml-документа
                Запись.ЗаписатьКонецЭлемента();    
                // закрыть файл
         КонецЕсли;
  
КонецПроцедуры
1 Жан Пердежон
 
14.06.22
15:01
Оказываю содействие юной программистке советом: нужно обязательно прикрепить в профиль фотку
2 Жан Пердежон
 
14.06.22
15:08
а вообще сейчас в БСП в ВыполнитьКоманду() 2 параметра ожидается
3 Ryzeman
 
14.06.22
15:08
(0)
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды, АдресФайлаВоВременномХранилище) Экспорт

меняй на

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт

Непонятно откуда скопировала, но у тебя ни параметры не передаются ни третьего параметра нет в принципе.
4 Черника
 
14.06.22
16:12
При попытках забыла удалить параметр, исправила. Ошибка осталась, при нажатии "ок" файл создается.
5 rudnitskij
 
14.06.22
21:44
Как правило, если пишет ошибку "Недостаточно фактических параметров" - к решению проблемы приводит проверка количества параметров)