ак проверить ячейку в DBFке
21.03.2012
09:25
#1
"Добрый день подскажите как проверить ячейку в DBF файле на пустое значение?
Пробовал как ПустоеЗначение и ПустаяСтрока но не получилось :
Если ПустаяСтрока(Файл2.SUMMA+Число(СокрЛП(SUMMA)))=1 тогда
Файл2.УстановитьЗначениеПоля("N"+СокрЛП(N),Строка(Файл.data));
Файл2.УстановитьЗначениеПоля("SUMMA"+СокрЛП(SUMMA),Файл.sum);
Файл2.Записать();
Файл2.Следующая();
КонецЕсли;"
Пробовал как ПустоеЗначение и ПустаяСтрока но не получилось :
Если ПустаяСтрока(Файл2.SUMMA+Число(СокрЛП(SUMMA)))=1 тогда
Файл2.УстановитьЗначениеПоля("N"+СокрЛП(N),Строка(Файл.data));
Файл2.УстановитьЗначениеПоля("SUMMA"+СокрЛП(SUMMA),Файл.sum);
Файл2.Записать();
Файл2.Следующая();
КонецЕсли;"
21.03.2012
09:45
#2
А что такое:
Тут, мне кажется, пустого значения получится не может: оно должно преобразовываться в 0. Но я могу ошибаться. Да и, вообще, конструкция - не очень.
Число(СокрЛП(SUMMA))
Тут, мне кажется, пустого значения получится не может: оно должно преобразовываться в 0. Но я могу ошибаться. Да и, вообще, конструкция - не очень.
21.03.2012
10:02
#3
"Соглашусь, если сделать так:
Если ПустаяСтрока(Файл2.SUMMA5)=1 тогда
Всё работает!!!
но, у меня 20 столбцов с SUMMA и каждый раз заходить в модуль когда меняется столбец как-то не очень. Вот и задал в экранной форме значение SUMMA, вот тут 1С всё прекрасно понимает
Файл2.УстановитьЗначениеПоля("SUMMA"+СокрЛП(SUMMA),Файл.sum);
а тут косяк
Если ПустаяСтрока(Файл2.SUMMA+Число(СокрЛП(SUMMA)))=1 тогда"
Если ПустаяСтрока(Файл2.SUMMA5)=1 тогда
Всё работает!!!
но, у меня 20 столбцов с SUMMA и каждый раз заходить в модуль когда меняется столбец как-то не очень. Вот и задал в экранной форме значение SUMMA, вот тут 1С всё прекрасно понимает
Файл2.УстановитьЗначениеПоля("SUMMA"+СокрЛП(SUMMA),Файл.sum);
а тут косяк
Если ПустаяСтрока(Файл2.SUMMA+Число(СокрЛП(SUMMA)))=1 тогда"
21.03.2012
10:17
#4
Что-то я Вас не очень понимаю.
В конструкции
Вы пытаетесь поле SUMMA из Файла2 сложить с "Число(СокрЛП(SUMMA)". Последня конструкция, по определению, не может возвращать пустое значение, поэтому Файл2.SUMMA+Число(СокрЛП(SUMMA)) никогда не будет пустым.
Правда, в семерке пустое значение числа = 0, но тут я честно говоря, не помню.
В конструкции
Файл2.SUMMA+Число(СокрЛП(SUMMA))
Вы пытаетесь поле SUMMA из Файла2 сложить с "Число(СокрЛП(SUMMA)". Последня конструкция, по определению, не может возвращать пустое значение, поэтому Файл2.SUMMA+Число(СокрЛП(SUMMA)) никогда не будет пустым.
Правда, в семерке пустое значение числа = 0, но тут я честно говоря, не помню.
21.03.2012
12:32
#5
а чем не устраивает вместо
Если ПустаяСтрока(Файл2.SUMMA+Число(СокрЛП(SUMMA)))=1 тогда
сделать
Если Файл2.SUMMA+Число(СокрЛП(SUMMA)) = 0 тогда
?
или у вас там все числа строками представлены?
Если ПустаяСтрока(Файл2.SUMMA+Число(СокрЛП(SUMMA)))=1 тогда
сделать
Если Файл2.SUMMA+Число(СокрЛП(SUMMA)) = 0 тогда
?
или у вас там все числа строками представлены?
21.03.2012
12:37
#6
У меня сложилось впечатление, что топикстартер путает значение поля с именем поля.
Может быть поможет:
Может быть поможет:
Если ПустаяСтрока(Файл2.ПолучитьЗначениеПоля("SUMMA"+СокрЛП(Summa))) =1 Тогда 21.03.2012
15:03
#7
"СПС всё получилось, только через ПустоеЗначение.
Хотя я пробовал ПолучитьЗначениеПоля, но через переменную,
к=Файл2.ПолучитьЗначениеПоля("SUMMA"+СокрЛП(Summa));
Если ПустоеЗначение(к) =1 Тогда
а до этого не додумался.
Если ПустоеЗначение(Файл2.ПолучитьЗначениеПоля("SUMMA"+СокрЛП(Summa))) =1 Тогда"
Хотя я пробовал ПолучитьЗначениеПоля, но через переменную,
к=Файл2.ПолучитьЗначениеПоля("SUMMA"+СокрЛП(Summa));
Если ПустоеЗначение(к) =1 Тогда
а до этого не додумался.
Если ПустоеЗначение(Файл2.ПолучитьЗначениеПоля("SUMMA"+СокрЛП(Summa))) =1 Тогда"
Читают тему
(гостей: 1)