Ценовая власть (УТ 11.5) - 2

06.04.24

Разработка - Механизмы типовых конфигураций

В прошлый раз специальной обработкой мы выбрали объекты УТ 1.5, группируя по подсистемам. Оказалось, что состав подсистем не вполне корректно отображает функциональную структуру, но зато мы нашли процедуру, которая, вроде бы, должна содержать в себе всё, что нас интересует. Обновление цен должно ведь следовать выбранной стратегии ценообразования, верно? Иначе что она обновляет...

В первой статье приведен полный листинг процедуры, в которой мы ожидаем найти реализацию стратегии ценообразования.

Для обозримости, исключим из нее все, что (на наш взгляд) прямо не относится к предмету нашего интереса.

Получилось так: ... нет, не получилось. Уважаемый читатель. Разобрать эту процедуру - не два байта. В следующих строках моего письма пойдут логи моего первого прохода по представленному коду. Не ждите здесь чего-то на пальцах разжеванного. Подключайтесь к чтению кода, пожалуйста.

Вот верите? Тот случай редкий, когда хочется уже быть приятным и не надменным. Позитива хочется. Стратегии ценообразования!

Если ВидЦены.СпособЗаданияЦены = Перечисления.СпособыЗаданияЦен.ЗагружаетсяИзЯндексМаркет Тогда
Если ВидЦены.СпособЗаданияЦены = Перечисления.СпособыЗаданияЦен.ЗагружаетсяСOzon Тогда

... для означенных видов цен загружаем с сайта, Яндекс или Озон

Ну, что же, тоже стратегия. Назовем ее "По рынку".

С остальными видами начинается гранд-конструирование какой-то структуры, явно с какими-то очень сериозными намерениями

	СтруктураФормы = Новый Структура();
	СтруктураФормы.Вставить("Дата",				КонецДня(ТекущаяДатаСеанса()));
	СтруктураФормы.Вставить("Модифицированность",			Ложь);
	СтруктураФормы.Вставить("Объект",			ИнициализироватьОбъект());
	СтруктураФормы.Вставить("КодФормы",			"ОбработкаЗаполненияЦен_тест");
	СтруктураФормы.Вставить("ВыбранныеЦены",	ИнициализироватьТаблицуВыбранныеЦены());
	СтруктураФормы.Вставить("ДеревоЦен",		Новый ДеревоЗначений());
	СтруктураФормы.Вставить("ИспользоватьЦеновыеГруппы", 				ПолучитьФункциональнуюОпцию("ИспользоватьЦеновыеГруппы"));
	СтруктураФормы.Вставить("ИспользоватьХарактеристикиНоменклатуры", 	ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры"));
	СтруктураФормы.Вставить("ИспользоватьУпаковкиНоменклатуры", 		ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры"));
	СтруктураФормы.Вставить("ИспользоватьСерииНоменклатуры", 			ПолучитьФункциональнуюОпцию("ИспользоватьСерииНоменклатуры"));
	СтруктураФормы.Вставить("ИспользоватьНесколькоВидовЦен", 			ПолучитьФункциональнуюОпцию("ИспользоватьНесколькоВидовЦен"));
	СтруктураФормы.Вставить("ИспользуетсяЦенообразование25", 			ЦенообразованиеВызовСервера.ИспользуетсяЦенообразование25(КонецДня(ТекущаяДатаСеанса())));
	СтруктураФормы.Вставить("АдресХранилищаКэшаДанных", 				"");
	СтруктураФормы.Вставить("ВариантГруппировки",			Неопределено);
	СтруктураФормы.Вставить("ВыбранныеЦеныИзменены",		Ложь);
	СтруктураФормы.Вставить("РассчитыватьАвтоматически",	Истина);
	СтруктураФормы.Вставить("УникальныйИдентификатор", 		Новый УникальныйИдентификатор());
	СтруктураФормы.Вставить("АдресХранилищаПараметровСхемКомпоновкиПоВидамЦен",	"");
	СтруктураФормы.Вставить("АдресХранилищаНастройкиКомпоновкиДанных",	"");
	СтруктураФормы.Вставить("ТаблицаНастройкиКомпоновкиДанных");

... вот и опции подошли.

Белый и пушистый, говоришь? Надолго тебя не хватит. Что там было с ФО_20 и ФО_25? А не важно, грузим обе. Сюпри-из :)

Автор, будь осторожен и внимателен! Их тошнит от тебя, а не от их собственного кода, помни об этом!

	ДокументУстановкиЦен = Документы.УстановкаЦенНоменклатуры.ПустаяСсылка();
	СтруктураФормы.Объект.Вставить("Товары", ДокументУстановкиЦен.Товары);
	СтруктураФормы.Объект.Вставить("Товары2_5", ДокументУстановкиЦен.Товары2_5);

Процедура ИнициализироватьВыбранныеЦеныНоменклатуры(Форма, МассивВидоВЦен = Неопределено,ТаблицаВидовЦен = Неопределено)

... в цикле по справочнику ВидыЦен заполняет СтруктураФормы - много букв, пока пропустим.

Отдельно (следом) получаем СтрокаВидЦен.СхемаКомпоновкиДанных

	// 	заполнить товары по отборам номенклатуры
	УстановкаЦенСервер.ПостроитьДеревоЦен(СтруктураФормы);

И дальше:

УстановитьЦены(МассивВидовЦен, СтруктураФормы, ?(Индекс = 1, "Обновление", "Обнуление"))

Итак, мы получили для исследования еще две процедуры. Ну, мы ведь не ждали, что будет легко, верно?

Как отправляемся за ценами на сторонние сайты, мы видели. Теперь надо искать, когда сработают функциональные опции (и, может быть, что-то еще).

Может оказаться, что они работают в уже загруженных в структуру формы СКД и формулах.

Далее мы скопипастим сюда две найденные процедуры, ПостроитьДеревоЦен и УстановитьЦены. Во второй из них, небольшой самой по себе (мы ее и не станем копипастить), нас ждет еще одна:

УстановкаЦенСервер.РассчитатьЦены(СтруктураФормы, ПараметрыРасчета)

... после чего уже имеем результат:

Документы.УстановкаЦенНоменклатуры.ЗаписатьИзмененияЦенНаСервере(СтруктураФормы, ТекстКомментария, 1);

Хорошее время, чтобы вспомнить Генри и его друзей. Он занимался математикой. Ученый. И стал применять всякие умные формулы к чисто эмпирическим маркетинговым приемчикам. Потом как-то структурировал презентации, и получилось то, что теперь называется "стратегиями ценообразования". То есть, строго говоря, это - не научная теория. Уже в процессе его коммерческой деятельности, как он сам рассказывает, появляются новые и новые эмпирические штучки, которые его "удивляют". Остается только снабдить эти штучки красивыми графиками (диаграммами), и дело пошло. В этом смысле - относительно появления новых штучек - предсказательная сила этой "науки" равна нулю.

Но его практические рекомендации чаще выстреливают, чем не выстреливают. Но выстреливают они не от того, что математика. Ценообразование , и вся экономика в целом, выстреливают тогда, когда продавец и покупатель находят взаимовыгодный компромисс. Покупатель получает удовлетворение какой-то своей хотелки за некоторую сумму денег, а продавец покрывает (не всегда) свои затраты и сколько-то сверху.

А теперь построим дерево цен и спрячем строительство под катом. Разбирать будем в следующий раз. Там действительно много букв, не раскрывайте кат, если у вас в этом нет реальной необходимости. В конфигураторе это выглядит не настолько пугающе.
 

 
спойлер

ценообразование

См. также

Ценовая власть. Выносим из цикла схему СКД

Механизмы типовых конфигураций Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Продолжение темы вынесения кусков повторно-используемого кода в запрос. В прошлый раз мы сделали это с вычислением пользовательских формул. Здесь замахнулись на формулы, задаваемые пользователем запросами.

1 стартмани

11.04.2024    633    tango    1    

3

Формула в реквизите. Приквелл к сериалу "Ценовая власть"

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Какому-либо элементу списка сопоставляется числовое значение, зависящее от других значений, причем эта зависимость изменяется от элемента к элементу. Так, в справочнике "Валюты" курс какой-либо валюты может быть задан формулой (или даже запросом) от значения другой валюты. А в справочнике "Виды цен" формула определяет расчет цены для товарной позиции, т.е. элементов справочника "Номенклатура", у которых в карточке указан этот вид цены. А в 1С:ERP, например, этот механизм используется в ресурсной спецификации.

10 стартмани

11.04.2024    496    tango    5    

4

Ценовая власть. Второй сезон

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Бесплатно (free)

В первом сезоне мы рассмотрели (с точки зрения программиста) внутренний механизм, помещающий цены в регистр "Цены". Из этого регистра цена попадает в исходящие УПД (в продажи). Но эта цена (в прайс-листе) дифференцирована (ценообразована) в разрезах свойств самой номенклатуры. Но стратегия ценообразования, ценовая власть - это в первую очередь о работе с ценами для клиента. И тут вступает в дело второй акт марлезонского, Скидки (наценки) и кешбек.

08.04.2024    859    tango    0    

2

Ценовая власть или Управление ценообразованием (УТ 11.5)

Ценообразование, анализ цен Механизмы типовых конфигураций Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Ценовая власть - это способность (возможность) компании изменять в некоторых пределах отпускную цену своего товара (услуг, продукции). Чем в более широких пределах вы можете играть в цену продажи, тем больше этой власти у вас. Если вы не можете управлять отпускной ценой, то это или не ваш бизнес, или не бизнес вовсе. Здесь в рубрике "База знаний аналитика и руководителя проекта" слово проект не ограничено "проектом в 1С". Посмотрим, что для этого есть в УТ 11.5.

1 стартмани

05.04.2024    715    tango    12    

2

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2917    YA_418728146    11    

49

Регистры накопления в 1С:КА2 и 1С:ERP для расчета НДФЛ, страховых взносов и взаиморасчетов с сотрудниками на январь 2024 года. Краткое описание

Зарплата Механизмы типовых конфигураций Программист Бухгалтер Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Для расчета зарплаты и соответствующих налогов в конфигурациях 1С:КА2 и 1С:ERP используется 22 регистра накопления, 7 регистров сведений, 1 регистр расчета и бухгалтерские проводки. В таблице приведены названия этих регистров, указаны основные регистраторы и виды движений приход/расход. В описании приводится краткое функциональное назначение регистров в основных зарплатных процессах. Описание регистров родилось из черновиков при написании различных отчетов и обработок при эксплуатации 1С-овских конфигураций и исправлении ошибок по НДФЛ, взаиморасчетов с сотрудниками и прочих. Информация не претендует на полноценное описание работы регистров, скорее это дискуссионный материал. Но, возможно, кому-то пригодится и сократит время при подготовке отчетности за непростой (в плане учета зарплаты) 2023 год. А возможно, кто-то поделится своим опытом.

1 стартмани

10.01.2024    1412    8    2ncom    6    

8

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Стажер Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    5261    mrXoxot    11    

104
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. o.nikolaev 213 07.04.24 21:26 Сейчас в теме
1) Глядя на такой код вспоминается старый фильм "Казино".
...
- Какой рукой ты подавал ему сигналы?!!
- Правой :(
(удар молотком по правой руке)
...
2) Не стреляйте в разрабов. У них СРОКИ и РАСПИСАНИЕ ВЫПУСКА РЕЛИЗОВ.
3) Так понимаю что код будет скоро как код Oracle. Куча флагов которые надо править пока тесты не перестанут падать.
Оставьте свое сообщение