Получение значений допреквизитов

Больше
16 июнь 2012 12:27 #1 от shumamura
COM_KUNENA_MESSAGE_CREATED_NEW
Добрый день!
Желаю вашему сайту роста, продвижения и минимум миллион активных пользователей :) Рад что еще один хороший сайт появился по Бисквиту и Прогрессу.

у меня вопрос один.
надо получить значение КПП у всех юрлиц. он описан в таблице cust-role но его почему-то нет там... я так полагаю, его надо искать через каласс tt-cust-corp и поле kpp$ через функцию GetXattrValue. напишите пожалйста описание этой функции через конкретные примеры (что-то не смог найти его описание), и как его вызывать и надо ли что-то подключать, а то progress editor не понимает его...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
16 июнь 2012 16:33 #2 от admin
COM_KUNENA_MESSAGE_REPLIED_NEW
И Вам добрый день shumamura!

Спасибо Вам за пожелания. Надеюсь, что труды будут не напрасными и будет востребован.

Вот как раз готовлю небольшую статейку по базовым функция к каким и относится GetXAttrValue. Думаю на следующей недели она будет опублекована здесь. а пока по Вашему вопросу:

GetXAttrValue("in-FileName", "in-Surr", "in-Code").

Входные данные:

in-FileName – имя таблицы объекта (пример: person, cust-corp,acct);

in-Surr – чей доп. Реквизит (например, для счета – это номер счета, для клиентов – номер клиента);

in-Code – имя доп. реквизит.

Все входные параметры char типа.

В Вашем случае пример:

{bislogin.i} /* Это если выполняете через Editor. если же создадите меню в бисквите для запуска вашей процедуры и запускать будете ее, то в ней это указывать не нужно */
{globals.i} /* там и запрятана как яйцо в утке, игла в яйце интересующая Вас функция GetXAttrValue */

Display GetXAttrValue("cust-corp", "1641", "КПП") format "x(10)". /* вернет Вам КПП Юр лица с кодом 1641 */

Будут вопорсы пишите :)
Спасибо сказали: shumamura

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Igor.T
  • Посетитель
  • Посетитель
21 авг 2013 14:48 #3 от Igor.T
COM_KUNENA_MESSAGE_REPLIED_NEW
доброго времени!

пробую воспользоваться функцией из данной темы, ну например так:
{globals.i}
display getxattrvalue("cust-corp", string(1455), "УНК").

получаю в ответ такое дело:

Ошибка: "Could not locate external function 'GetXAttrValue'. The handle to the procedure context is invalid. (2777)"

подскажите (поясните) что не так, пожалуйста... только начинаю осваивать продукт :(

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
22 авг 2013 08:55 #4 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Уверен что Вы это делаете из Editor'а, а не из самого Бисквита. Тем самым у Вас нет полного окружения. У Вас два пути:
1. Создать .p и запускать ее ну допустим по Ctrl+E когда Вы залогинились в БИС или создать в БИСе меню на нее.
2. Если уж прям так хочется из Editor'а, до добавьте еще инклюдник {bislogin.i}

{globals.i}
{bislogin.i}
display getxattrvalue("cust-corp", string(1455), "УНК").

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Igor.T
  • Посетитель
  • Посетитель
22 авг 2013 09:17 #5 от Igor.T
COM_KUNENA_MESSAGE_REPLIED_NEW
Да, действительно дело было в использовании Editor'а - {bislogin.i}...

Спасибо, добрый человек!

P.S.: чувствую не один еще вопрос возникнет... :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
14 авг 2014 15:41 #6 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
приветствую всех. вопрос такой - если ли какие-нибудь встроенные функции которые значение выражения типа char вот такое ''14/08/2014" превращают в значение переменной типа date? замораживаться в программировании такой ф-ции особо не хочется
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
15 авг 2014 13:52 - 15 авг 2014 13:53 #7 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
 /*****************************************************************************
 * Функция StrToDate - преобразования строки в дату                           *
 * Формат указывается в виде:                                                 *
 *    YYYY или YY - для указания года;                                        *
 *    MM - для указания месяца;                                               *
 *    DD - для указания дня.                                                  *
 * Пример:                                                                    *
 * StrToDate("2011-02-10,"YYYY-MM-DD").                                       *
 * Результат: 02/10/11                                                        *
 *****************************************************************************/

FUNCTION StrToDate RETURNS DATE (iStr AS CHAR, iFormat AS CHAR).

DEF VAR i      AS INTEGER  NO-UNDO.
DEF VAR vDay   AS CHAR     NO-UNDO.
DEF VAR vMonth AS CHAR     NO-UNDO.
DEF VAR vYear  AS CHAR     NO-UNDO.
DEF VAR vF     AS CHAR     NO-UNDO.
DEF VAR vS     AS CHAR     NO-UNDO.
DEF VAR sRes   AS CHAR     NO-UNDO.
DEF VAR oRes   AS DATE     NO-UNDO.

ASSIGN
   vF      = ""
   vS      = ""
   sRes    = ""
.

IF length(iStr) = length(iFormat) THEN DO:

   DO i = 1 TO LENGTH(iFormat):
   
      vF = SUBSTR(iFormat,i,1).
      vS = SUBSTR(iStr,i,1).
   
      IF vF = "D" THEN vDay   = vDay   + vS.
      IF vF = "M" THEN vMonth = vMonth + vS.
      IF vF = "Y" THEN vYear  = vYear  + vS.

   END.


   DO i = 1 TO 3:
      IF SUBSTR(SESSION:DATE-FORMAT,i,1) = "D" THEN sRes = sRes + vDay.
      IF SUBSTR(SESSION:DATE-FORMAT,i,1) = "M" THEN sRes = sRes + vMonth.
      IF SUBSTR(SESSION:DATE-FORMAT,i,1) = "Y" THEN sRes = sRes + vYear.
   END.

END.

oRes = DATE(sRes) NO-ERROR.

RETURN oRes.

END FUNCTION.
Last edit: 15 авг 2014 13:53 by alex_sar.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
15 авг 2014 13:54 - 15 авг 2014 13:54 #8 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Еще просьба, пишите по темам. Ваш вопрос не относится к теме "Получение значений допреквизитов"
Last edit: 15 авг 2014 13:54 by alex_sar.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 авг 2014 16:02 #9 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
справедливое замечание, учтем на будущее
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.202 секунд