|
|
#31 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Нужно смотреть не ibec_re_Create, а по регулярным выражениям в общем. Правила для всех языков одинаковы (за исключением каких-нибудь незначительных изменений). Я и сам не особо в это въезжаю.
|
| В Минюст Цитата Спасибо |
|
|
#32 |
|
Модератор ФССП
![]() Регистрация: 16.01.2009
Адрес: Россия / /
Сообщений: 3,373
Благодарности: 153
Поблагодарили 548
раз(а) в 528 сообщениях
Обратиться по нику Цитата выделенного |
буду тогда вики для начала читать. Мне кажется что в этих регулярных выражениях большая польза может быть при "выуживании" данных из БД....
__________________
Yo Way Yo, Home Va-Ray, Yo Ay-Rah, Jerhume Brunnen-G |
| В Минюст Цитата Спасибо |
|
|
#33 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
если только для не нормализованных
|
| В Минюст Цитата Спасибо |
|
|
#34 |
|
Пользователь
![]() Регистрация: 05.10.2010
Сообщений: 119
Благодарности: 0
Поблагодарили 8
раз(а) в 8 сообщениях
Обратиться по нику Цитата выделенного |
Женя вообще я добавил нужные мне поля и изменил условие. Запрос выполняется но ничего не выходит
Код:
execute ibeblock
returns (npp integer,
summ numeric(15,2)) --тут нужно добавлять столбцы для вывода
as
declare variable text varchar(500);
begin
reSumString = ibec_re_Create('сумма: [0-9]{1,}.[0-9]{2};');
reSum = ibec_re_Create('[0-9]{1,}.[0-9]{2}');
--re = ibec_re_Create('[0-3][0-9]\.[0-1][0-9]\.(19|20)[0-9]{2}');
for select IP.NPP, ip.fio_spi, ip.name_d, ip.sum_, ZAPROS.TEXT --сюда добавлять поля, которые хочешь вывести наружу
from IP
join ZAPROS on IP.PK = ZAPROS.FK_IP
where ZAPROS.RESULT = 5 and --тут нужно добавлять условия (окончено/)
IP.date_ip_out is null and --а вот и твои оконченные
IP.SUM_ is not null and
IP.SUM_ > 50 and
not exists (select * from
document
where ip.pk = document.fk
and document.kod = 10
and document.date_doc + 30 < current_timestamp) and
ZAPROS.DATE_RES = (select max(Z.DATE_RES)
from ZAPROS Z
where ZAPROS.FK_IP = Z.FK_IP
group by Z.FK_IP)
into :npp, :text do begin --не забыть сюда включить переменные на выход (returns вверху)
if (:text is not null) then begin
res = ibec_re_Exec(reSumString, :text); /* ищем вхождения 'сумма: 0.00;' */
while (res) do begin
SumString = ibec_re_Match(reSumString, 0); /* SumString = 'сумма: 0.00;' */
res2 = ibec_re_Exec(reSum, SumString); /* ищем вхождения '0.00' */
sum_as_string = ibec_re_Match(reSum, 0); /* sum_as_string = '0.00' */
Summ = cast(sum_as_string as numeric(15,2)); /* Summ = 0.00 */
if (Summ > 50) then suspend; /* если больше 50 - выводим */
suspend;
res = ibec_re_ExecNext(reSumString);
end
end;
end;
ibec_re_Free(reSumString);
ibec_re_Free(reSum);
end
|
| В Минюст Цитата Спасибо |
|
|
#35 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Чтобы блок выдавал столбцы наружу, они должны быть определены в returns. Дальше в теле блока (as begin ... end) этим переменным должны быть присвоены какие-то значения. В данном случае значения переменным присваиваются в разделе for select ... into, в таком порядке, в каком они идут в запросе for select.
|
| В Минюст Цитата Спасибо |
|
|
#36 |
|
Пользователь
![]() Регистрация: 05.10.2010
Сообщений: 119
Благодарности: 0
Поблагодарили 8
раз(а) в 8 сообщениях
Обратиться по нику Цитата выделенного |
Помогите кто знает как выбрать ИП по которым СПИ не сделал электронные запросы в банки и иные организации, со следующим условием.
1. ИП не оконченно 2. С даты возбуждения прошло больше 5дней (или N-дней) 3. Вид должника физическое лицо. 4. В описи нет электронного запроса (Наверно нет документа с 87 или 762-м кодом, или же как то по другому отфильтровать). У кого нибудь есть мысли? |
| В Минюст Цитата Спасибо |
|
|
#37 |
|
Модератор ФССП
![]() Регистрация: 16.01.2009
Адрес: Россия / /
Сообщений: 3,373
Благодарности: 153
Поблагодарили 548
раз(а) в 528 сообщениях
Обратиться по нику Цитата выделенного |
__________________
Yo Way Yo, Home Va-Ray, Yo Ay-Rah, Jerhume Brunnen-G |
| В Минюст Цитата Спасибо |
|
|
#38 |
|
Модератор ФССП
![]() Регистрация: 16.01.2009
Адрес: Россия / /
Сообщений: 3,373
Благодарности: 153
Поблагодарили 548
раз(а) в 528 сообщениях
Обратиться по нику Цитата выделенного |
так
Код:
select * -- подставишь что надо from ip where ip.DATE_IP_OUT is null -- не окончено and ip.DATE_IP_IN + 5 < current_timestamp -- пять дней от сегоднышней даты and ip.VIDD_TTL containing 'ФИЗИЧЕСКОЕ' -- не совсем правильно но сработает and not exists (select * from document where ip.pk = document.fk and document.kod= '87') -- коды документа, которго не должно быть and not exists (select * from document where ip.pk = document.fk and document.kod= '762') -- коды документа, которго не должно быть
__________________
Yo Way Yo, Home Va-Ray, Yo Ay-Rah, Jerhume Brunnen-G |
| В Минюст Цитата Спасибо |
|
|
#39 |
|
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
(... ip.pk = d.fk and d.kod = 87 or d.kod = 762) аналогично 2 * 87 + 762, а тебе нужно сначала сложить и затем умножить.
|
| В Минюст Цитата Спасибо |
|
|
#40 |
|
Модератор ФССП
![]() Регистрация: 16.01.2009
Адрес: Россия / /
Сообщений: 3,373
Благодарности: 153
Поблагодарили 548
раз(а) в 528 сообщениях
Обратиться по нику Цитата выделенного |
гы... проблемы с формальной логикой у меня были всегда....
__________________
Yo Way Yo, Home Va-Ray, Yo Ay-Rah, Jerhume Brunnen-G |
| В Минюст Цитата Спасибо |
|
|






«Закония» в соц. сетях