Консультация № 159740
06.02.2009, 10:54
0.00 руб.
0 2 1
Добрый день.
Проблема с изменением наименования для элементов справочника. Так как я не силён в программировании 1С, подскажите, пожалуйста, как исправить ошибку.
Имеется следующий код:

СпрКонтр = СоздатьОбъект("Справочники.Контрагенты);
СпрДог = СоздатьОбъект("Справочники.Договоры);

СпрКонтр.ИспользоватьРодителя(ВыбКонтрагент, 1);
СпрКонтр.ВыбратьЭлементы(1);
Пока СпрКонтр.ПолучитьЭлемент() = 1 Цикл
Если спрКонтр.ЭтоГруппа() = 0 Тогда
СпрДог.ИспользоватьВладельца(СпрКонтр.ТекущийЭлемент());
СпрДог.ВыбратьЭлементы();
Пока СпрДог.ПолучитьЭлемент() = 1 Цикл
СпрДог.Наименование = "ТО " + СокрЛП(СпрДог.НомерДоговора);
СпрДог.Записать();
КонецЦикла;
КонецЕсли;
КонецЦикла;


Ошибка.
СпрДог.Наименование = "ТО " + СокрЛП(СпрДог.НомерДоговора);
{D:\BASE1C\1.ERT(23)}: Изменено Наименование! Может быть нарушена последовательность выборки!


Спасибо.

Обсуждение

Неизвестный
06.02.2009, 11:08
общий
это ответ
Здравствуйте, Igor Maevsky!

Используйте при выборке элементов порядок кодов.

Приложение:
СпрКонтр = СоздатьОбъект("Справочники.Контрагенты);
СпрДог = СоздатьОбъект("Справочники.Договоры);

СпрКонтр.ИспользоватьРодителя(ВыбКонтрагент, 1);
СпрКонтр.ВыбратьЭлементы(1);
Пока СпрКонтр.ПолучитьЭлемент() = 1 Цикл
Если спрКонтр.ЭтоГруппа() = 0 Тогда
СпрДог.ИспользоватьВладельца(СпрКонтр.ТекущийЭлемент());
СпрДог.ПорядокКодов();
СпрДог.ВыбратьЭлементы();
Пока СпрДог.ПолучитьЭлемент() = 1 Цикл
СпрДог.Наименование = "ТО " + СокрЛП(СпрДог.НомерДоговора);
СпрДог.Записать();
КонецЦикла;
КонецЕсли;
КонецЦикла;
Неизвестный
06.02.2009, 11:12
общий
Спасибо.
Форма ответа