Имя: Пароль:
1C
1С v8
запись в регистр сведений
0 _barracuda_
 
16.05.17
10:21
Всем доброго дня.В цикле записываю с екселя контактную информацию.Но в одни контрагенты пишет а другие нет.Подскажите где проблема?

        Для стр = 1 по ВсегоСтрок Цикл
            Если   ЗначениеЗаполнено(Страница.Cells(НомерСтроки,3).text) Тогда
                ////////////////////////////////////////////////////////////////////////////////
                Код = СокрЛП(Страница.Cells(НомерСтроки,1).text);
                ЮридическийАдрес = СокрЛП(Страница.Cells(НомерСтроки,4).text);
                ПочтовыйАдрес = СокрЛП(Страница.Cells(НомерСтроки,5).text);
                Телефоны = СокрЛП(Страница.Cells(НомерСтроки,6).text);
                
                СсылкаКонтрагент=Справочники.Контрагенты.НайтиПоКоду(Код);
                Если  НЕ СсылкаКонтрагент.Пустая() Тогда
                     Если  НЕ СсылкаКонтрагент.ЭтоГруппа Тогда

                    /////////////////////////адрес  юр
                    НЗ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
                    НЗ.Объект = СсылкаКонтрагент.Ссылка;
                    НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
                    НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
                    
                    НЗ.Прочитать();
                    НЗ.Объект = СсылкаКонтрагент.Ссылка;
                    НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
                    НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
                    НЗ.Поле6 = ЮридическийАдрес;
                    НЗ.Представление = ЮридическийАдрес;
                    Если НЕ НЗ.Выбран() Тогда
                        НЗ.Записать(Ложь);
                    КонецЕсли;
                    /////////////////////////адрес юр
                    
                    /////////////////////////адрес  почт
                    НЗ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
                    НЗ.Объект = СсылкаКонтрагент.Ссылка;
                    НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
                    НЗ.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Почтовый адрес контрагента");
                    
                    НЗ.Прочитать();
                    НЗ.Объект = СсылкаКонтрагент.Ссылка;
                    НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
                    НЗ.Вид = Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Почтовый адрес контрагента");
                    НЗ.Поле6 = ПочтовыйАдрес;
                    НЗ.Представление = ПочтовыйАдрес;
                    Если НЕ НЗ.Выбран() Тогда
                        НЗ.Записать(Ложь);
                    КонецЕсли;
                    /////////////////////////адрес  почт
                    
                    
                    /////////////////////////тел
                    НЗ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
                    НЗ.Объект = СсылкаКонтрагент.Ссылка;
                    НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
                    НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
                    
                    НЗ.Прочитать();
                    НЗ.Объект = СсылкаКонтрагент.Ссылка;
                    НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
                    НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
                    НЗ.Поле6 = Телефоны;
                    НЗ.Представление = Телефоны;
                    Если НЕ НЗ.Выбран() Тогда
                        НЗ.Записать(Ложь);
                    КонецЕсли;
                    /////////////////////////тел
                    Контрагент=СсылкаКонтрагент.ПолучитьОбъект();
                    Контрагент.Записать();
                Иначе
                    сообщить("не обнаружен контрагент с кодом "+Код);
                КонецЕсли;
                                КонецЕсли;

            КонецЕсли;
            НомерСтроки  = НомерСтроки+1;
        КонецЦикла;
1 _barracuda_
 
16.05.17
10:22
точнее так.у одних контриков появляются данные а у других нет.естественно что не пишется контактная информация,но почему не могу понять.в екселе 2000 тыс трок. беру например из средины ту строчку котороую не записывает переношу в начало екселя и прекрасно пишет инфу((
2 lodger
 
16.05.17
10:28
ну навтыкай диагностических сообщений.
например в  Если НЕ НЗ.Выбран() Тогда, поставь Иначе Сообщить("лалала1");

еще у тебя ошибка в концах если:

Иначе
                    сообщить("не обнаружен контрагент с кодом "+Код);
                КонецЕсли;

висит на условии
Если  НЕ СсылкаКонтрагент.ЭтоГруппа Тогда

вот это два сделай уже яснее станет.
3 Лефмихалыч
 
16.05.17
10:33
отладчик украли у тебя что ли? Или с тебя за отладку деньги вычитают?
4 _barracuda_
 
16.05.17
10:37
(3) спасибо ошибку увидел.исправил.буду дальше разбиратся