8.х УПП 1C 8.2.15.318 КА 1.1.19.1 заказ поставщику

Тема в разделе ""1С:Управление производственным предприятием УПП"", создана пользователем bluntschi, 16 авг 2012.

  1. TopicStarter Overlay
    bluntschi
    Offline

    bluntschi Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    422
    Симпатии:
    0
    Баллы:
    26
    Добрый день.

    Есть документ, заказ поставщикам, у него есть свойство "скидка", в которой устанавливается скидка поставщику,
    была написана внешняя обработка, таким образом, что в при формировании заказа поставщику, если есть скидка по товарам, то нажималась кнопка "рассчитать скидку" и и выводилась данная скидка пропорционально, для каждой номенклатуры в колонку "себестоимость" документа заказ поставщику.
    но сейчас ситуация такая, что скидка должна рассчитывать пропорционально и по позициям товаров и услуг.
    как сделать так, чтобы он пропорционально делил и по услугам и по товарам...
    вот код обработки

    Код:
    Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
    
    
    СуммаИтого = Объект.Товары.Итог("Сумма")+?(Объект.СуммаВключаетНДС,0,Объект.Товары.Итог("СуммаНДС"));
    Для Каждого СтрокаТЧ Из Объект.Товары Цикл
    СтрокаТЧ.ПлановаяСебестоимость = 0;
    КонецЦикла;
    Запрос = Новый Запрос("ВЫБРАТЬ
    | Значение КАК СуммаСкидки
    |ИЗ
    | РегистрСведений.ЗначенияСвойствОбъектов
    |ГДЕ
    | Объект	 = &Объект
    | И Свойство = &Свойство");
    
    Запрос.УстановитьПараметр("Свойство",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Скидка"));
    Запрос.УстановитьПараметр("Объект"  ,Объект.Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() тогда
    МассивКоэффициентов	  = Объект[ИмяТабличнойЧасти].ВыгрузитьКолонку("Сумма");
    Себестоимость			= СуммаИтого-Выборка.СуммаСкидки;
    МассивСуммСебестоимость  = ОбщегоНазначения.РаспределитьПропорционально(Себестоимость,МассивКоэффициентов);
    Объект[ИмяТабличнойЧасти].ЗагрузитьКолонку(МассивСуммСебестоимость,"ПлановаяСебестоимость");
    
    КонецЕсли;
    
    КонецПроцедуры

Поделиться этой страницей