Для тех, кто программирует в 1С 7.7 (работа со справочниками)
22.02.2012
10:39
#1
"Добрый день!
Помогите, пжл-та, разобраться в чем ошибка... Пишу обработку, благодаря к-й в справочнике "Счета" автоматически переносятся отфильтрованные записи (расположенные вне группы) в группу "Архив" этого же справочника.
Вот такой код:
//***********************************
Список = СоздатьОбъект("СписокЗначений");
Спр = СоздатьОбъект("Справочник.Счета");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если (Спр.ТекущийЭлемент().Родитель.Код <> "1269") и (Спр.СтатусСчета = Перечисление.СтатусСчета.Свободен) тогда
Список.ДобавитьЗначение(Спр.ТекущийЭлемент()); // список с отфильтрованными записями
КонецЕсли;
КонецЦикла;
// теперь работаю со списком
Для к=1 По Список.РазмерСписка() Цикл
Группа = "1269"; // код группы "Архив"
ТекЭл = Список.ПолучитьЗначение(к);
Спр.НайтиЭлемент(ТекЭл);
//сообщить("элемент из справочника --- " + Спр.ТекущийЭлемент());
Спр.Родитель.Код = Группа;
Спр.Записать();
КонецЦикла;
//*********************************
После запуска выдает ошибку:
Спр.Родитель.Код = Группа;{C:\USERS\DESKTOP\ПЕРЕНОСЭЛВГРУППУ.ERT(30)}: Не выбран элемент
Какой элемент еще не выбран? Может кто видит ошибку, подскажите, пжл-та."
Помогите, пжл-та, разобраться в чем ошибка... Пишу обработку, благодаря к-й в справочнике "Счета" автоматически переносятся отфильтрованные записи (расположенные вне группы) в группу "Архив" этого же справочника.
Вот такой код:
//***********************************
Список = СоздатьОбъект("СписокЗначений");
Спр = СоздатьОбъект("Справочник.Счета");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если (Спр.ТекущийЭлемент().Родитель.Код <> "1269") и (Спр.СтатусСчета = Перечисление.СтатусСчета.Свободен) тогда
Список.ДобавитьЗначение(Спр.ТекущийЭлемент()); // список с отфильтрованными записями
КонецЕсли;
КонецЦикла;
// теперь работаю со списком
Для к=1 По Список.РазмерСписка() Цикл
Группа = "1269"; // код группы "Архив"
ТекЭл = Список.ПолучитьЗначение(к);
Спр.НайтиЭлемент(ТекЭл);
//сообщить("элемент из справочника --- " + Спр.ТекущийЭлемент());
Спр.Родитель.Код = Группа;
Спр.Записать();
КонецЦикла;
//*********************************
После запуска выдает ошибку:
Спр.Родитель.Код = Группа;{C:\USERS\DESKTOP\ПЕРЕНОСЭЛВГРУППУ.ERT(30)}: Не выбран элемент
Какой элемент еще не выбран? Может кто видит ошибку, подскажите, пжл-та."
22.02.2012
11:00
#3
"Правильно:
Спр.Родитель = Родитель_Группа; // найденный по коду
а не
Спр.Родитель.Код = Группа; // Группа - тип «Строка»
Получается, что обработка пытается присвоить не нового родителя элементу, а новый код группе справочника."
Спр.Родитель = Родитель_Группа; // найденный по коду
а не
Спр.Родитель.Код = Группа; // Группа - тип «Строка»
Получается, что обработка пытается присвоить не нового родителя элементу, а новый код группе справочника."
22.02.2012
11:20
#4
"правильный ответ:
Группа = "1269"; // код группы "Архив"Спр.НайтиПоКоду(Группа,0);РодительГруппа = Спр.ТекущийЭлемент();"
Для к=1 По Список.РазмерСписка() Цикл ТекЭл = Список.ПолучитьЗначение(к); Спр.НайтиЭлемент(ТекЭл); //сообщить("элемент из справочника --- " + Спр.ТекущийЭлемент()); Спр.Родитель = РодительГруппа; Спр.Записать(); КонецЦикла;
Читают тему
(гостей: 1)