|
Альфа авто ред 5 как проверить на заполненность адреса контрагентов
| ☑ |
0
AzamaT90
17.08.17
✎
10:45
|
Всем привет. 1с обучаюсь так что прошу сильно не ругать.
Имеются два значения
СтруктураПредставления1=Новый Структура ("АдресЮридический");
СтруктураПредставления2=Новый Структура ("АдресФактический");
Необходимо проверить АдресФактический на заполненность в случае если пустой, вывести АдресЮридический.
Если ПустаяСтрока(СтруктураПредставления1) Тогда
ОбластьМакета.Параметры.АдресЗаказчика = спПолучитьПредставление(ДокументОбъект.Заказчик,СтруктураПредставления1);
иначе
ОбластьМакета.Параметры.АдресЗаказчика = спПолучитьПредставление(ДокументОбъект.Заказчик,СтруктураПредставления2);
КонецЕсли;
Застрял если указываю адрес юридический он выводит пустой. Если указываю фактический то выводит как надо.
|
|
1
drcrasher
17.08.17
✎
10:47
|
Структура и ПустаяСтрока()? серьёзно?
|
|
2
AzamaT90
17.08.17
✎
10:49
|
хммм... А как тогда лучше?
|
|
3
drcrasher
17.08.17
✎
10:53
|
(2) намекаю: ПустаяСтрока() проверяет строку. спПолучитьПредставление() возвращает строку. дальше сам =)
|
|
4
h-sp
17.08.17
✎
10:56
|
(2) вроде так и задумано у тебя
Если ПустаяСтрока(СтруктураПредставления1) Тогда
ОбластьМакета.Параметры.АдресЗаказчика = спПолучитьПредставление(ДокументОбъект.Заказчик,СтруктураПредставления1);
если пустая СтруктураПредставления1, ты ее фигачишь в адрес заказчика.
значит, ты так задумал, поэтому пусто.
|
|
5
drcrasher
17.08.17
✎
10:58
|
(4) ПустаяСтрока(СтруктураПредставления1) == ПустаяСтрока("Структура")
|
|
6
AzamaT90
17.08.17
✎
11:19
|
Я думал:
Если имеет значение тогда
вывести строку
конец если
Если пусто тогда
...
Иначе
вывести строку
конец если
Или я ошибаюсь?
|
|
7
h-sp
17.08.17
✎
11:35
|
(6) ну. Если пусто тогда заполняешь. Переписываешь это пусто в адрес заказчика.
|
|
8
AzamaT90
17.08.17
✎
11:41
|
Уловил мысль. А с каким условием лучше проверить и вывести строку?
|
|
9
h-sp
17.08.17
✎
12:09
|
(8) похоже
Если ПустаяСтрока(СтруктураПредставления2) Тогда
|
|
10
SiAl-chel
17.08.17
✎
14:19
|
(8) Предполагаю (не трогал Альфа-Авто на восьмерке ни разу).
1. Сделай и заполни две переменные
Адрес(1|2) = спПолучитьПредставление(ДокументОбъект.Заказчик,СтруктураПредставления(1|2))
В них будет именно строка.
2. Потом уже включай проверку своего условия.
3. Почитай о типах данных в языке 1С. И всегда в будущем читай в синаксис-помощнике какого типа должны быть аргументы функций/процедур и какого типа будет возвращаемое значение функции.
|
|
11
AzamaT90
18.08.17
✎
20:57
|
Понял, учту, спасибо)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший