Как достать поле (Р) из интерфейса СФ и вывести в отчет

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

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

Ответить
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Как достать поле (Р) из интерфейса СФ и вывести в отчет

Сообщение scanner »

Если зайти в любую счет-фактуру, то внизу выдается информация о платежах. Мне нужно достать значение поля в колонке, обозначенной буквой "Р".

Если смотреть конфигуратором, то оно должно назаваться bookprzk.izrazn, но такого поля в данной таблице нет.
Данное значение м.б. "С" - сторно то есть ссылка на другу запись в этой таблице;, "V" - разнесённый платёж на который и идёт ссылка; и "" - если платеж сделан ручками.

Подскажите как его добавить в отчет построенный на основе счет-фактуры (прототип 'Schfrees').
DarkAngel27
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение DarkAngel27 »

Это вычисляемое поле... Оно проверяет по isValid ссылку на таблицу и в зависимости от этого ставит значёк.
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Код: Выделить всё

  if (isValid(tnSpSophoz),'√', if(BookPrZk.cBookPrZk<>0,'С','') ) (filedname = IsRazn)
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

Откуда берется поле

Код: Выделить всё

tnSpSophoz
?

Если не секрет, Max_Fin, подскажите каким образом получено данное решение, чтобы в подобных случаях не возникали такие вопросы? (желательно по полочкам :))
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

tnSoprHoz - это тоже самое что и #SoprHoz -
tn (table number) - номер таблицы

а ту строчку я немного видоизменив выдернул из исходников Галки :)
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

каким образом сделать проверку

Код: Выделить всё

isValid(tnSpSophoz)
моло того, что компилятор ругается на isValid, дак и поля такого нет tnSpSophoz.

Каким образом связать soprhoz и bookprzk.
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

Код: Выделить всё

BookPrZk.nrec == SpSopHoz.cBookPrZk
а функция стандарная
8.2.15. Функция IsValid : Boolean
Назначение
Проверка на существование записи в логической таблице. Доступны константы с идентификаторами, состоящими из префикса "tn" и имени физической таблицы.
Описание
function IsValid (TableN : Integer) : Boolean;
Параметры
TableN : Integer - номер таблицы, для которой проверяется валидность.
Возвращаемое значение
Логическая "истина", если таблица валидна, то есть, если в ней есть текущая позиция или была вызвана функция MakeValid для данного узла.
Замечание
Доступны константы, равные номеру узла, идентификатором которых является идентификатор таблицы узла с префиксом "tn".
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

Интересно, но компилятор в Галактике 5.85.02 ругается на isValiv(...).

Вышел из положения по другому (...=0).
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Сообщение Max_Fin »

IsValid
scanner
Постоянный обитатель
Сообщения: 192
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Кемерово, ОАО "Мелькорм"
Контактная информация:

Сообщение scanner »

Сорри ошибся, но все равно ругается. :(
Ответить