Имя: Пароль:
1C
1C 7.7
v7: Почему пропадает строка?
0 Draik1
 
29.05.12
12:26
Здраствуйте тыкните носом в ошибку, будьте добры.

Если СправочникКлиентов.НайтиПоНаименованию("Пупкин")=1 Тогда
       //Показывает строку "Пупкин"
   Предупреждение(СправочникКлиентов.ТекущийЭлемент());
   Клиент=СправочникКлиентов.ТекущийЭлемент();
       //Показывает пустую строку
       Предупреждение(Клиент);
   Баланс=БалансКлиента(Клиент);
КонецЕсли;
1 Ёпрст
 
гуру
29.05.12
12:27
Клиент - реквизит формы поди с другим типом ?
2 Злопчинский
 
29.05.12
12:28
(1) ты реально крутой телепат!
3 mikecool
 
29.05.12
12:29
//Показывает строку "Пупкин" - потому что СправочникКлиентов.НайтиПоНаименованию("Пупкин")
4 povar
 
29.05.12
12:29
(2) Ты разве не знал, что под Ёпрст`ом скрывается http://www.bitva-ekstrasensov.ru/vorotnikova.html
5 Draik1
 
29.05.12
12:36
Клиент - просто переменная.
1с для меня темный лес мне надо сделать простую обработку, а тут такая оказия.
6 Kreont
 
29.05.12
12:40
Клиент = СоздатьОбъект("Справочник.Контрагенты");
Клиент = НайтиЭлемент(СправочникКлиентов.ТекущийЭлемент());
Сообщить(Клиент.Наименование);

Если не заработает, значит (1) :(
7 Ёпрст
 
гуру
29.05.12
12:40
8 welwel
 
29.05.12
12:42
(5) (6)
можно еще посмотреть ТипЗначенияСтр(Клиент)
9 Kreont
 
29.05.12
12:42
А так не проще:
Если СправочникКлиентов.НайтиПоНаименованию("Пупкин")=1 Тогда
    Баланс=БалансКлиента(СправочникКлиентов.ТекущийЭлемент());
КонецЕсли;
10 Draik1
 
29.05.12
13:01
Короче говоря

Клиент=СправочникКлиентов.ТекущийЭлемент();
сообщить(ТипЗначения(Клиент)); //вернуло 11
//11 - агрегатный тип данных 'Справочник';


Наверное надо так

Клиент=СправочникКлиентов.ТекущийЭлемент().Наименование;
11 Ёпрст
 
гуру
29.05.12
13:02
(10) нет, так не надо
12 фобка
 
29.05.12
13:14
сообщить(Клиент.Вид());
сообщить(СправочникКлиентов.Вид());
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший