|
Ошибка в Общий модуль.Работа с торговым оборудованием | ☑ | ||
---|---|---|---|---|
0
kandakov_pv
23.06.12
✎
10:45
|
всем доброго времени суток, возникла такая проблема:
Буквально на днях задавал вопрос на форуме про то как добавить в ценник штрихкод, обработка запускается, но при нажатии кнопки печать вылетает вот это: {ОбщийМодуль.РаботаСТорговымОборудованием(366)}: Преобразование значения к типу Число не может быть выполнено Четн = Четн + Сред(ШтрихКод, 2 * Индекс, 1); Как быть, подскажите пожалуйста |
|||
1
Любопытная
23.06.12
✎
11:15
|
Смотреть, что в переменной Индекс
|
|||
2
Rie
23.06.12
✎
11:17
|
(1) +1
А ещё - что в переменной Четн изначально было. |
|||
3
Любопытная
23.06.12
✎
11:20
|
Ну да, если там ссылка на какой-нить справочник, то к ней вряд ли что-то прибавишь)
|
|||
4
Rie
23.06.12
✎
11:28
|
(3) И если она не инициализирована (то есть, Неопределено) - то будет как раз такое сообщение.
|
|||
5
Любопытная
23.06.12
✎
11:31
|
(4) Спасибо, буду знать
|
|||
6
kandakov_pv
23.06.12
✎
11:43
|
Извирите конечно за ламерство, можно как то на пальцах где это посмотреть?
|
|||
7
Rie
23.06.12
✎
11:51
|
(6) О какой конфигурации идёт речь? Это обычное приложение или управляемое?
|
|||
8
Любопытная
23.06.12
✎
11:51
|
(6) Отладчик в зубы
|
|||
9
kandakov_pv
23.06.12
✎
11:59
|
Конфигурация Управление Торговлей 10,3
|
|||
10
Rie
23.06.12
✎
12:01
|
Вообще говоря, несколько странная ситуация. Судя по всему, ошибка возникает при подсчёте контрольной суммы EAN.
Помимо Четн и Индекс, там ещё участвует Сред(ШтрихКод,2*Индекс,1) - очередная цифра штрих-кода. Причём это как раз - строка, которой предстоит автоматически преобразоваться в число. Если ТС не ковырялся бодро в конфигурации - то Четн инициализирована, и Индекс - просто замечательный. Отсюда вывод: в штрих-коде попалась не цифра. И возникает следующий вопрос - а что ТС подсунул несчастной функции вместо EANовского штрих-кода? |
|||
11
kandakov_pv
23.06.12
✎
12:11
|
и как посмотреть что он ей подсунул?
|
|||
12
rs_trade
23.06.12
✎
12:14
|
позовите специалиста
|
|||
13
kandakov_pv
23.06.12
✎
12:16
|
я бы с радостью... только у нас все ленивые работать не хотят, звал не идут
|
|||
14
Rie
23.06.12
✎
12:18
|
(13) А деньги за работу платить не пробовали? :-)
(11) Отладчиком, к примеру. При сканировании какого именно штрих-кода было получено сообщение об ошибке из (0)? |
|||
15
kandakov_pv
23.06.12
✎
12:24
|
деньги пробовали, только 1с не лицензия, и почему то сразу даже за деньги не захотели...
|
|||
16
kandakov_pv
23.06.12
✎
12:25
|
Ошибка возникает когда пытаюсь ценник на печать из формы отправить.
А так все коды занесены в EAN13 |
|||
17
Rie
23.06.12
✎
12:28
|
(15) Купите лицензионную, кто ж мешает-то?
(16) Я пока что схожу за утюгом и паяльников, а ТС тем временем попробует вспомнить, какой именно код отправлялся на печать, когда он получил сообщение об ошибке из (0) :-) |
|||
18
Rie
23.06.12
✎
12:29
|
+(17) А заодно - как выглядит процедура отправки ценников на печать?
|
|||
19
kandakov_pv
23.06.12
✎
12:32
|
мешает отсутствие на данный момент 20 т.р.
|
|||
20
kandakov_pv
23.06.12
✎
12:32
|
Функция ПечатьЭтикетка() Экспорт
Если НЕ ЗначениеЗаполнено(Организация) Тогда Предупреждение("Не выбрана организация!"); Возврат Неопределено; КонецЕсли; ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Ценник"; Макет = ПолучитьМакет("Этикетка"); ОбластьЦенника = Макет.ПолучитьОбласть("Строка|Столбец"); ДатаПечати = РабочаяДата; ТекСтолбец = 0; ТекСтрока = 0; Для Каждого СтрокаТаблицы Из Товары Цикл Если СтрокаТаблицы.Печать Тогда Для Тмп = 1 По СтрокаТаблицы.Количество Цикл ОбластьЦенника.Параметры.Заполнить(СтрокаТаблицы); ОбластьЦенника.Параметры.НоменклатураНаименование = СтрокаТаблицы.Номенклатура.НаименованиеПолное; ОбластьЦенника.Параметры.ЕдиницаНаименование = СтрокаТаблицы.ЕдиницаИзмерения; ОбластьЦенника.Параметры.Цена = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, Валюта, "00"); ОбластьЦенника.Параметры.ДатаПечати = ДатаПечати; ОбластьЦенника.Параметры.Организация = Организация; ОбластьЦенника.Параметры.ОрганизацияНаименование = Организация; ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; ТипКода = ПолучитьЗначениеТипаШтрихкодаДляЭУ(ТипШтрихкода); Если ТипКода = -1 Тогда ОбщегоНазначения.СообщитьОбОшибке("Для штрих-кода формата """ + ТипШтрихкода + """ не существует соответствующего типа в ЭУ ""1С:Печать штрих-кодов"". | Позиция будет пропущена"); КонецЕсли; вШтрихКод = ШтрихКод + "00"; //Формат(Склады.Постфикс,"ЧЦ=2;ЧВН=1;ЧН=00"); вШтрихКод = вШтрихКод + РаботаСТорговымОборудованием.КонтрольныйСимволEAN(вШтрихКод, 13); Если РаботаСТорговымОборудованием.ПроверитьШтрихКод(вШтрихКод, ТипКода) Тогда ОбластьЦенника.Рисунки.Штрихкод.Объект.ТипКода = ТипКода; ОбластьЦенника.Рисунки.Штрихкод.Объект.Сообщение = вШтрихКод; КонецЕсли; Если ТекСтолбец = 0 Тогда ТабДокумент.Вывести(ОбластьЦенника); Иначе ТабДокумент.Присоединить(ОбластьЦенника); КонецЕсли; ТекСтолбец = ТекСтолбец + 1; Если ТекСтолбец = 5 Тогда ТекСтрока = ТекСтрока + 1; ТекСтолбец = 0; КонецЕсли; Если ТекСтрока = 3 Тогда ТекСтрока = 0; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ТабДокумент.ТолькоПросмотр = Истина; Возврат ТабДокумент; КонецФункции // |
|||
21
Rie
23.06.12
✎
12:36
|
А теперь - всё тот же вопрос: какой штрих-код пытались напечатать-то, когда выскочило сообщение об ошибке из (0)?!
Откуда берётся ШтрихКод в приведенной в (20) процедуре? |
|||
22
Rie
23.06.12
✎
12:39
|
+(21) Причина ошибки в том, что в печатаемом штрих-коде у тебя откуда-то взялся символ, не являющийся цифрой (вполне возможно, кстати, что это - пробел). Вот и помедитируй над тем, откуда он там.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |