Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (ПолучитьШтрихкод)
0 Service_1C
 
14.07.16
20:37
Розница 2.2.2.20
Делаю на форме документа кнопочку "Этикетки" нажав на которую должна идти прямая печать этикеток, столкнулся с такой проблемой, что я делаю не так? помогите ГУРУ!

{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(5801)}:
Ошибка при вызове метода контекста (ПолучитьШтрихкод)
Массив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолучитьШтрихкод(ПараметрКоманды),";");
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'КомандаФормы'
1 hhhh
 
14.07.16
21:22
(0) ну не передавайте команду формы. передайте штрихкод туда
2 Service_1C
 
15.07.16
00:09
(1) можете поподробней расписать
3 Beretta
 
15.07.16
00:28
(2) Куда уж подробнее, тебе про ПараметрКоманды все расписали:

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'КомандаФормы'

Смотришь на тип передаваемого значения и где он существует
4 Service_1C
 
15.07.16
11:40
весь обрабатываемый код, подскажите куда копать, в программировании я новичек

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    Массив = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(ПолучитьШтрихкод(ПараметрКоманды),";");
    
    Сз = Новый СписокЗначений;
    Для Каждого Текстрока из Массив цикл
        СЗ.Добавить(Текстрока);    
    КонецЦикла;    
    Если СЗ.Количество()=1 тогда
        Штрихкод = СЗ[0];    
    Иначе    
        Штрихкод = СЗ.ВыбратьЭлемент();
    КонецЕсли;
    
    Кво = 1;
    ВвестиЧисло(Кво, "Введите количество штрихкодов:");
    
    Если Не ПустаяСтрока(Штрихкод.Значение) и Кво>0 тогда
        
        ТабличныйДокумент = ПечатнаяФорма(ПараметрКоманды,Штрихкод.Значение);
        а=1;
        Пока а<=Кво цикл
            Если ТабличныйДокумент <> Неопределено Тогда
                ТабличныйДокумент.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
            КонецЕсли;
            а = а+1;
        КонецЦикла;
    Иначе
        Предупреждение("Не установлен штрихкод!");
    КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПолучитьШтрихкод(Спр)

    Возврат Спр._Штрихкод;

КонецФункции


&НаСервере
Функция  ПечатнаяФорма(Спр,Штрихкод) Экспорт
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ОтображатьСетку = Ложь;
    ТабличныйДокумент.ОтображатьЗаголовки = Ложь;
    ТабличныйДокумент.АвтоМасштаб = Истина;
    ТабличныйДокумент.РазмерСтраницы="Custom";
    ТабличныйДокумент.ШиринаСтраницы=600;
    ТабличныйДокумент.ВысотаСтраницы=300;
    ТабличныйДокумент.ПолеСлева=0;
    ТабличныйДокумент.ПолеСправа=0;
    ТабличныйДокумент.ПолеСверху=0;
    ТабличныйДокумент.ПолеСнизу=0;
    ТабличныйДокумент.РазмерКолонтитулаСверху=0;
    ТабличныйДокумент.РазмерКолонтитулаСнизу=0;
    ТабличныйДокумент.ВерхнийКолонтитул.Выводить=Ложь;
    ТабличныйДокумент.НижнийКолонтитул.Выводить=Ложь;
    ТабличныйДокумент.ИмяПринтера="LBP6650";

    ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПечатьЭтикеток";

    ПечатнаяФормаШтрихкода(ТабличныйДокумент,Спр,Штрихкод);
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    
    Возврат ТабличныйДокумент;
КонецФункции
5 Звездец
 
15.07.16
11:42
6 Service_1C
 
15.07.16
16:16
(5) книжку то почитаем
сложно сказать где ошибка?
7 Beretta
 
15.07.16
16:24
(6) Ошибка в коде. Без понимания работы клиент-сервера ты ее не исправишь.

Ты ждешь, что за тебя напишут код, чтобы тут же забить на эту проблему. Здесь так не бывает, извини.
8 hhhh
 
15.07.16
16:40
(6) ну сутки уже тупите. Ошибка в ПараметрКоманды. Решается включением отладчика.
9 Service_1C
 
15.07.16
16:55
(8) ну вот как передать этот штрихкод правильно, ошибка отладкой "Массив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолучитьШтрихкод(ПараметрКоманды),";");"
10 Service_1C
 
15.07.16
16:55
Массив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолучитьШтрихкод(Штрихкод),";");
11 hhhh
 
15.07.16
16:59
(10) ошибка не здесь, а в ПолучитьШтрихкод()
12 hhhh
 
15.07.16
17:04
что за функция ПолучитьШтрихкод() /?
13 Service_1C
 
15.07.16
17:15
(12) &НаСервере
Функция ПолучитьШтрихкод(Спр)

    Возврат Спр._Штрихкод;

КонецФункции


&НаСервере
Функция  ПечатнаяФорма(Спр,Штрихкод) Экспорт
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ОтображатьСетку = Ложь;
    ТабличныйДокумент.ОтображатьЗаголовки = Ложь;
    ТабличныйДокумент.АвтоМасштаб = Истина;
    ТабличныйДокумент.РазмерСтраницы="Custom";
    ТабличныйДокумент.ШиринаСтраницы=600;
    ТабличныйДокумент.ВысотаСтраницы=300;
    ТабличныйДокумент.ПолеСлева=0;
    ТабличныйДокумент.ПолеСправа=0;
    ТабличныйДокумент.ПолеСверху=0;
    ТабличныйДокумент.ПолеСнизу=0;
    ТабличныйДокумент.РазмерКолонтитулаСверху=0;
    ТабличныйДокумент.РазмерКолонтитулаСнизу=0;
    ТабличныйДокумент.ВерхнийКолонтитул.Выводить=Ложь;
    ТабличныйДокумент.НижнийКолонтитул.Выводить=Ложь;
    ТабличныйДокумент.ИмяПринтера="LBP6650";

    ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПечатьЭтикеток";

    ПечатнаяФормаШтрихкода(ТабличныйДокумент,Спр,Штрихкод);
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    
    Возврат ТабличныйДокумент;
КонецФункции
14 Ёпрст
 
гуру
15.07.16
17:24
ответ в (1)