Финансы без пpоблем: Пеpеговоpный Пункт II (http://hdru.com/cgi-bin/pp2/YaBB.cgi)
>> ФБП для начинающих >> Прогонка факта в факте, возможно ли это?
(Message started by: Seroga на 10.09.19 в 20:55:14)

Заголовок: Прогонка факта в факте, возможно ли это?
Прислано пользователем Seroga на 10.09.19 в 20:55:14
В общем-то вопрос сформулирован в теме ....
В двух словах поясню.
1 вариант. Прогоняем (первая прогонка) факт 1 (32 поля), у события в факте 11 признаков, в каком из 11 полей факта будет найден нужный нам признак не известно, .....  находим нужный факт, забираем из него нужные данные и уходим на вторую прогонку того же факта 1, например по call, после суммирования и нахождения нужных данных в фактах второй прогонки, уже только с нужными нам фактами работаем, выносим их на экран/печать и по return возвращаемся в тело первой прогонки факта 1, ищем следующий подходящий ... и так до конца ленты фактов.
2 вариант. В первой прогонке факт 1 можно заменить на факт 2, т.е. прогонять два разных факта, суть та же самая.
Вывести на экран получается только данные одной сделки, первой ...., а хотелось бы большего.
Возможно как-либо реализовать написанное выше?

Заголовок: Re: Прогонка факта в факте, возможно ли это?
Прислано пользователем Svetlana на 11.09.19 в 08:50:50
Seroga, так покажите КАК вы уже сделали и что именно не получилось?

Заголовок: Re: Прогонка факта в факте, возможно ли это?
Прислано пользователем Seroga на 11.09.19 в 14:48:50
В "вопросе" описан механизм, посредством которого желательно получить определенный результат. Вопрос, в принципе, этот механизм позволит получить желаемый результат или нет. Ответ - да или нет. Если да, то все ошибки, не позволяющие получить результат, это проблемы пользователя … и все, … это уже дело техники пользователя.
select Факт1 ……
sort buffer 4
rewind buffer
:ff_1
search Факт1 ……
if [success]=1
Проверка по признаку ….
Нашли номер нужного договора - №.
Call 2
Goto ff_1
Endif
:2
rewind facts
:ff_2
search Факт1 … № …..
if [success]=1
Собираем из всех строк фактов данные по определенному номеру договора, … выносим в строчку, в отчет.
Return  .... идем, т.е. возвращаемся, искать следующий номер договора удовлетворяющий признакам
Goto ff_2
Endif

Заголовок: Re: Прогонка факта в факте, возможно ли это?
Прислано пользователем box_vma на 11.09.19 в 16:05:01
Добрый день!

Если правильно понял задачу, может как-то так:

arrаy %
rewind facts
:label1
search {1,'НужныйФакт1'}
if [success]=1
   id=[fact_f N1]   уникальный идентификатор факта, N1 - порядковый номер поля факта
   lb=[fact_f N2]   метка, соответствующая факту
   [set %,id,lb]    сохраним
   goto label1
endif
:label2
search {1,'НужныйФакт2'}
if [success]=1
   id=[fact_f N1]   уникальный идентификатор факта, N1 - порядковый номер поля факта
   lb=[get %,id]    метка, соответствующая факту
   if      lb=1
     Действие при lb=1
   elseif  lb=2
     Действие при lb=2
   ...
   elseif  lb=N
     Действие при lb=N
   endif
   goto label2
endif

Меток факта может быть несколько, во второй части формы они могут быть обработаны в комплексе.

Либо, можно в файле-коэффициенте, в котором сохраняется факт, записать уточняющие экстра-параметры, которые затем анализировать при обработке ленты фактов.




Powered by YaBB 1 Gold - SP 1.3.2!
Forum software copyright й 2000-2004 Yet another Bulletin Board