НайтиПОнаименованию
10.04.2009
17:34
#1
" Выписка.ВыбратьСтроки();
Пока Выписка.ПолучитьСтроку() = 1 Цикл
Если (Выписка.КоррСчет = СчетПоКоду("62.1")) ИЛИ
(Выписка.КоррСчет = СчетПоКоду("62.2")) Тогда
Контрагент = СоздатьОбъект("Справочник.Контрагенты");
Контрагент = Контрагент.НайтиПоНаименованию(Выписка.Субконто1);
Сообщить(Контрагент);
КонецЕсли;
КонецЦикла;
Выводит нули.В чем может быть моя ошибка?"
Пока Выписка.ПолучитьСтроку() = 1 Цикл
Если (Выписка.КоррСчет = СчетПоКоду("62.1")) ИЛИ
(Выписка.КоррСчет = СчетПоКоду("62.2")) Тогда
Контрагент = СоздатьОбъект("Справочник.Контрагенты");
Контрагент = Контрагент.НайтиПоНаименованию(Выписка.Субконто1);
Сообщить(Контрагент);
КонецЕсли;
КонецЦикла;
Выводит нули.В чем может быть моя ошибка?"
10.04.2009
18:31
#2
"Вообще-то НайтиПоНаименованию возвращает 0, если не найдено.
Ваш код по-хорошему должен выглядеть так:
Контрагент = СоздатьОбъект("Справочник.Контрагенты");
Выписка.ВыбратьСтроки();
Пока Выписка.ПолучитьСтроку() = 1 Цикл
Если (Выписка.КоррСчет = СчетПоКоду("62.1")) ИЛИ
(Выписка.КоррСчет = СчетПоКоду("62.2")) Тогда
Рез = Контрагент.НайтиПоНаименованию(Выписка.Субконто1.Наименование);
Сообщить(Рез);
КонецЕсли;
КонецЦикла;
1. Не стоит присваивать тому, что раньше было справочником число
2. Ищите по наименованию, а подставляете ссылку."
Ваш код по-хорошему должен выглядеть так:
Контрагент = СоздатьОбъект("Справочник.Контрагенты");
Выписка.ВыбратьСтроки();
Пока Выписка.ПолучитьСтроку() = 1 Цикл
Если (Выписка.КоррСчет = СчетПоКоду("62.1")) ИЛИ
(Выписка.КоррСчет = СчетПоКоду("62.2")) Тогда
Рез = Контрагент.НайтиПоНаименованию(Выписка.Субконто1.Наименование);
Сообщить(Рез);
КонецЕсли;
КонецЦикла;
1. Не стоит присваивать тому, что раньше было справочником число
2. Ищите по наименованию, а подставляете ссылку."
15.04.2009
14:33
#3
"А нахрена, простите за выражение искать по наименованию???
Выписка.Субконто1 - это ссылка на элемент справочника...
И вообще зачем создавать объект а потом его искать, если достачтоно просто вывести его в сообщение
Достаточно будет:
Выписка.ВыбратьСтроки();
Пока Выписка.ПолучитьСтроку() = 1 Цикл
Если (Выписка.КоррСчет = СчетПоКоду("62.1")) ИЛИ
(Выписка.КоррСчет = СчетПоКоду("62.2")) Тогда
Сообщить(Выписка.Субконто1);
КонецЕсли;
КонецЦикла;
"
Выписка.Субконто1 - это ссылка на элемент справочника...
И вообще зачем создавать объект а потом его искать, если достачтоно просто вывести его в сообщение
Достаточно будет:
Выписка.ВыбратьСтроки();
Пока Выписка.ПолучитьСтроку() = 1 Цикл
Если (Выписка.КоррСчет = СчетПоКоду("62.1")) ИЛИ
(Выписка.КоррСчет = СчетПоКоду("62.2")) Тогда
Сообщить(Выписка.Субконто1);
КонецЕсли;
КонецЦикла;
"
Читают тему
(гостей: 1)