Имя: Пароль:
1C
1С v8
Не работает метод Записать()
0 Dictum
 
15.01.15
22:45
Вот процедура

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

Отладчиком проходит, сообщение выводит. А Справочник пустой, Даже кэш чистил уже. В чем проблема может быть?
1 Мимохожий Однако
 
15.01.15
22:52
В порядке эксперимента закомментируй первый блок с циклом:
ВыборкаТипы = Справочники.Отправители.Выбрать();
    Пока ВыборкаТипы.Следующий() Цикл
        СпрОбъект = ВыборкаТипы.ПолучитьОбъект();
        СпрОбъект.Удалить();
    КонецЦикла;
...
СписокОтправителей - это массив?
2 Мимохожий Однако
 
15.01.15
22:53
Если в массиве значений тот же справочник Отправители. То надо просто искать по наименованию и добавлять в случае отсутствия искомого элемента.
3 KishMish
 
15.01.15
23:01
1  Откуда знаешь что справочник пустой? В Форме списка отбор стоит?
2. Транзакции используешь?

3. Подчиненный справочник?
4 Dictum
 
15.01.15
23:02
После того как закомментировал это:

ВыборкаТипы = Справочники.Отправители.Выбрать();
    Пока ВыборкаТипы.Следующий() Цикл
        СпрОбъект = ВыборкаТипы.ПолучитьОбъект();
        СпрОбъект.Удалить();
КонецЦикла;

Все заработало.

Ступил я, процедура это несколько раз вызывается просто.

Прошу прощения за беспокойство.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn