Страница 1 из 1

Как достать значение поля из стандартного интерфейса?

Добавлено: 24 июн 2009, 11:06
s2176
Добрый день!
Мне надо переделать справку 2-НДФЛ. В интерфейсе ввода параметров есть месяц начала и месяц конца. В прототипе формы их нет. Можно ли как-то в форме достать эти значения из интерфейса?
Версия 8.10.

Добавлено: 24 июн 2009, 11:39
edward_K
через DSK
ReadMyDsk
где то тут уже обсуждалось как достать маркер оттуда - мож и переменные разглядите. Надо менять по одному параметру и выходить из галки. Ну и в ТП письмо с просьбой подсказать или добавить сии поля с обоснованием причины.

Добавлено: 24 июн 2009, 11:44
Den
Можно еще через alter попробать, где в соотвествующем обработчике поймать значения введенных дат начала и конца месяца и доставить их до формы...

Добавлено: 24 июн 2009, 14:05
s2176
Bbb:=Readmydsk(_s1, 'Z_NDFL::NDFL.NSPR2003.MONTHGLOB2',true)
возвращает false :sad:

А можно чуть подробнее, как это через alter?

Добавлено: 24 июн 2009, 15:04
edward_K
так точно вернет фигню - надо знать под каким 2 параметром читать.
Мало кто придерживается стандартов.
про alter читайте форум и доку. В конфигураторе вам нужно подглядеть какое событие идет при запуске, перехватить его и перед запуском стандартного SaveMyDsk ну и опять же в форме ReadMyDsk, только уже зная что читать.

Добавлено: 25 июн 2009, 14:06
Screw
На идентификаторы ресурсов (отдельных значений или маркеров), сохраняемях в ресурсный файл с помощью SaveMyDsk не накладываются никакие ограничения (кроме того, что идентификатор не должен быть пуст). И стандартов на них никаких нет. Да и вообще, деск, на мой взгляд, - это неудачное место для хранения бо-ме постоянных данных вроде настроек отчета. И тем более - для передачи данных между интерфейсами. Но это лирика.

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

Ден верно сказал: докомпиляция интерфейса - единственный верный способ передать форме недостающие данные. Перекрываем базовый интерфейс и творим чудеса. Лучше всего совать даты прямо в поток. Кстати, неужели в потоке нет данных - хотя бы косвенных - о
рассматриваемом периоде?