Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Общие вопросы Ирбис64 :  ИРБИС Irbis
 
помогите с глобальной корректировкой
Пользователь: DABerezin (IP-адрес скрыт)
Дата: 23, June, 2011 08:41

при переносе данных в ИРБИС, инвенать импортнулся в добавочное поле 852: ^bАб40^t40^h66.0^iП50^p75588^p75589^p75590^p75591^p75592^p75593^p75594^p75595^p75596^p75597^p75598^p75599^p75600^p75601^p75602^p75603^p75604^p75605^p75606^p75607^p75608^p75609^p75610^p75611^p75612^p75613^p75614^p75615^p75616^p75617^p75618^p75619^p75620^p75621^p75622^p75623^p75624^p75625^p75626^p75627
помогите написать глобальную корректировку по добавление всего инвентрая в поле 910, чтоб у всех повторение 910^A='0',910^B=v852^p,910^D=v852^b,

Re: помогите с глобальной корректировкой
Пользователь: DABerezin (IP-адрес скрыт)
Дата: 23, June, 2011 09:14

допер ток до этого:
ADD
910^B
*
v852^p
а вот как вставить все повторния v852^p в новые повторения 910^B?
и как в эти новые повторния 910^B вставить не только v852^p, но и постоянное значение из v852^b?

Re: помогите с глобальной корректировкой
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 23, June, 2011 11:23

ADD 111 (&unifor('1*L^p?v852#1')/)
ADD 910 (if p(v111) then '^A0',|^B|v111,'^D'&uf('Av852^b#1') fi/)
DEL 111 *

Re: помогите с глобальной корректировкой
Пользователь: DABerezin (IP-адрес скрыт)
Дата: 27, June, 2011 13:37

УРАА. То что нужно, большое спасибо, Светлана Михайловна.

P.S. сам бы врятли сделал такое. Так и не разобрался во всех действиях написанных Вами.

Re: помогите с глобальной корректировкой
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 27, June, 2011 15:09

Посмотрите форматы строк в Генераторе форматов.
Увидите, что
(&unifor('1*L^p?v852#1')/) возвращает 852^p разделенными на отдельные повторения (в глобальной - это поля 111), а
(if p(v111) then '^A0',|^B|v111,'^D'&uf('Av852^b#1') fi/) для каждого поля 111 формирует поле 910, в которое дополнительно вводит '^A0' и единственное значение 852^b

Re: помогите с глобальной корректировкой
Пользователь: DABerezin (IP-адрес скрыт)
Дата: 04, July, 2011 08:45

более менее понятно. спасибо.
подскажите пожалуйста: пытаюсь добавить проверку перед добавлением очередного повторения поля 910 на наличие там добавляемого инвентарного номера. Дописал строчку, но проверка не происходит по прежнему. Подскажите плиз что не так:
(if p(v111) then if v910^B='v111^B' then # else '^A0',|^B|v111,'^D'&uf('Av852^b#1') fi fi/)

Re: помогите с глобальной корректировкой
Пользователь: Дунаевская (IP-адрес скрыт)
Дата: 05, July, 2011 13:23

DABerezin написал(а):
-------------------------------------------------------
> более менее понятно. спасибо.
> подскажите пожалуйста: пытаюсь добавить проверку
> перед добавлением очередного повторения поля 910
> на наличие там добавляемого инвентарного номера.
> Дописал строчку, но проверка не происходит по
> прежнему. Подскажите плиз что не так:
> (if p(v111) then if v910^B='v111^B' then # else
> '^A0',|^B|v111,'^D'&uf('Av852^b#1') fi fi/)

Мне непонятно, зачем нужна такая проверка - вероятно, у Вас в записи есть и поле 852, и 910?
Если это так, то Ваше добавление некорректно, поскольку оба поля - 111 и 910 - повторяющиеся и в Вашем варианте сравниваются их соответствующие повторения.
Попробуйте написать так
ADD 910 &uf('+7W910#'v910^b|+|),(if p(v111) then if &uf('Ag910#1'):v111 then else v111 fi fi/)

Re: помогите с глобальной корректировкой
Пользователь: Tamara (IP-адрес скрыт)
Дата: 11, February, 2013 14:11

Подскажите, пожалуйста , можно ли с помощью NEWMFN создать заданное колличество записей(365), с одним полем( 60- Дата записи),в значениях которого будут идти последовательно все даты (ГГгГММДД) этого года????



Редактировано 1 раз. Последний раз 11.02.2013 14:27 пользователем Tamara.

Re: помогите с глобальной корректировкой
Пользователь: ochagova (IP-адрес скрыт)
Дата: 12, February, 2013 12:17

Общая схема:

// счетчик в G1
ADD
111

&uf('+7W1#365')

// начальное значение ГГГГММДД в G2
ADD
111

&uf('+7W2#',&uf('+30'),'0101')

REPEAT
NEWMFN
'*
ADD
60

&uf('+7W#',,f(val(G1)-1,0,0) )

ADD
60

???????????????? - нетривиальная задача движения даты

UNTIL
if val(G1)>1 then '1' fi

Re: помогите с глобальной корректировкой
Пользователь: Tamara (IP-адрес скрыт)
Дата: 12, February, 2013 14:52

Спасибо большое, что ответили. Если я Вас правильно поняла,в "фиктивном"
поле 111 создается 365 строк,а в эти строки --заносятся значения
&uf('+7W2#',&uf('+30'),'0101') --- (расшифровую по талмуду -
вижу создание массива от 2 и до 20130101-
а мне ведь надо 20130101 -20131231в чем я не права???).
Ещё не понятен этот шаг-
ADD
60
&uf('+7W#',,f(val(G1)-1,0,0) )- ,как и последующие
ADD
60
без значения поля. я попробовала в глобалке Вашу версию- он выдал мне ошибку 8888....



Редактировано 2 раз. Последний раз 14.02.2013 10:29 пользователем Tamara.

Вложения: создание записей.gbl (652 bytes)  
Re: помогите с глобальной корректировкой
Пользователь: ochagova (IP-адрес скрыт)
Дата: 14, February, 2013 10:00

Ошиблась в &uf('30') - берет цифры года
Ошиблась - не задала оператор END
Ваше задание я подправила. Но главное - как увеличивать дату с учетом месяцев? С этим надо повозиться, но времени на это нет. Вы уж сами.

Вложения: создание записей.gbl (879 bytes)  
Re: помогите с глобальной корректировкой
Пользователь: Tamara (IP-адрес скрыт)
Дата: 14, February, 2013 11:09

Большое Спасибо-всё получилось!!
Сделать такое для каждого месяца- дело техники...

Gena, здесь папка Datai\Reg



Редактировано 1 раз. Последний раз 15.02.2013 11:47 пользователем Tamara.

Вложения: REG.rar (7KB)  
Re: помогите с глобальной корректировкой
Пользователь: tatyana141 (IP-адрес скрыт)
Дата: 26, November, 2013 07:15

Добрый день!Вводим штрихкодирование, ИРБИС-64 2012.1 Помогите написать глобальную корректировку на добавление штрих-кодов в поле 910 к введенным экземплярам книг. У нас инвентарный учет. Пока вводим вручную и распечатываем.



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