Имя: Пароль:
1C
1С v8
Установка цен граппам товара
,
0 dcbal
 
19.06.13
11:40
Всем привет.
Подскажите решение задачи:
В справочнике номенклатура есть группы мониторы, принтеры, процессоры. В справочнике тип цены номенклатуры создал розничную с наценкой 20%.
Как мне назначить наценку розничной цены на каждую группу свою, например:
мониторы - 20%
принтеры - 15%
процессоры - 10%
1 Slon747
 
19.06.13
11:54
(0) Всё зависит от конфы, но думаю, что нигде это не предусмотрено.
Я нечто подобное делал сам, изменяя логику ценообразования.
2 ДенисЧ
 
19.06.13
11:55
граппа - это водка такая...
3 cdiamond
 
19.06.13
11:56
(2) кощунствуешь, это священный напиток :)
4 Cashtane
 
19.06.13
11:57
(3) Это виноградная водка.
5 dcbal
 
19.06.13
12:00
Извините забыл написать конфига УТ для Украины, если кто то такое делал, подскажите как?
6 Slon747
 
19.06.13
12:14
(5) У меня как раз и была УТ для Украины.
Требовалось, чтобы один из магазинов продавал товар определенного вида по другой цене.
Я использовал ЦеновыеГруппы (реквизит номенклатуры), а далее исходя из ценовой группы в "ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти"
при расчете цены подставлял необходимый тип цен.
Ну я еще использовал рег. сведений, в котором прописал эти условия, но это детали.
7 dcbal
 
19.06.13
12:17
Можно подробней про (ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти)
8 Slon747
 
19.06.13
12:26
(7) Вот мои зменения.

Процедура ЗаполнитьЕдиницуЦенуПродажиТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, ВалютаРегламентированногоУчета, ВалютаДокумента =Неопределено, ТипЦен = Неопределено) Экспорт

   ИмяТабличнойЧасти = ОбщегоНазначения.ПолучитьИмяТабличнойЧастиПоСсылкеНаСтроку(СтрокаТабличнойЧасти);

   МетаданныеДокумента = ДокументОбъект.Метаданные();
   
   //нач слон 12.04.2013. Для документов ЧекККМ и ОтчетОРозничныхПродажах выбор типа цены происходит исходя из подразделения и номенклатурной группы
   //Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда
   //    ТекТипЦен = ДокументОбъект.ТипЦен;
   //Иначе
   //    ТекТипЦен = ТипЦен;
   //КонецЕсли;
   Если (ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ЧекККМ")) Или (ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ОтчетОРозничныхПродажах")) Тогда
       ТекТипЦен = УправлениеРозничнойТорговлей.ПолучитьТипЦенРозничнойПродажи(ДокументОбъект, СтрокаТабличнойЧасти.Номенклатура.ЦеноваяГруппа);
   Иначе
       Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда
           ТекТипЦен = ДокументОбъект.ТипЦен;
       Иначе
           ТекТипЦен = ТипЦен;
       КонецЕсли;
   КонецЕсли;
   //кон слон

......
......
всё остальное как было

Ф-я "ПолучитьТипЦенРозничнойПродажи" возвращает тип цен исходя из подразделения и ценовой группы.

P.S. Надо учесть, что моя конфа отпочковалась от типовой еще в 2005 г. так что у тебя может быть иначе.
9 dcbal
 
19.06.13
12:34
Извините но я одного не понял, где вводить процент группы товаров?
10 Slon747
 
19.06.13
12:44
(9) У меня условия хранятся в регистре ТипыЦенРозничнойТорговлиПоПодразделениям
Измерения: Подразделение, ЦеноваяГруппа
Ресурсы: ТипЦен
Сама ф-я, о которой я писал выше:

//Ф-я возвращает тип цен розничной торговли для подразделения и ценовой группы
Функция ПолучитьТипЦенРозничнойПродажи(ДокументОбъект, ЦеноваяГруппа) Экспорт

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

КонецФункции
11 dcbal
 
19.06.13
13:05
Понял спасибо за помощь.