Дата помещения в картотеку (+)

0 (0)
  • Развернуть Дата помещения в картотеку (+) ( Митрошка  06.05.2003 18:44 )
    5(1)
    Подскажите как при проводке документа из картотеки 2 получить дату помещения документа в картотеку. Знаю, что в макросе Index2.mac есть процедура ПроверитьДокумент, но в нее передается структура типа document. Было предположение, что поля iApplicationKind и ApplicationKey этого документа и документа в картотеке одинаковы, оказалось нет. Ключи в файле index2 связаны со счетом плательщика и если в картотеке по данному счету было несколько документов с одинаковыми суммами, датами и реквизитами получателя, то как определить к какому из них относится балансовый документ.

    Заранее спасибо за ответы, Алексей.
    >> Ответить
    • Развернуть к сожалению... ( dd  06.05.2003 19:54 )
      5(1)
      картотечный документ привязан по ApplicationKey только к документу постановки в картотеку (во внебалансе 90902). Документы списания имеют свои AppKey, и никак не связаны с документом картотеки. При полном списании картотеки запись о картотечном документе удаляется, что не даёт возможности восстановить полную историю в разрезе картотечных документов. По балансовым или внебалансовым документам эту историю, к сожалению, не восстановить... Ну а выкручивается тут каждый, как может или хочет :))
      Можно, например, на макросы, которые работают при постановке и списании с картотеки (index2.mac, хотя в реальности - не всё так просто, т.к. эти макросы вызываются не всегда, а только при ручном вводе картотечного документа), навесить свои обработчики, которые будут эти идентификаторы проставлять в UserField-ы... Сразу пердупреждаю, что задача сия - не очень проста, так что успехов!
      >> Ответить
    • Развернуть Можно так (+) ( григ  07.05.2003 07:59 )
      5(1)
      Для index2.mac:
      file ind2 (index2) key 3;
      
      macro lgGetDoc()
       oper=СтарыйДокумент.Oper;
       ind2.Oper=oper;
       account_payer=СтарыйДокумент.Account_Payer;
       ind2.Account_Payer=account_payer;
       payment=СтарыйДокумент.Payment;
       ind2.Payment=payment;
       ind2.Date_Place=date(0,0,0);
       cont=GetGE(ind2);
       while(cont and (ind2.Oper==oper) and (ind2.Account_Payer==account_payer) and (ind2.Payment==payment))
        cont1=true; i=0; find=true; len=fldnumber(СтарыйДокумент);
        while(cont1)
         val=valtype(ind2(i+9));
         if(val!=V_TIME)
          if(ind2(i+9)!=СтарыйДокумент(i)) cont1=false; find=false; end;
         end;
         i=i+1;
         if(i>=len) cont1=false; end;
        end;
      
        if(find)
         ...
        end;
      end;
      

      >> Ответить
    • Развернуть Новое поле в структуре (+) ( Машкова Юлия  07.05.2003 10:04 )
      5(1)
      В новой сборке 5.00.073.3 в структуры документов будет добавлено новое поле Date_Enter - дата помещения в картотеку, которая будет передаваться из картотечного документа (полное описание изменений в структуре см. новость Изменения в структуре файлов документов RS-Bank 5.00).

      С уважением,
      Машкова Юлия, отдел поддержки.
      >> Ответить
      • Развернуть предложение... ( dd  07.05.2003 14:41 )
        5(1)
        было бы шоколадно, если бы все документы, относящиеся к картотечному, связывались на уровне ядра системы...
        чтобы велся архив картотечных документов...
        чтобы по конкретному картотечному документу можно было увидеть всю историю (внебалансовый документ постановки, балансовые и внебалансовые документы списания)...
        вообщем, что-то типа списка сделок...
        >> Ответить