Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Система ИРБИС в целом :  ИРБИС Irbis
 
Почему-то некорректно работает формат
Пользователь: artgonch (IP-адрес скрыт)
Дата: 18, November, 2008 08:05

Здравствуйте.
Хочу написать формат, который бы присваивал последовательные номера штрих-кодам (аналогично тому, как это делает &unifor('Z') для инвентарей). Написал вот что:
&unifor('S0'), if p(v910) then (if p(v910) then f(val(v910^h)+val(&unifor('SA')),0,0), &unifor('S1') fi/) fi

Но последний юнифор отказывается увеличивать счетчик.


Что о я неправильно сделал?



Редактировано 1 раз. Последний раз 18.11.2008 08:05 пользователем artgonch.

Re: Почему-то некорректно работает формат
Пользователь: Kairat (IP-адрес скрыт)
Дата: 20, November, 2008 08:22

Нет, счетчик работает. Проверить можно, подставив вместо 'S1' 'S1A' - увеличение с выводом. Это функция F() не может обработать штрих-код как целое число:
Цитата:
Если при преобразовании целых чисел и чисел с фиксированной точкой оказывается, что целая часть числа слишком большая для ее представления, то выходная строка заменяется последовательностью символов "*".

Но с параметрами 0,0 она не выводит ни одной звездочки, хотя должна бы вернуть шестнадцать.
А с параметрами 0,1 функция работает. Ненужную дробную часть можно убрать так:

&unifor('S0'), if p(v910) then (if p(v910) then &unifor('G0.',f(val(v910^h)+val(&unifor('SA')),0,1)), &unifor('S1') fi/) fi

Только этот код будет правильно наращивать значение штрихкода, если во всех повторениях поля 910 изначально указан один и тот же штрихкод.

Re: Почему-то некорректно работает формат
Пользователь: Kairat (IP-адрес скрыт)
Дата: 20, November, 2008 12:21

Вообще-то, начиная с версии 2007.1, &unifor('Z') размножает и штрих-коды:
Цитата:
6 «Размножение» штрих-кодов (ШК) для экземпляров со статусом R (ранее было только для инвентарных номеров)
6.1 Размножение, как и для инв. номеров, состоит в создании новых повторений поля 910, число которых задано, как и ранее, в подполе Инв. номера (910^b), после которого ставится «/» и начальное значение для инв. номера; начальное значение штрих-кода указывается в подполе 910^H
6.2 В каждое из новых повторений, вводятся инв. номера и/или ШК, увеличивающиеся на 1 в последнем (правом) разряде
6.3 Если введены начальные значения инв. номера и штрих-кода, размножаются оба;
6.4 Если введен только штрих-код, в размноженные поля вводятся только ШК
6.5 Если ШК не введен, то в размноженные поля вводятся только инв. номера
6.6 Если начальный номер не указан, то размножение инв. номеров начинается с 1
6.7 При одновременном вводе нескольких повторений поля 910 со статусом R, инв. номера и/или ШК присваиваются с продолжением

Re: Почему-то некорректно работает формат
Пользователь: artgonch (IP-адрес скрыт)
Дата: 14, January, 2009 12:32

Kairat написал(а):
-------------------------------------------------------
> Вообще-то, начиная с версии 2007.1, &unifor('Z')
> размножает и штрих-коды:

Не работает.
Ввожу в подполе A статус R.
_______________ H - 3/000123

Нажимаю Сохранить. Программа только менякт в первом повторении статус R на 0. Но больше ничего не делает.

Re: Почему-то некорректно работает формат
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 14, January, 2009 13:18

Не забыли заполнить 910^B ?
^AR^B3/^H000123



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.