Пометка записей

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Пометка записей

Сообщение spark » Пт апр 02, 2021 15:00

Добрый день!

Как вообще без исходников можно вычислить каким способом помечаются записи в интерфейсе и где эта пометка хранится, чтобы получить к ней доступ? Везде разные подходы.

Есть вот, например, интерфейс Z_PAYREP::VIEWREESCOMBO. Это реестры на перечисления в ЗП. Что в нем происходит по инсерту? Где хранится пометка?
Всю голову уже поломал =)
Аватара пользователя
spark
Местный житель
 
Сообщения: 476
Зарегистрирован: Ср окт 19, 2005 13:38
Reputation point: 41

Re: Пометка записей

Сообщение Irina_ » Пт апр 02, 2021 15:26

Здравствуйте.
Я когда-то задала вопрос сотруднику ОТП о хранении пометки в интерфейсах для использования в своих отчетах. Получила ответ, что для части интерфейсов пометка сохраняется в Pick, а для части в маркерах. Выбор бухсчетов сохраняется в маркере и одновременно в табл. PickBuh. Тогда же дал файлик DocPick.txt с описанием ряда интерфейсов и параметрами, где приведены значения Pick.wList.
С маркерами сложнее, без исходника или без уточнения в ОТП трудно узнать имя маркера для интерфейса.
Irina_
Местный житель
 
Сообщения: 504
Зарегистрирован: Вт июл 17, 2012 11:56
Откуда: Республика Беларусь, г.Могилев
Reputation point: 47

Re: Пометка записей

Сообщение Irina_ » Пт апр 02, 2021 15:31

Или здесь viewtopic.php?t=8536 давали совет. Может поможет.
Irina_
Местный житель
 
Сообщения: 504
Зарегистрирован: Вт июл 17, 2012 11:56
Откуда: Республика Беларусь, г.Могилев
Reputation point: 47

Re: Пометка записей

Сообщение spark » Пт апр 02, 2021 15:35

Irina_ писал(а):Или здесь viewtopic.php?t=8536 давали совет. Может поможет.


Спасибо!

Грустно конечно, что нет какой-то в этом вопросе стандартизации.
Аватара пользователя
spark
Местный житель
 
Сообщения: 476
Зарегистрирован: Ср окт 19, 2005 13:38
Reputation point: 41

Re: Пометка записей

Сообщение edward_K » Ср апр 14, 2021 19:36

1. Если есть отдельное поле, то вычислите на нем getifccurrentfieldname. Как правило это будет Picked. В консоле управления можно посмотреть логическую таблицу. В данном случае
Код: Выделить всё
    if(IsValid(tnSBBAN), FoundMarker(MarkVipl, SBBAN.NREC), false)
    (fieldname = Marked),
    if(Marked, 'V', '')
    (fieldname = Mark),
....
    MarkVipl := InitMarker(if((ModeView and vfCanSelect) = vfCanSelect, 'VedRees_Marker',''), 8, 200, 100);

Для маркера где то тут вроде был совет как посмотреть в DSK.
2. Если отдельного поля нет, то скорей всего это будет объект IMarker. Он куда то еще пишет(не искал) и иногда также сохраняет в Pick и/или в Marker.
По исходникам оно конечно проще. Пишите в ОТП с getifccurrentfieldname или здесь.
Кроме маркера еще может использоваться Pick, ForMarks, иногда временные таблицы, может быть и маркер , но со хранением на DSK а в таблицах - есть пара объектов на этот счет.
edward_K
Заслуженный деятель интернет-сообщества
 
Сообщения: 5164
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: SPB galaxy spb
Reputation point: 115


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2