|
v7: Копирование элемента справочника | ☑ | ||
---|---|---|---|---|
0
payman25
09.03.13
✎
21:08
|
Хочу для всех товаров в номенклатуре брать цены с одной категорией и добавлять такую же цену другой категории.
Есть внешняя обработка. На форме 2 поля ввода (тип Справочник.КатегорииЦен) с идентификаторами КатегорияЦены и КатегорияЦены1. Есть вот такая процедура: Процедура Выполнить() Спр= СоздатьОбъект("Справочник.Номенклатура"); Спр2= СоздатьОбъект("Справочник.Цены"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Состояние(Спр.Наименование); Если Спр.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; Спр2.ИспользоватьВладельца(Спр.ТекущийЭлемент()); Спр2.ВыбратьЭлементы(); Пока Спр2.ПолучитьЭлемент() = 1 Цикл Если КатегорияЦены = Спр2.КатегорияЦены Тогда НЦ=Справочники.Цены.СоздатьЭлемент(); НЦ.Валюта = Спр2.Валюта; НЦ.Единица = Спр2.Единица; НЦ.КатегорияЦены = КатегорияЦены1; НЦ.Наценка = Спр2.Наценка; НЦ.Цена = Спр2.Цена.Получить(РабочаяДата())); НЦ.Записать(); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры При попытке открытия этой обработки выдает кучу ошибок: НЦ.Цена = Спр2.Цена.Получить(РабочаяДата())<<?>>); {...EXTFORMS\КОПИРОВАТЬ.ERT(22)}: Неопознанный оператор и про ожидание конца цикла, процедуры Подскажите, плиз, где ошибки (чувствую, что она не одна :))? |
|||
1
Oleg_Kag
09.03.13
✎
21:12
|
Она одна... количество скобок после РабочаяДата
|
|||
2
payman25
09.03.13
✎
21:17
|
(1) Убрал лишнюю скобку
Выдает ошибку НЦ=Справочники<<?>>.Цены.СоздатьЭлемент(); {...\КОПИРОВАТЬ.ERT(15)}: Переменная не определена (Справочники) |
|||
3
Oleg_Kag
09.03.13
✎
21:21
|
Новый()
|
|||
4
Oleg_Kag
09.03.13
✎
21:22
|
||||
5
payman25
09.03.13
✎
22:12
|
(4) Это помогло
Но скопировалась только цена Не скопировались Валюта и Единица Насчет Наценки не знаю, т.к. она не заполнена ни для одного товара. Процедура Выполнить() Спр= СоздатьОбъект("Справочник.Номенклатура"); Спр2= СоздатьОбъект("Справочник.Цены"); Спр3= СоздатьОбъект("Справочник.Цены"); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Состояние(Спр.Наименование); Если Спр.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; Спр2.ИспользоватьВладельца(Спр.ТекущийЭлемент()); Спр3.ИспользоватьВладельца(Спр.ТекущийЭлемент()); Спр2.ВыбратьЭлементы(); Пока Спр2.ПолучитьЭлемент() = 1 Цикл Если КатегорияЦены = Спр2.КатегорияЦены Тогда // НЦ=Справочники.Цены.СоздатьЭлемент(); // НЦ.Валюта = Спр2.Валюта; // НЦ.Единица = Спр2.Единица; // НЦ.КатегорияЦены = КатегорияЦены1; // НЦ.Наценка = Спр2.Наценка; // НЦ.Цена = Спр2.Цена.Получить(РабочаяДата()); // НЦ.Записать(); Спр3.ИспользоватьДату(РабочаяДата()); Спр3.Новый(); Спр3.Валюта = Спр2.Валюта; Спр3.Единица = Спр2.Единица; Спр3.КатегорияЦены = КатегорияЦены1; Спр3.Наценка = Спр2.Наценка; Спр3.Цена = Спр2.Цена.Получить(РабочаяДата()); Спр3.Записать(); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
6
payman25
09.03.13
✎
22:23
|
Добавил Получить(РабочаяДата()) для Валюты и Единицы и все скопировалось
Всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |