Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 05:21

УТ 11 внешняя обработка

Автор asdfr1, 08 апр 2013, 22:35

0 Пользователей и 1 гость просматривают эту тему.

asdfr1

по задумке в каждую номенклатуру добавляется характеристика из "СписокЗнач"

пытаюсь впихнуть ещё одним циклом - процессор загружается на 99 %,  не пойму что не так
&НаСервере
Функция ЗаполнитьОбъект(Знач док)
докоб=док.получитьобъект();
докпроведен=док.проведен;
таб=новый ТаблицаЗначений;
таб.Колонки.Добавить("Номен");
таб.Колонки.Добавить("Цена");
таб.Колонки.Добавить("Видцены");

//отдел1=Справочники.ХарактеристикиНоменклатуры.НайтиПоРеквизиту("НаименованиеПолное", Строка(Характе));
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХарактеристикиНоменклатуры.Ссылка  КАК Хар
|ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
|ГДЕ
| ХарактеристикиНоменклатуры.Владелец.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Ассортимент"));
//Результат1 = Запрос.Выполнить().Выгрузить();
СписокЗнач = Новый СписокЗначений;
СписокЗнач.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Хар"));

Для Каждого ТекущаяСтрока Из СписокЗнач Цикл
отдел1=ТекущаяСтрока.Значение;
отдел1=Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(отдел1);
Сообщить(отдел21);
КонецЦикла;

для каждого текстрока из докоб.товары цикл
Для Каждого ТекущаяСтрока Из СписокЗнач Цикл
отдел1=ТекущаяСтрока.Значение;
отдел21=Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(отдел1);

текстрока.характеристика= отдел21;
номен=текстрока.номенклатура;
цена=текстрока.цена; видцены=текстрока.видцены;
    новстрока=таб.добавить();                                                                                                           
    новстрока.номен=номен;
    новстрока.видцены=видцены;
    новстрока.цена=цена;
//Возврат;
Продолжить;
  Сообщить(Отдел21);

КонецЦикла;
 
для каждого текстрока из таб цикл
новстрока=докоб.товары.добавить();
новстрока.номенклатура=текстрока.номен;
новстрока.видцены=текстрока.видцены;
новстрока.цена=текстрока.цена;
конеццикла;
// вторая


докоб.записать(?(докпроведен,РежимЗаписиДокумента.Проведение,РежимЗаписиДокумента.Запись));

КонецФункции

wise

Цитироватьдля каждого текстрока из докоб.товары цикл
    Для Каждого ТекущаяСтрока Из СписокЗнач Цикл

цикла ДВА, а КонецЦикла ОДИН !!!
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск