Виктор Каракай писал(а):
Шаблон DMF:
Помогите, пожалуйста, понять. Может где на форуме ссылка или формула с пояснением. Из того, что нашел ничего не помогло до конца понять. Не пойму как написать формулу и куда ее потом вставить (в какое место) для автоматического заполнения дескриптора с больше чем одним параметром, например, дескриптор AU. Подразумевается, что автоматическое заполнение опирается на заполненный дескриптор DS и файлы в папке Lists. Спасибо.
Автоматическое заполнение составных параметров (один из вариантов на примере дескриптора AU):
В менеджере параметров выделите параметр AU, в маске находиться строка что-то вроде
#3=804,#5=-,*=Вінницька,*=Козятинський,*=смт.Глухівці,*=-,*=-,*=-,*=-@Код країни|Поштовий індекс|Область|Район|Нас. пункт|Тип та назва проїзду|Номер будинку|Номер корпуса|Номер квартириДо символа @ находиться описания формата полей составного параметра разделенные запятыми.
После символа @ находяться названия полей составного параметра разделенные символом
|В формате поля параметра может быть задано наполнение (* - буквы, # - цифры), длина в символах, значение по умолчанию (если составной параметр пустой , то при вызове окна редактирования составных параметров соответсвующие поля заполняються значениями по умолчанию, если параметр уже содержит какие-то данные, то значение по умолчанию игнорируються). Пример:
#3=804 означает что поле параметра должно состоят из трех цифр, значение по умолчанию 804
*=Вінницька означает что поле параметра должно состоять из букыфф, значение по умолчанию "Вінницька"
*2=РС означает что поле параметра должно состоять из 2 букыфф, значение по умолчанию "РС"
##.##.####=DATE[/i] означает что поле параметра должно содержать дату в формате принятом в ин4, значение
по умолчанию текущая дата
*=FIL(Setup.ini;DMTНазва(Область)) означает что поле параметра должно состоять из букыфф, значение по умолчанию
значение возвращаемое выражением, в данном случае возвращается значение текстовой
константы DMTНазва(Область) из файла Setup.ini. Возвращаемое значение в свою очередь
также может содержать функции.
Ввиду того что запятые используются в маске для разделения полей параметра, необходимо заменять запятые в функциях используемых в значениях по умолчанию на точку с запятой
; Для использования пробела в значениях по умолчанию необходимо пользоваться символом
_ аналогично тому как это делается в названиях вычисляемых параметров (напомню пробелом там отделяется формула от названия)
В названиях полей составных параметров можно указать (двоеточие после имени поля) текстовые файлы справочников, например:
...@Код країни:KDS.txt|Поштовий індекс:Indexes.txt|....
соответственно двоеточие нельзя использовать в названиях полей
Пример возможного заполнения
#3=804,#5=-,*=SEF(Cut(1,2,P[ID106]),Regions.txt),*=SEF(Cut(1,5,P[ID106]),Rayons.txt),*=SEF(Cut(1,10,P[ID106]),RadaAndNP.txt),
*=-,*=-,*=-,*=-@Код країни:KDS.txt|Поштовий індекс:Indexes.txt|Область|Район|Нас. пункт|Тип та назва проїзду|Номер будинку|Номер корпуса|Номер квартиригде P[ID106] =Parent[DS]:Parent[SD]:Parent[BC]:CUT(4,4,P[SC])
Regions.txt
Код:
Код Назва*
01 Автономна Республіка Крим
05 Вінницька область
07 Волинська область
12 Дніпропетровська область
.....
Rayons.txt
Код:
Код Назва*
....
01247 Сімферопольський район
01252 Совєтський район
01256 Чорноморський район
05202 Барський район
05204 Бершадський район
....
RadaAndNP.txt
Код:
Код Назва*
....
1221884300 Надеждівська сільська рада
1221884301 с. Надеждівка
1221884302 с. Братсько-Семенівка
1221884303 с. Маяк
1221884305 с-ще Пичугине
1221884500 Недайводська сільська рада
1221884501 с. Недайвода
1221884502 с. Зоря
1221884503 с. Тернуватка
....