Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Комплектатор :  ИРБИС Irbis
 
Разделы знаний и пополнение записи КСУ (поступление)
Пользователь: Pavel (IP-адрес скрыт)
Дата: 02, December, 2013 12:20

Здравствуйте.
Есть у меня такая задача. Необходимо в базе данных комплектования (CMPL) поле 60 (раздел знаний) сделать повторяющимся и добавить новый раздел знаний Кр (Краеведение). Делается для того, что экземпляр может быть художественным и в том числе краеведение и чтобы была возможность выбрать сразу два раздела.

Далее в комплектаторе по номеру КСУ (поступление) должен осуществляться подсчёт по всем выбранным разделам.

Я добавил в rzn.mnu необходимый раздел знаний. В файлы 151.wss, 47.wss дописал необходимый раздел. В ksuw.pft добавил строки:
'\par в том числе КР (',&unifor('Krzn.mnu|Кр'),'): ' if p(v151^L) then v151^L else '0' fi,
и
'\par в том числе КР (',&unifor('Krzn.mnu|Кр'),'): ' if p(v47^L) then v47^L else '0' fi,

В Rksu.fst добавил строки:

151^L 21 if (v920:'NJ' or v920:'Spec' and p(v933))and ref(l("I="v933),v60):'Кр'OR v920<>'NJ'and v60:'Кр'then(if p(v910)then if v910^u='v991' then v910^1,|1|n910^1 fi fi/)fi/
и
47^L 21 if v60:'Кр'then f(rsum((if p(v910)then if v910^u='v991' then if'2 6 7':v910^a then else v910^1|;|,|1;|n910^1 fi fi fi)),0,0)fi/

В файле StatKsuSum.gbl изменил строки:

ADD
1001

'^0',f((rsum(v151^0|,|)),0,0),'^1',f((rsum(v151^1|,|)),0,0),'^2',f((rsum

(v151^2|,|)),0,0),'^3',f((rsum(v151^3|,|)),0,0),'^4',f((rsum(v151^4|,|)),0,0),'^5',f((rsum(v151^5|,|)),0,0),'^6',f((rsum(v151^6|,|)),0,0),'^7',f((rsum(v151^7|,|)),0,0),'^8',f((rsum(v151^8|,|)),0,0),'^9',f((rsum(v151^9|,|)),0,0),'^A',f((rsum(v151^A|,|)),0,0),'^B',f((rsum(v151^B|,|)),0,0),'^C',f((rsum(v151^C|,|)),0,0),'^D',f((rsum(v151^D|,|)),0,0),'^E',f((rsum(v151^E|,|)),0,0),'^L',f((rsum(v151^L|,|)),0,0),'^x',f((rsum(v151^x|,|)),0,0),


1001

'^1',f((rsum(v47^1|,|)),0,0),'^2',f((rsum(v47^2|,|)),0,0),'^3',f((rsum(v47^3|,|)),0,0),'^4',f((rsum(v47^4|,|)),0,0),'^5',f((rsum(v47^5|,|)),0,0),'^6',f((rsum(v47^6|,|)),0,0),'^7',f((rsum(v47^7|,|)),0,0),'^8',f((rsum(v47^8|,|)),0,0),'^9',f((rsum(v47^9|,|)),0,0),'^A',f((rsum(v47^A|,|)),0,0),'^B',f((rsum(v47^B|,|)),0,0),'^C',f((rsum(v47^C|,|)),0,0),'^D',f((rsum(v47^D|,|)),0,0),'^E',f((rsum(v47^E|,|)),0,0),'^F',f((rsum(v47^F|,|)),0,0),'^L',f((rsum(v47^L|,|)),0,0),'^x',f((rsum(v47^x|,|)),0,0),

После внесённых изменений подсчёт ведётся, но неверно. Если выбрано два раздела знания, например 16 и Кр, то раздел знаний 16 не считается, а считается только Кр. А надо чтобы считало оба.

Поскажите что нужно исправить, чтобы считала по всем выбранным разделам знаний.

Прилагаю изменённые файлы и скриншоты.

Вложения: Изменённые файлы.7z (10KB)   Разделы знаний.jpg (658.6KB)   Разделы знаний 2.jpg (586KB)  


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