Страница 1 из 1

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

Добавлено: 02 апр 2021, 14:00
spark
Добрый день!

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

Есть вот, например, интерфейс Z_PAYREP::VIEWREESCOMBO. Это реестры на перечисления в ЗП. Что в нем происходит по инсерту? Где хранится пометка?
Всю голову уже поломал =)

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

Добавлено: 02 апр 2021, 14:26
Irina_
Здравствуйте.
Я когда-то задала вопрос сотруднику ОТП о хранении пометки в интерфейсах для использования в своих отчетах. Получила ответ, что для части интерфейсов пометка сохраняется в Pick, а для части в маркерах. Выбор бухсчетов сохраняется в маркере и одновременно в табл. PickBuh. Тогда же дал файлик DocPick.txt с описанием ряда интерфейсов и параметрами, где приведены значения Pick.wList.
С маркерами сложнее, без исходника или без уточнения в ОТП трудно узнать имя маркера для интерфейса.

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

Добавлено: 02 апр 2021, 14:31
Irina_
Или здесь viewtopic.php?t=8536 давали совет. Может поможет.

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

Добавлено: 02 апр 2021, 14:35
spark
Irina_ писал(а):Или здесь viewtopic.php?t=8536 давали совет. Может поможет.
Спасибо!

Грустно конечно, что нет какой-то в этом вопросе стандартизации.

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

Добавлено: 14 апр 2021, 18:36
edward_K
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 а в таблицах - есть пара объектов на этот счет.