Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 06:39

Подключение внешней обработки

Автор tserj4, 10 сен 2020, 15:25

0 Пользователей и 1 гость просматривают эту тему.

tserj4

Добрый день.
Помогите разобраться, написана внешняя обработка, если ее открывать через файл, то отрабатывает нормально, когда пытаюсь подключить как внешнюю, то выдает ошибку "Метод объекта не обнаружен (ВыполнитьКоманду)".
Конфигурация Управление нашей фирмой, редакция 1.6 (1.6.21.124) (http://v8.1c.ru/small/)
Платформа 8.3.16.1224
База клиент серверная
в модуле формы вот такой код:
&НаСервере
Функция ВыпНаСервере();
     Дата1 = НачалоДня(ТекущаяДата());
   Дата2 = КонецДня(ТекущаяДата());
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ОперацияПоПлатежнымКартам.Ссылка КАК Ссылка,
      |   ОперацияПоПлатежнымКартам.Комментарий КАК Комментарий
      |ИЗ
      |   Документ.ОперацияПоПлатежнымКартам КАК ОперацияПоПлатежнымКартам
      |ГДЕ
      |   ОперацияПоПлатежнымКартам.Дата МЕЖДУ &Дата1 И &Дата2";
   
   Запрос.УстановитьПараметр("Дата1", Дата1);
   Запрос.УстановитьПараметр("Дата2", Дата2);
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      Если Не ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Комментарий) Тогда
         Док = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
         Док.Комментарий = "Распечатан чек";
         Док.Записать();

         Возврат ВыборкаДетальныеЗаписи.Ссылка;
         
      КонецЕсли;   
   КонецЦикла;
   
   
КонецФункции




&НаКлиенте
Процедура Вып(Команда) Экспорт
   СсылкаНаДокумент = ВыпНаСервере(); //Получаю ссылку
   НоваяФорма = ПолучитьФорму("Документ.ОперацияПоПлатежнымКартам.ФормаОбъекта", новый Структура("Ключ",СсылкаНаДокумент));   //СсылкаНаДокумент.ПолучитьФорму("ФормаДокумента");
  НоваяФорма.Открыть();
  НоваяФорма.НапечататьЧек(Команда);
  НоваяФорма.Закрыть();   
КонецПроцедуры

alexandr_ll

Цитата: tserj4 от 10 сен 2020, 15:25
Добрый день.
Помогите разобраться, написана внешняя обработка, если ее открывать через файл, то отрабатывает нормально, когда пытаюсь подключить как внешнюю, то выдает ошибку "Метод объекта не обнаружен (ВыполнитьКоманду)".
Конфигурация Управление нашей фирмой, редакция 1.6 (1.6.21.124) (http://v8.1c.ru/small/)
Платформа 8.3.16.1224
База клиент серверная
в модуле формы вот такой код:
&НаСервере
Функция ВыпНаСервере();
     Дата1 = НачалоДня(ТекущаяДата());
   Дата2 = КонецДня(ТекущаяДата());
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ОперацияПоПлатежнымКартам.Ссылка КАК Ссылка,
      |   ОперацияПоПлатежнымКартам.Комментарий КАК Комментарий
      |ИЗ
      |   Документ.ОперацияПоПлатежнымКартам КАК ОперацияПоПлатежнымКартам
      |ГДЕ
      |   ОперацияПоПлатежнымКартам.Дата МЕЖДУ &Дата1 И &Дата2";
   
   Запрос.УстановитьПараметр("Дата1", Дата1);
   Запрос.УстановитьПараметр("Дата2", Дата2);
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      Если Не ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Комментарий) Тогда
         Док = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
         Док.Комментарий = "Распечатан чек";
         Док.Записать();

         Возврат ВыборкаДетальныеЗаписи.Ссылка;
         
      КонецЕсли;   
   КонецЦикла;
   
   
КонецФункции




&НаКлиенте
Процедура Вып(Команда) Экспорт
   СсылкаНаДокумент = ВыпНаСервере(); //Получаю ссылку
   НоваяФорма = ПолучитьФорму("Документ.ОперацияПоПлатежнымКартам.ФормаОбъекта", новый Структура("Ключ",СсылкаНаДокумент));   //СсылкаНаДокумент.ПолучитьФорму("ФормаДокумента");
  НоваяФорма.Открыть();
  НоваяФорма.НапечататьЧек(Команда);
  НоваяФорма.Закрыть();   
КонецПроцедуры
Следует привести не код модуля формы, а код модуля обработки. Ошибка там.

tserj4

Код модуля обработки

Функция СведенияОВнешнейОбработке() Экспорт
   
   ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.1.1.1");
   ПараметрыРегистрации.Информация = НСтр("ru = 'Печать чека по эквайрингу'");
   ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
   ПараметрыРегистрации.Версия = "1.0.0.0";
   ПараметрыРегистрации.БезопасныйРежим = Истина;

   Команда = ПараметрыРегистрации.Команды.Добавить();
   Команда.Представление = НСтр("ru = 'Печать чека по эквайрингу'");
   Команда.Идентификатор = "ПечатьЧекаПоЭквайрингу";
   Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
   Команда.ПоказыватьОповещение = Истина;
   Команда.Модификатор = "ПечатьЧекаПоЭквайрингу";
   
   
   Возврат ПараметрыРегистрации;
   
КонецФункции


IL2016

надо поставить флаг - Отладка - Останавливать по ошибке.
тогда точно найдется место где ошибка.

АлександрВладимирович

Функция СведенияОВнешнейОбработке() Экспорт
   
   //ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.1.1.1");
   ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
   
   ПараметрыРегистрации.Информация = НСтр("ru = 'Печать чека по эквайрингу'");
   ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
   ПараметрыРегистрации.Версия = "1.0.0.0";
   ПараметрыРегистрации.БезопасныйРежим = Истина;

   Команда = ПараметрыРегистрации.Команды.Добавить();
   Команда.Представление = НСтр("ru = 'Печать чека по эквайрингу'");
   Команда.Идентификатор = "ПечатьЧекаПоЭквайрингу";
   //Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
   Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();

   //Команда.ПоказыватьОповещение = Истина;
   Команда.ПоказыватьОповещение = Ложь;
   
   //Команда.Модификатор = "ПечатьЧекаПоЭквайрингу";
   
   
   Возврат ПараметрыРегистрации;
   
КонецФункции

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск