25.05.2005, 11:20 | #1 |
Участник
|
При импорте из текстового файла необходимо валидейтить поля таблички.
В датапорте, а точнее в его FieldDesigner есть поле CallFieldValidate которое, как я понимаю, предназначено как раз для решения данной задачи. Вот только одно но - поля для которых проставлено CallFieldValidate в True никак не валидейтятся. В чем загвоздка, как их отвалидейтить??? Помогите кто может. |
|
25.05.2005, 12:29 | #2 |
Участник
|
Цитата:
Сообщение от Jackal
Вот только одно но - поля для которых проставлено CallFieldValidate в True никак не валидейтятся.
В чем загвоздка, как их отвалидейтить??? Помогите кто может. А версия какая? |
|
25.05.2005, 12:31 | #3 |
Участник
|
Версия 3.6
|
|
25.05.2005, 12:33 | #4 |
Участник
|
Цитата:
Сообщение от Jackal
Версия 3.6
|
|
25.05.2005, 15:40 | #5 |
Участник
|
Как оказалось все еще интереснее.
Тригер OnValidate поля вызывается и все значения подтягивает правильно, но эти значения почему то не постятся в таблице. Может есть какое то свойство что бы заставить их сохранятся? |
|
25.05.2005, 16:09 | #6 |
Участник
|
Цитата:
Сообщение от Jackal
Может есть какое то свойство что бы заставить их сохранятся?
Если AutoSave установлен в Нет, то можно вставлять или модифицировать запись, используя функцию вставки или модификации из C/AL. |
|
25.05.2005, 17:13 | #7 |
Участник
|
Все 3 указаных свойства установлены в TRUE.
Если бы AutoSave было Нет то ваше поля не вставляльсь бы, а так все заполняется кроме полей которые подтягиваются при валидейте |
|
26.05.2005, 21:20 | #8 |
NavAx
|
Выложите датапорт (и табличку, если она не из стандарта). Лучше в текстовом виде.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
27.05.2005, 09:08 | #9 |
Moderator
|
Может быть для те поля, котоые должны валидейтится надо так и написать VALIDATE()?
Долго и кривова-то, конечно, зато будет работать. |
|
27.05.2005, 14:55 | #10 |
Участник
|
Цитата:
Сообщение от gala
Может быть для те поля, котоые должны валидейтится надо так и написать VALIDATE()?
Долго и кривова-то, конечно, зато будет работать. Именно так и сделал, вопрос в том почему стандартный метод предназначеный что бы не было "Долго и кривова-то" не хочет отрабатывать |
|
27.05.2005, 16:27 | #11 |
Участник
|
Jackal - столкнулся в свое время с теми же проблемами. После этого делаю так: Отключаю все валидэйты, и на OnAfterImportRecord проделываю все необходимые манипуляции. Писать дольше, зато надежнее.
Почему не работает? Вариантов масса: 1. Field=some-value; Validate(Field) не всегда работает так же как validate(Field, Value); 2. Валидэйт еще не вставленную в базу запись не всегда работает также на вставленную. и т.д. ... |
|
27.05.2005, 16:47 | #12 |
Участник
|
Цитата:
Сообщение от Jackal
Цитата:
Сообщение от gala
Может быть для те поля, котоые должны валидейтится надо так и написать VALIDATE()?
Долго и кривова-то, конечно, зато будет работать. Getting the validation to work as intended is not so easy, because the code that is triggered uses values from other fields, fields that are not part of this dataport. At the time of the validation, these fields do not have values because the updating takes place later. и т.д. и т.п.
__________________
MBS Certified Master in Navision Developer |
|