Инструменти за потребители

Инструменти за сайта


spravki_new:datasource:create

Разлики

Тук са показани разликите между избраната и текущата версия на страницата.

Препратка към сравнението на версиите

Both sides previous revisionПредходна версия
Следваща версия
Предходна версия
spravki_new:datasource:create [2014/05/20 12:55] – [ACT$DOC_CLASS_NAME] e.andonovaspravki_new:datasource:create [2025/01/06 09:15] (текуща) – [ACT$DOC_CLASS_NAME] t.lalova
Ред 3: Ред 3:
  
 ===== Служебни параметри на скриптове ===== ===== Служебни параметри на скриптове =====
-Ако източника на данни е IBESCRIPT той може да получи някои специални входни параметри, с които да си осигури достъп до информация идваща от другаде. +Ако източника на данни е IBESCRIPTтой може да получи някои специални входни параметри, с които да си осигури достъп до информация идваща от другаде.  
 + 
 +//Забележка: някои от входните параметри се поддържат и от execute block//
  
 Типичен пример за това е скрипт (2), който се извиква от друг скрипт (1) - скрипт (2) може да има достъп до данните или дори входните параметри на скрипт (1). Друг типичен пример е скрипт, който се извиква от документ - скрипта може да получи данните от документа (и дори да върне променени такива).  Типичен пример за това е скрипт (2), който се извиква от друг скрипт (1) - скрипт (2) може да има достъп до данните или дори входните параметри на скрипт (1). Друг типичен пример е скрипт, който се извиква от документ - скрипта може да получи данните от документа (и дори да върне променени такива). 
Ред 11: Ред 13:
 Първия параметър съдържа път до XML файл, в който се намира списъка с входните филтри на извикващия скрипт (стига да има такъв). Втория съдържа стойностите. Двата параметъра се използва в комбинация. Първия параметър съдържа път до XML файл, в който се намира списъка с входните филтри на извикващия скрипт (стига да има такъв). Втория съдържа стойностите. Двата параметъра се използва в комбинация.
  
-Пример има в [[scripts:howto|how-to секцията]], виж **Изтегляне на информация от филтрите на справка чрез последващ скрипт**.+Пример има в [[kak_da:spravki_scriptove|как да секцията]], виж **Изтегляне на информация от филтрите на справка чрез последващ скрипт**.
  
 ==== __dbResult ==== ==== __dbResult ====
 Съдържа път до XML файл, в който се намират данните на извикващата справка (стига да има такава).  Съдържа път до XML файл, в който се намират данните на извикващата справка (стига да има такава). 
-Пример има в [[scripts:howto|how-to секцията]], виж **Изтегляне на информация от данните на справка чрез последващ скрипт**.+Пример има в [[kak_da:spravki_scriptove|как да секцията]], виж **Изтегляне на информация от данните на справка чрез последващ скрипт**.
  
  
Ред 44: Ред 46:
 Подаване на номера на източника Подаване на номера на източника
  
 +//Забележка: Този параметър се поддържа и от Execute Block. Виж секцията Пример има в [[kak_da:spravki_scriptove|как да секцията]], виж **Изтегляне на преводи на полета от източника**//
 ==== __VIEW_ID ==== ==== __VIEW_ID ====
 подаване на номера на изгледа подаване на номера на изгледа
Ред 75: Ред 78:
 Актуален списък с възможните имена на класове може да се види чрез създаване на елемент в главното меню с цел "Регистрирани в програмата класове" Актуален списък с възможните имена на класове може да се види чрез създаване на елемент в главното меню с цел "Регистрирани в програмата класове"
  
-Списъка може да се види и [[spravki_new:registered_classes|ето тук]]. +Списъка може да се види и [[sluzebni:menuta_parametri:menuta_parametri|ето тук]].  
 + 
 +Има възможност справките да обработват освен **ACT$DOC_ID** и **ACT$DOC_CLASS_NAME** и още **5 нови комплекта от параметри**. \\  
 +Тези 5 комплекта дават възможност за до 5 отделни действия, в зависимост от колоната/колоните, върху които e  дабълкликнато: \\  
 +  * **ACT$DOC_ID1, ACT$DOC_ID2... ACT$DOCID5**  - в тези пет полета се държи кое ИД да се отвори 
 +  * **ACT$DOC_CLASS_NAME1 ... ACT$DOC_CLASS_NAME5** - указва се кой клас да се отвори 
 +  * **ACT$DOC_COLS1... ACT$DOC_COLS5** - в тези полета се държи името на колоната или колоните, за които е действието. Имената на колоните се разделят със точка и запетая ( ; ). 
 + 
 +При дабъл клик върху ред от справка първо се проверява дали колоната, в която се клика не е изредена в ACT$DOC_COLS1 или ACT$DOC_COLS2 или .. и т.н. в ACT$DOC_COLS5. \\  
 +Ако се намери в някоя от тези колони - в първата, в която се намери, например в **ACT$DOC_COLS2** - се отваря **клас ACT$DOC_CLASS_NAME2**, с **ИД - ACT$DOC_ID2**. \\ 
 +Ако не се намери нищо и има дефинирани съществуващите параметри ACT$DOC_ID и ACT$DOC_CLASS_NAME се отваря по стандартния начин.
 ==== ACT$BACKGROUND_COLOR ==== ==== ACT$BACKGROUND_COLOR ====
 Цвят на фона, в RGB, шестнайсетично, примерно #FF0000 (чисто червено),  Цвят на фона, в RGB, шестнайсетично, примерно #FF0000 (чисто червено), 
Ред 113: Ред 126:
  
 //Забележка: Изглежда, че ACT$FONT_COLOR_COLUMNS няма никакъв ефект, ако в нея има само изключения (например Column1=#112233) И не съществува колона ACT$FONT_COLOR.// //Забележка: Изглежда, че ACT$FONT_COLOR_COLUMNS няма никакъв ефект, ако в нея има само изключения (например Column1=#112233) И не съществува колона ACT$FONT_COLOR.//
 +
 +===== Справка, която поставя стойности в дадени редове на документ или създава нови редове в документ =====
 +
 +1. За да може **справка да редактира редове на документ**, в справката трябва да са дефинирани поне 2 вида полета: **"търсещи"** и **"резултатни"**. Търсещите полета определят върху кои редове в документа ще се приложат стойностите на резултатните полета.
 +
 +Търсещите полета трябва да имат име от вида **LOCATE_<име_на_поле>**, където <име_на_поле> е името на поле от документа. Не е задължително да има търсещи полета - ако няма такива, то резултатните полета ще поставят стойностите си във всички редове на документа. Позволено е да съществуват няколко търсещи полета, като в този случай стойностите на резултатните полета се прилагат върху редовете, които отговарят на стойностите на **всички** търсещи полета.
 +
 +Резултатните полета не трябва да имат някакво специално име, всички полета, които не са търсещи, се приемат за резултатни. За всяко резултатно поле - ако в документа съществува поле със същото име, тогава неговата стойност се прилага върху редовете в документа, отговарящи на търсещите полета.
 +
 +Например, за да запишем дадено количество в редовете с даден номер на позиция, трябва справката да има търсещо поле с име LOCATE_ITEM_REF, което съдържа като стойност номера на дадената позиция и резултатно поле с име QTY1, което да съдържа като стойност даденото количество.
 +
 +2. За да може **справка да добавя редове в документ**, трябва в нея да е дефинирано поле с име **NEW_ROW**. Всеки ред от справката, който съдържа стойност за това поле, различна от нула, ще бъде използван за добавяне на нов ред в документа, като стойностите за всяко поле на новия ред се взимат от съответните полета в справката (полетата с еднакви имена).
 +
 +Например, за да добавим нов ред в документ с даден номер на позиция и дадено количество, справката трябва да съдържа: \\
 +- поле NEW_ROW със стойност 1 \\
 +- поле ITEM_REF със стойност номера на дадената позиция \\
 +- поле QTY1 със стойност даденото количество \\
 +
 +3. За да може дадена справка да редактира или добавя редове в документ, трябва връзката към нея в настройките на типа документ да има следните настройки: \\
 +- Показвай модално - да \\
 +- Връщай резултат - да \\
 +- Използвай резултата в - Заглавна част или Детайлна част (избира се къде трябва да се приложи резултата на справката)
 +
 +<box green | **Примери:** >
 +
 +Попълване на количество (избрано от потребителя) и цена без ДДС = 10 в текущо избрания ред на документа: \\
 +''select  \\
 +    cast(:"dbDetail.ID" as DM_REF) LOCATE_ID, \\
 +    cast(:ENTER_QTY1 as DM_FLOAT) R_QTY1, \\
 +    cast(10 as DM_FLOAT) PRICE_WO_VAT_BFR_DISCNT \\
 +from RDB$DATABASE'' </box>
spravki_new/datasource/create.1400590548.txt.gz · Последна промяна: 2018/01/11 15:29 (външна редакция)