• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Use Formula For Choices

  • Автор темы wowa
  • Дата начала
W

wowa

Добрый день,

Подскажите, плз, такой вопрос...

На форме есть поле типа Dialog List.
В поле я использую "Use formula for choices"
Краткий Код:

Код:
CountryName + "|" + CountryNumber

Т.е. пользователь выбирает страну, сохраняет документ, а в поле хранится ее номер.
Но у меня что-то не получается создать документ программно(агент). Я хочу чтобы отображалась страна, а хранилось ее номер. Подскажите как решить это? Не хочется создавать дополнительно никаких полей для отображения и редактирования.
Проблема в том, что существует много старых документов, где еще небыло этого диалог листа и хранилось-отображалось всегда код страны. Теперь я хочу сделать миграционного агента, дабы это исправить.

Хочется сделать что-то типа:
Код:
Call docNext.Replaceitemvalue("Country", "Малазия" & "|" & "778" )
 
N

nvyush

Я хочу чтобы отображалась страна, а хранилось ее номер.
Включите у Dialog List'а галку "Allow keyword synonyms" (вторая закладка свойств поля).
Хочется сделать что-то типа:
Код:
Call docNext.Replaceitemvalue("Country", "Малазия" & "|" & "778" )
Тогда уж
Код:
Call docNext.Replaceitemvalue("Country", "778" )
В поле сохраняется только код без названия страны. Если нужно отображать название страны в представлениях, сохраняйте его в другом поле.
 
W

wowa

Галочка стояла.

Если делаю код:

Код:
Call docNext.Replaceitemvalue("Country", "778" )

То при открытии документа отображается "778", а хотелось бы чтобы отображалась Малайзия
 
S

susinmn

Галочка стояла.

Если делаю код:

Код:
Call docNext.Replaceitemvalue("Country", "778" )

То при открытии документа отображается "778", а хотелось бы чтобы отображалась Малайзия

А CountryName от куда тянешь в Use formula for choices из текущего документа или из справочника?
Если из тек документа, может, в новом, программно созданном, документе нет этого поля?
 
N

nvyush

Создай на форме cfd-поле с формулой, которая возвращала бы список вида [CountryName|CountryNumber], укажи его в диалог-листе как источник выбора. Поле списка стран пока не скрывай, чтобы контролировать его значения.
 
W

wowa

nvy , да я вот так и сделал, просто не хотелось создавать поле, думал все это можно сделать кодом.
 
A

Anatoly

Если я правильно понял, нужно при создании нового документа, еще до вывода его на экран для редактирования, выбрать страну и внести в ее код в поле, а наименование в документе хранить не требуется?
Или выбирать страну нужно уже в режиме редактирования документа?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!