Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

логирование

логирование
Я
   Droning
 
07.06.18 - 12:32
дано задание сделать логирование по новым контрагентам из обработки синхронизации данных с utm5.

Тоесть если синхронизировался новый контрагент,  то записываем строку в лог файл тхт.

я на правильном пути? или есть какие-то критические ошибки?
 
 
   Droning
 
1 - 07.06.18 - 12:32
&НаКлиенте
Функция ВывестиЛогДобавленийИИзмененийКонтрагентов() Экспорт
    
    Контрагенты = Справочники.Контрагенты;
    НайденныйКонтрагент = Неопределено;

    Для Каждого СтрокаТЗ Из ТЗ Цикл
        
      
        Если (СтрокаТЗ.Статус = "new_customer") Тогда
                        НайденныйКонтрагент = Контрагенты.НайтиПоНаименованию(СокрЛП(СтрокаТЗ.name));
                        ТекОбъект = НайденныйКонтрагент.ПолучитьОбъект();
                        
                        ТекОбъект.Наименование = СокрЛП(СтрокаТЗ.name);
                        ТекОбъект.ИНН = СокрЛП(СтрокаТЗ.inn);
                        
                        ТекОбъект.Записать();
        КонецЕсли;
                    
    КонецЦикла;            
                    
                
        Текст = Новый ТекстовыйДокумент;
        Кодировка = "UTF8";
        
                                                  
        Выборка = ТекОбъект.Выбрать(); 

        Пока Выборка.Следующий() Цикл 
  
            Текст.ЗаписатьСтроку( "Новый Контрагент " + Выборка.Наименование + "ИНН № "+ Выборка.ИНН + "Успешно синхронизирован."); 
        КонецЦикла; 

  
        Текст.Записать("c:\textLog.txt");

    
                    
        
            
                                    
                
КонецФункции;
   catena
 
2 - 07.06.18 - 12:35
Что такое ТекОбъект? Что будет, если пять запишется, а на шестом запись окончится ошибкой?
   Droning
 
3 - 07.06.18 - 12:39
в моем понимании ТекОбъект - это объект справочника Контрагенты, полученный поиском по наименованию... Или яя не прав?

по поводу ошибок пока не думал, хотелось бы чстобы хотя бы это было синтаксически правильно
   Droning
 
4 - 07.06.18 - 12:40
Сейчас в отладке пишет, что ожидается ключевое слово КонецЦикла... Вроде же все циклы оформлены..
   catena
 
5 - 07.06.18 - 12:42
(3)Теперь еще раз подумай, что такое ТекОбъект после цикла и что такое ТекОбъект.Выбрать()?
   Droning
 
6 - 07.06.18 - 12:43
Тоесть ТекОбъект существует только внутри цикла и если я его использую, то надо  использовать в цикле?
   Droning
 
7 - 07.06.18 - 12:50
&НаКлиенте
Процедура ВывестиЛогДобавленийИИзмененийКонтрагентов() Экспорт
    
    Контрагенты = Справочники.Контрагенты;
    НайденныйКонтрагент = Неопределено;
    
    Для Каждого СтрокаТЗ Из ТЗ Цикл
        
      
        Если (СтрокаТЗ.Статус = "new_customer") Тогда
                        НайденныйКонтрагент = Контрагенты.НайтиПоНаименованию(СокрЛП(СтрокаТЗ.name));
                        ТекОбъект = НайденныйКонтрагент.ПолучитьОбъект();
                        
                        ТекОбъект.Наименование = СокрЛП(СтрокаТЗ.name);
                        ТекОбъект.ИНН = СокрЛП(СтрокаТЗ.inn);
                        
                        ТекОбъект.Записать();
        КонецЕсли;
                Текст = Новый ТекстовыйДокумент;
        Кодировка = "UTF8";
        
                                                  
        Выборка = ТекОбъект.Выбрать(); 

        Пока Выборка.Следующий() Цикл 
  
            Текст.ЗаписатьСтроку( "Новый Контрагент " + Выборка.Наименование + "ИНН № "+ Выборка.ИНН + "Успешно синхронизирован.");
            Текст.Записать("c:\textLog.txt");
        КонецЦикла; 

  
    
    КонецЦикла;            

















Может так?
   catena
 
8 - 07.06.18 - 12:53
что такое ТекОбъект и что такое ТекОбъект.Выбрать()?
   Droning
 
9 - 07.06.18 - 13:01
ТекОбъект это новый контрагент типа справочник.контрагенты.

что я неправильно говорю? у меня просто пока еще нет целостного представления о том что верно а что нет, да еще и с синтаксисом провал....
   catena
 
10 - 07.06.18 - 13:03
(9)Синтаксис-помощник украли? Отладчик потерялся?
ТекОбъект - это СправочникОбъект. Есть у него метод Выбрать()? Что ты от него ожидаешь?
 
 Рекламное место пустует
   Droning
 
11 - 07.06.18 - 13:04
по поводу Выборка = ТекОбъект.Выбрать()--- я не знаю правльно ли это написано. вот вообще не знаю. Как мне обойти все полученные новые контрагенты и записать их наименование и инн в файл?
   Droning
 
12 - 07.06.18 - 13:04
а Какой метод использовать применителдьно к нему?
   Droning
 
13 - 07.06.18 - 13:06
как и где посмотреть методы обращения к тем или иным объектам?
   catena
 
14 - 07.06.18 - 13:07
(13)Меню Справка -> Синтаксис-помощник.
   Droning
 
15 - 07.06.18 - 13:09
Спасибо, гениально) сам бы не догадался) только вот как им грамотно пользоваться, это уже другой вопрос)
   Droning
 
16 - 07.06.18 - 13:12
Выборка = ТекОбъект.Прочитать();   подойдет?
   catena
 
17 - 07.06.18 - 13:24
(16)Зачем вы его насилуете? Вы его только что записали, все, что вам надо, в нем уже есть.
   ildary
 
18 - 07.06.18 - 13:29
(9) LivingStar? Уж больно речь похожа. Медленно положи конфигуратор на землю и отойди от него.
   Droning
 
19 - 07.06.18 - 13:42
если ты про меня, то нет) не LivingStar)
   Droning
 
20 - 07.06.18 - 13:42
catena, буду пробовать, спасибо)
   Droning
 
21 - 07.06.18 - 13:43
но вот ошибка про КонецЦикла никуда так и не хочет уходить. /Вроде везде проставлены ; и окончания циклов
   Droning
 
22 - 07.06.18 - 14:00
После КонецПроцедуры стояла ; . вот откуда ошибка


Список тем форума
Рекламное место пустует  Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует