Как получить подчиненный элемент

Новая тема
Показывать по сообщений
"платформа 7.7, пишу обработку для изменения подчинненого элемента-числа, т.е. этот элемент находится в подчиненном справочнике и метод ИспользоватьВладельца() не отображает искомый результат, посмотрите что не так, в чем мой косяк? Спасибо за критику.Процедура Выполнить(ПР)<br> СпрПР = СоздатьОбъект("Справочник.Квалификации"); <br> СпрПР.ИспользоватьДату(РабочаяДата());<br> СпрПР.ИспользоватьВладельца(ПР);<br> СпрПР.ВыбратьЭлементы();<br> Сч = 0;<br> Пока СпрПР.ПолучитьЭлемент()= 1 Цикл<br> Бонус1 = СпрПР.Бонус;<br> Бонус2 = Бонус1*ВыбЧисло;<br> СпрПР.Бонус = Бонус2;<br> СпрПР.Записать(); <br> Сч = Сч + 1;<br> Сообщить("счетчик"+Сч+"---"+СпрПР.Наименование+СпрПР.Бонус);<br> КонецЦикла;<br>КонецПроцедуры  <br>////////////////////////////////////////////////////<br>­  ПР=СоздатьОбъект("Справочник.ПереченьРабот");<br>"
"А где позиционирование на элементе-владельце? И вообще, что чему подчинено?<br>Предположим, что справочник Квалификации является подчиненным справочнику ПереченьРабот. Тогда так:<br><br>ПереченьРабот=СоздатьОбъект("Справочник.ПереченьРабот");<br>Квалификации=СоздатьОбъект("Справочник.Квалификации"); <br>ПереченьРабот.ВыбратьЭлементы();<br>Пока ПереченьРабот.ПолучитьЭлемент(1)=1 Цикл<br>   Квалификации.ИспользоватьВладельца(ПереченьРабот.ТекущийЭлемент());<br>   Пока Квалификации.ПолучитьЭлемент(1)=1 Цикл<br>      ...<br>   КонецЦикла;<br>КонецЦикла<br><br>или, если элемент справочника ПереченьРабот какой то конкретный:<br>Квалификации=СоздатьОбъект("Справочник.Квалификации");<br>Квалификации.ИспользоватьВладельца(НужныйЭлементПереченяРабот);<br>Пока Квалификации.ПолучитьЭлемент(1)=1 Цикл<br>   ...<br>КонецЦикла;"
мне ваш первый вариант очень помог ,но как дело касается квалификации то сразу вылетает ошибка , что элемент не выбран.
"По аналогии с " Квалификации.ИспользоватьВладельца(ПереченьРабот.ТекущийЭлемент());" используйте не просто Квалификации, а Квалификации.ТекущийЭлемент()"
бесполезно:<br>Пока Квалификации.ПолучитьЭлемент(1)=1 Цикл<br>{Обработка.ПересчетБонусов.Форма.Модуль(10)}: Не выбран элемент!<br>даже ч/з отладчик не видно поле"Владелец" остается пустым
"<br>> ПереченьРабот=СоздатьОбъект("Справочник.ПереченьРабот");<br>> Квалификации=СоздатьОбъект("Справочник.Квалификации"); <br>> ПереченьРабот.ВыбратьЭлементы();<br>> Пока ПереченьРабот.ПолучитьЭлемент(1)=1 Цикл<br>>    Квалификации.ИспользоватьВладельца(ПереченьРабот.ТекущийЭлемент());<br>>    Пока Квалификации.ПолучитьЭлемент(1)=1 Цикл<br>>       ...<br>>    КонецЦикла;<br>> КонецЦикла<br>> <br><br><br>выборка собьётся, если в подчиненном справочнике записывать!!!!<br><br>"
"А, ну правильно, я забыл написать Квалификации.ВыбратьЭлементы(); сорри :)<br>Должно быть так:<br>ПереченьРабот=СоздатьОбъект("Справочник.ПереченьРабот");<br>Квалификации=СоздатьОбъект("Справочник.Квалификации"); <br>ПереченьРабот.ВыбратьЭлементы();<br>Пока ПереченьРабот.ПолучитьЭлемент(1)=1 Цикл<br>  Квалификации.ИспользоватьВладельца(ПереченьРабот.ТекущийЭлемент());<br>  Квалификации.ВыбратьЭлементы();<br>  Пока Квалификации.ПолучитьЭлемент(1)=1 Цикл<br>     ...<br>  КонецЦикла;<br>КонецЦикла<br><br>P.S. Я не тестирую то что пишу сюда, если оно кажется мне слишком простым, бывают промахи :)"
"> А, ну правильно, я забыл написать Квалификации.ВыбратьЭлементы(); сорри :)<br>> Должно быть так:<br>> ПереченьРабот=СоздатьОбъект("Справочник.ПереченьРабот");<br>> Квалификации=СоздатьОбъект("Справочник.Квалификации"); <br>> ПереченьРабот.ВыбратьЭлементы();<br>> Пока ПереченьРабот.ПолучитьЭлемент(1)=1 Цикл<br>>   Квалификации.ИспользоватьВладельца(ПереченьРабот.ТекущийЭлемент());<br>>   Квалификации.ВыбратьЭлементы();<br>>   Пока Квалификации.ПолучитьЭлемент(1)=1 Цикл<br>>      ...<br>>   КонецЦикла;<br>> КонецЦикла<br>> <br>> P.S. Я не тестирую то что пишу сюда, если оно кажется мне слишком простым, бывают промахи :)<br><br><br>всё равно собьётся, особенно, если справочник-владелец иерархический"
Не собьется если не менять реквизит упорядочивания в выборке, то есть, код или наименование
> Не собьется если не менять реквизит упорядочивания в выборке, то есть, код или наименование<br><br>упорядочивание идёт (если не указано иного) по представлению справочника...<br><br>но кажись собьется - позже может пример покажу
Читают тему
(гостей: 1)

Быстрый переход