Цитата(Kaliban @ 31.10.11, 10:07) необходимо зарегистрироваться для просмотра ссылки
как-то так:
ЦеныТовара = СоздатьОбъект("Справочник.Цены");
Если ПустоеЗначение(НаДату)=1 Тогда
НаДату = РабочаяДата();
КонецЕсли;
ЦеныТовара.ИспользоватьДату(НаДату);
ЦеныТовара.ИспользоватьВладельца(Тов.ТекущийЭлемент());
КатегорииЦен = СоздатьОбъект("Справочник.КатегорииЦен");
КатегорииЦен.ВыбратьЭлементы();
Пока КатегорииЦен.ПолучитьЭлемент()=1 Цикл
Если КатегорииЦен.ПометкаУдаления()=1 Тогда
Продолжить;
КонецЕсли;
Если ЦеныТовара.НайтиПоРеквизиту("КатегорияЦены",КатегорииЦен.ТекущийЭлемент(),0)=0 Тогда
ЦеныТовара.Новый();
Иначе
Если ЦеныТовара.ПометкаУдаления()=1 Тогда
Если Вопрос("Цена "+ЦеныТовара.КатегорияЦены+ " помечена на удаление и не будет заполнена.
|Снять пометку удаления?","Да+Нет")="Да" Тогда
Попытка
ЦеныТовара.СнятьПометкуУдаления();
Исключение
Предупреждение(ОписаниеОшибки());
Возврат;
КонецПопытки;
КонецЕсли;
Продолжить;
КонецЕсли;
КонецЕсли;
//опр валюту
ВалютаЦ=Тов.ВалютаУчета;
ЦеныТовара.Наименование = КатегорииЦен.Наименование;
ЦеныТовара.Единица = Тов.ЕдиницаПоУмолчанию;
ЦеныТовара.КатегорияЦены = КатегорииЦен.ТекущийЭлемент();
//ВычисленнаяЦена= тащите их экселя;
ЦеныТовара.Цена = ВычисленнаяЦена;
// Попытка
ЦеныТовара.Записать();
// Исключение х
// глТрассировка(ОписаниеОшибки(),0);
// Возврат;
// КонецПопытки;
КонецЦикла;
Вот это вроде бы работает, но как-то коряво.
1.Оно добавляет каждый раз для товара все категории , которые есть в Справочнике Категорий.
Вопрос: Как выбрать только 2 нужные категории?
2.Надо как-то прикрутить проверку Категорий.
Т.е. Если у товара уже есть эти 2 категории, то нужно всего лишь изменить в них цену, как для одной так и для другой.
А если их нет, то нужно добавить их и установить уже вычисленную цену.
Выручайте Товарищи.А то что-то башка не варит совсем