Обращение к процедуре объекта как к функции

1. natanka123 21.09.22 16:08 Сейчас в теме
Из регламентной задачи вызываю этот код:


Процедура ЗаписатьДанныеНаСервере()   Экспорт
	
	ЧтениеXML=Новый ЧтениеXML;
	
	Файл_XML=ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml");
		
	Для каждого СтрокаДанных Из Файл_XML Цикл
				
		НайденныйКонтрагент = Справочники.Контрагенты.Найти(Число(СтрокаДанных.УНП), "УНП");//Справочники.Контрагенты.НайтиПоРеквизиту("УНП", Число(СтрокаДанных.УНП));
		Если НайденныйКонтрагент <> Неопределено Тогда
			Продолжить;
		КонецЕсли; 
		
		НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
		НовыйКонтрагент.Наименование = СтрокаДанных.Наименование;
		НовыйКонтрагент.УНП = СтрокаДанных.УНП;
		НовыйКонтрагент.ПолноеНаименование = СтрокаДанных.ПолноеНаименование;
		НовыйКонтрагент.Записать();
		
	КонецЦикла; 
	
	Сообщить("Создание контрагентов завершено!");
	
КонецПроцедуры

Показать


Получаю такую ошибку:

Обращение к процедуре объекта как к функции (ОткрытьФайл)
{ОбщийМодуль.РегЗад_загрузка.Модуль(5)}:Файл_XML=ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml");


напишите пожалйста, что я делаю не правильно.
По теме из базы знаний
Найденные решения
16. Prikum 3 22.09.22 15:14 Сейчас в теме
(15)Код решения выложите для будущих поколений.
natanka123; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. ivan1703 79 21.09.22 16:15 Сейчас в теме
(1)
ОткрытьФай


ЧтениеXML=Новый ЧтениеXML;
Файл_XML=ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml"); - это процедура
natanka123; +1 Ответить
5. natanka123 21.09.22 16:27 Сейчас в теме
7. Prikum 3 21.09.22 16:31 Сейчас в теме
(5)еще раз, не надо лишних движений, в ЧтениеXML уже все будет.

Процедура ЗаписатьДанныеНаСервере()   Экспорт
    
    ЧтениеXML=Новый ЧтениеXML;
    
    ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml");
        
    Для каждого СтрокаДанных Из ЧтениеXML Цикл
                
        НайденныйКонтрагент = Справочники.Контрагенты.Найти(Число(СтрокаДанных.УНП), "УНП");//Справочники.Контрагенты.НайтиПоРеквизиту("УНП", Число(СтрокаДанных.УНП));
        Если НайденныйКонтрагент <> Неопределено Тогда
            Продолжить;
        КонецЕсли; 
        
        НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
        НовыйКонтрагент.Наименование = СтрокаДанных.Наименование;
        НовыйКонтрагент.УНП = СтрокаДанных.УНП;
        НовыйКонтрагент.ПолноеНаименование = СтрокаДанных.ПолноеНаименование;
        НовыйКонтрагент.Записать();
        
    КонецЦикла; 
    
    Сообщить("Создание контрагентов завершено!");
    
КонецПроцедуры
Показать
natanka123; +1 Ответить
4. Prikum 3 21.09.22 16:15 Сейчас в теме
(1)
Описание:
Открывает XML-файл для чтения данным объектом. Если перед вызовом данного метода уже производилось чтение XML из другого файла или строки, то чтение прекращается и объект инициализируется для чтения из указанного файла.
не надо
Файл_XML=
делать в ЧтениеXML уже все будет
natanka123; +1 Ответить
2. user1831019 21.09.22 16:12 Сейчас в теме
А чем отличается процедура от функции? В курсе? Че там в учебниках написано?
И что нам говорит СП по поводу метода ОткрытьФайл()?
6. natanka123 21.09.22 16:30 Сейчас в теме
ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml");

Для каждого СтрокаДанных Из ЧтениеXML.Прочитать() Цикл

так исправила...
8. Prikum 3 21.09.22 16:33 Сейчас в теме
(6)так будет только 1 проход
natanka123; +1 Ответить
9. user1203706 13 21.09.22 16:35 Сейчас в теме
(1)
 Справочники.Контрагенты.Найти ?


А че, так можно было ?
:)
natanka123; +1 Ответить
10. Prikum 3 21.09.22 16:36 Сейчас в теме
Процедура ЗаписатьДанныеНаСервере()   Экспорт
    
    ЧтениеXML=Новый ЧтениеXML;
    
    ЧтениеXML.ОткрытьФайл("D:\НоваяПапка\document.xml");
        
    Пока ЧтениеXML.Прочитать() Цикл
                
        НайденныйКонтрагент = Справочники.Контрагенты.Найти(Число(ЧтениеXML.УНП), "УНП");//Справочники.Контрагенты.НайтиПоРеквизиту("УНП", Число(ЧтениеXML.УНП));
        Если НайденныйКонтрагент <> Неопределено Тогда
            Продолжить;
        КонецЕсли; 
        
        НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
        НовыйКонтрагент.Наименование = ЧтениеXML.Наименование;
        НовыйКонтрагент.УНП = ЧтениеXML.УНП;
        НовыйКонтрагент.ПолноеНаименование = ЧтениеXML.ПолноеНаименование;
        НовыйКонтрагент.Записать();
        
    КонецЦикла; 
    
    Сообщить("Создание контрагентов завершено!");
    
КонецПроцедуры
Показать


пишу по памяти, возможны ошибки
11. natanka123 21.09.22 17:02 Сейчас в теме
Теперь такая ошибка:

Код
 Поле объекта не обнаружено (УНП)
{ОбщийМодуль.РегЗад_загрузка.Модуль(9)}:НайденныйКонтрагент = Справочники.Контрагенты.Найти(Число(ЧтениеXML.УНП), "УНП")
Показать полностью
Прикрепленные файлы:
12. Prikum 3 21.09.22 17:29 Сейчас в теме
(11)
ЧтениеXML.ЗначениеАтрибута("УНП");
natanka123; +1 Ответить
14. natanka123 22.09.22 06:02 Сейчас в теме
(12)
ЧтениеXML.ЗначениеАтрибута("УНП");

        
НайденныйКонтрагент = Справочники.Контрагенты.Найти(Число(ЧтениеXML.ЗначениеАтрибута("УНП")), "УНП");
		//ЧтениеXML.ЗначениеАтрибута("УНП");
		//Справочники.Контрагенты.НайтиПоРеквизиту("УНП", Число(ЧтениеXML.УНП));
        Если НайденныйКонтрагент <> Неопределено Тогда
            Продолжить;
        КонецЕсли;


Изменила так.
13. user1831019 21.09.22 17:48 Сейчас в теме
Блин, мне нравятся темы этой дамы. Тут такой БДСМ!!!
15. natanka123 22.09.22 14:55 Сейчас в теме
Все решили задачу, Всем огромное спасибо.
16. Prikum 3 22.09.22 15:14 Сейчас в теме
(15)Код решения выложите для будущих поколений.
natanka123; +1 Ответить
17. user1831019 22.09.22 15:16 Сейчас в теме
18. natanka123 22.09.22 16:46 Сейчас в теме
(16)Сделала как Вы написали.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот