зачем "инитить" если,



Posted by Борис, Киев (193.193.199.117) on January 03, 2001 at 06:59:30:

In Reply to: проблема аналогичная №1901 posted by Юрий Заречный on January 03, 2001 at 05:10:18:

Юрий,зачем "инитить", если обращаетесь к переменоой после ее определения?

Почему Вы не поставите например такую печать?

: В одной из отчетных форм имеется конструкция вида:
: :Loop
: search Z0,?D
: IF [SUCCESS]=1

TY=[type D]
if TY
D:^^^^^^^^^^^^^^^^^^^^D
ТИП СТРОКОВЫЙ
else
ТИП числовой D:^^^^^^^^^^^^^^^^^^^^D
DY=[DA [FACT_D],[FACT_M],[FACT_Y]]
DY:^^^^^^^^^^^^^^^^^^^DY
stop
endif

: DY=[DA [FACT_D],[FACT_M],[FACT_Y]]
: IF (([DA]-DY)<365) & ([PS 'G',D]=1))
: ...
: ENDIF
: goto Loop
: ENDIF

: Что любопытно, если в новом году не введено ни одной операции, т.е. факты берутся только из файла FACTS.B за предыдущий год, то форма работает замечательно.
: Но стоит только ввести хотя бы одну операцию с соответствующим фактом Z0, как в операторе [PS 'G',D] возникает ошибка "Е27 - выражение должно выдавать строку а не число" .

: Попытка "проинитить" переменную D, например D=[CP '',1,0] или D='', перед оператором search, как в примере 1901 никакого эффекта не дает.

: Что бы это значило?




Пpишедшие ответы: