#0
by mikecool
Собсно надо штрихкодировать документы. Нарисовал ШК как в макете текстовое поле с шрифтом EanGnivc, ШК выводится в печатную форму, но сканером не читается. зы: ШК длиной 13 символов чяднт?
#15
by mikecool
хрень какая-то - включил поддержку ЕАН у сканера, перестали распозаваться 14-значные штрихи
#18
by BayoNet
А зачем тебе 14 значные штрихи, если ты EAN 13 хочешь использовать. Я тебе посоветую вернуть заводские настройки сканеру. А для печати ШК можно воспользоваться советом или найти Barcode.ocx, или просто шрифт EAN-13, скачать и добавить в шрифты
#20
by Vovan1975
а ты уверен что размер штрихкода в печатной форме "правильный"? Просто штрихкоды должны иметь строго определенную ширину...
#22
by mikecool
четырнадцать знаков - это я взял с заводской упаковки товара, которым торгуем - нормально ищется по нему в справочнике
#24
by mikecool
да чета я уже ни в чем не уверен ) 40 еангнивом нарисовал, не растягивая в ширину...
#25
by Vovan1975
просто у меня однажды подобная проблема была из-за того что при печати штрихкод изменялся - ширина штрихкода в миллиметрах изменялась - и из-за этого сканер штрихкод не воспринимал.
#28
by Vovan1975
+ там достаточно включенного автомасштабирования - и привет. Просто для штрихкодов есть стандартные типоразмеры. В общем, моя версия - он у тебя при выводе на печать искажается.
#31
by mikecool
вот новый прикол: в макете рисую текст, шрифт гнивик, тулю туда из регл отчета текст "!0740-eabg!" - читается прямо с экрана а если свю последовательность цифирей - фик
#32
by Vovan1975
не, там разница в ширине была миллиметра 2. Пока не добился чтобы он на печати не получался строго определенной ширины - не взлетало.
#36
by mikecool
пофик на воск знаки, через актив икс и без них нормально формируется-читается... активиксы в макеты пихать нельзя? )
#37
by СноваЗдорова
+ можно и воскл знаки ставить, знак больше, знак меньше, я звездочки по привычке предлагал...
#39
by mikecool
через шрифт ШК получается "ровный", а через активикс - слева, посредине и в конце - зубцы ниже, чем остальные линии
#44
by mikecool
а 1с баркод формирует еан13 вот только методов работы с ним - особо и нет, в картинку не впихнешь
#47
by lxs
Погоди. В макете (табличный документ) добавляешь рисунок(текст), шрифт выбираешь EanGnivc, затем через Рисунок.Текст загоняешь штрих-код.
#50
by Irbis
Если КЦ неверная и сканер не пищит, то скорее всего выставлен аппаратный контроль чтения. Ну, и разумеется, если размеры и качество печати самого ШК позволяют сканеру его распознать.
#53
by mikecool
итого... в макете делаем Таблица - Рисунки - Объект... выбираем галку "Элемент управления" и из списка объектов "1С.V8.Печать штрих-кодов" (должен быть установлен) в полученном объекте для проверки можно зайти: ПКМ на объекте, выбираем "Элемент управления..." - "Свойства" задаем кодируемое сообщение и получаем ШК в макете и прямо с экрана можно проверять - читается ли код сканером, тут же растягиваем и сжимаем до нужного размера, проверяем... программно в коде значение сообщения устанавливается так:
#54
by СноваЗдорова
или просто добавляем к цифрам штрихкода спереди и сзади один из знаков (одинаковые должны быть): ! * < > и печатаешь через шрифт. Сканер в итоге получает только цифры
#55
by mikecool
как ни странно - но нифига, пробовал добавлять и "!" и "*" сначала и в конце - не читает воспользовался активиксом - при том же коде штрих получается совсем другого вида
#56
by Anderson
Тоже пробовал шрифты на 2-х сканерах не прочитались. Так что использовать компоненту.
#59
by СноваЗдорова
По рисунку могут быть не похожими это ничего страшного. Этот текст вы можете десятком шрифтов распечатать со баркодами и все будут разные и должны сканером читаться. Вот нет под рукой сканера...
#60
by AlteZ
тупо цифрами, (с !,* и без) не читает, алгоритм нужен походу, и существует такой для 13+5? По ссылке в становится ясно, что не просто всё How the barcodes are created: One of our font tools are used to convert the data that is to be encoded in the barcode to a character string, that when combined with the barcode font, will create a correct barcode. The online font encoder at was used to generate the barcodes in this document, which encode the data of “32456289093”. A complete list of font tools and encoders is available at: IDAutomation USB Scanner available from:
#61
by GreenS
Контрольная сумма критична, сканер не прочитает. Ширина критична, при Непропорциональном изменении ширины, сканер не понимает и не читает. Поиграй с маштабом...
#62
by AlteZ
джентльмен в с суммой не согласен кодирую 200000000008400001, активикс справлеятся, макрос пока не очень (в шрифте разрывы, но разобраться интересно, тупо символами и еангнивц 2000000000084 из ворда ну никак не сканирует) [code] Public Function EAN13(DataToEncode As String) As String '********************************************************************* '* VB Functions for IDAutomation Barcode Fonts v2006.2 '* Copyright, IDAutomation.com, Inc. 2000-2006. All rights reserved. '* '* Visit for more '* information about the functions in this file. '* '* You may incorporate our Source Code in your application '* only if you own a valid license from IDAutomation.com, Inc. '* for the associated font and this text and the copyright notices '* are not removed from the source code. '* '* Distributing our source code or fonts outside your '* organization requires a Developer License. '********************************************************************* OnlyCorrectData = "" 'Check to make sure data is numeric and remove dashes, etc. StringLength = Len(DataToEncode) For I = 1 To StringLength 'Add all numbers to OnlyCorrectData string '2006.2 BDA modified the next 3 lines for compatibility with different office versions 'If IsNumeric(Mid(DataToEncode, I, 1)) Then OnlyCorrectData = OnlyCorrectData & Mid(DataToEncode, I, 1) CurrentCharNum = Asc(Mid(DataToEncode, I, 1)) If CurrentCharNum > 47 And CurrentCharNum < 58 Then OnlyCorrectData = OnlyCorrectData & Mid(DataToEncode, I, 1) Next I '2006.2 BDA added the next line for general compatibility StringLength = Len(OnlyCorrectData) If StringLength < 12 Then OnlyCorrectData = "0000000000000" If StringLength = 16 Then OnlyCorrectData = "0000000000000" If StringLength = 13 Then OnlyCorrectData = Mid(OnlyCorrectData, 1, 12) If StringLength = 15 Then OnlyCorrectData = (Mid(OnlyCorrectData, 1, 12) & Mid(OnlyCorrectData, 14, 2)) If StringLength > 17 Then OnlyCorrectData = (Mid(OnlyCorrectData, 1, 12) & Mid(OnlyCorrectData, 14, 5)) Dim EAN2AddOn As String Dim EAN5AddOn As String EAN5AddOn = "" '2006.2 BDA added the next line for general compatibility StringLength = Len(OnlyCorrectData) If StringLength = 17 Then EAN5AddOn = Mid(OnlyCorrectData, 13, 5) If StringLength = 14 Then EAN2AddOn = Mid(OnlyCorrectData, 13, 2) 'Remove digit number from add-ons and check digit DataToEncode = Mid(OnlyCorrectData, 1, 12) 'Calculate Check Digit For I = Len(DataToEncode) To 1 Step -1 'Get the value of each number starting at the end CurrentCharNum = Mid(DataToEncode, I, 1) 'Multiply by the weighting factor which is 3,1,3,1... 'and add the sum together WeightedTotal = WeightedTotal + CurrentCharNum * Factor 'Change factor for next calculation Next I 'Find the CheckDigit by finding the number + WeightedTotal that = a multiple of 10 'Divide by 10, get the remainder and subtract from 10 I = (WeightedTotal Mod 10) If I <> 0 Then CheckDigit = (10 - I) End If 'Encode the leading digit into the left half of the EAN-13 symbol 'by using variable parity between character sets A and B LeadingDigit = Mid(DataToEncode, 1, 1) Select Case LeadingDigit End Select 'Add the check digit to the end of the barcode & remove the leading digit DataToEncode = Mid(DataToEncode, 2, 11) & CheckDigit 'Determine character to print for proper barcoding StringLength = Len(DataToEncode) For I = 1 To StringLength 'Get the ASCII value of each number excluding the first number because 'it is encoded with variable parity CurrentEncoding = Mid(Encoding, I, 1) 'Print different barcodes according to the location of the CurrentChar and CurrentEncoding Select Case CurrentEncoding 'Add in the 1st character along with guard patterns Select Case I Case 1 'For the LeadingDigit, print the human readable character, 'the normal guard pattern, and then the rest of the barcode If LeadingDigit > 4 Then DataToPrint = Chr((LeadingDigit + 48) + 64) & "(" & DataToPrint If LeadingDigit < 5 Then DataToPrint = Chr((LeadingDigit + 48) + 37) & "(" & DataToPrint Case 6 'Print the center guard pattern after the 6th character Case 12 'For the last character , print the the normal guard pattern after the barcode 'Process add-ons if they exist If Len(EAN2AddOn) = 2 Then DataToPrint = DataToPrint & " " & ProcessEAN2AddOn(EAN2AddOn) If Len(EAN5AddOn) = 5 Then DataToPrint = DataToPrint & " " & ProcessEAN5AddOn(EAN5AddOn) [/code]
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- 1С в терминальной сессии на ТСД
- Возможно 1С БП 1.6 не базовая -> 1С БП 2.0 Базовая
- Внешние отчеты СКД в 1с 8.2
- 1C Битрикс с чего лучше всего начать
- УПП "Внутренее совместительство"
- ЗУП: Не попадают Административные отпуска в СЗВ 6-1, рел. 2.5.30.4
- 1С++ Как получить последний документ, которым были движения по регистру
- Печатная форма "Доверенность"
- Документ отражение зарплаты в регламентированном учете
- КД. как конвертировать реквизит составного типа?
- Как в СКД добавить пустую колонку
- ЗУП 8.1 Принятые и уволенные военнообязанные
- Куда 1С сохраняет значение настроек отчетов?
- Настройка бухгалтерских проводок УПП
- v8: Для выполнения отладки необходимо включить поддержку сетевого протокола TCP/IP
- FormEx Цвет Ячеек
- Недоступна кнопка "Настройки" на форме отчета в СКД
- движения сформировались без суммовой оценки по регламентированному учету
- Как в 1с программно очистить буфер обмена Word
- Сохранение настроек интерфейса управляемой формы