Разделы знаний и пополнение записи КСУ (поступление)
Пользователь:
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)