Jump to content
forum-okna.ru

Recommended Posts

Posted (edited)

Предположим, что необходимо на покупные стеклопакеты внутри окна меньше 0.5 кв. м. сделать наценку для покупателя 15%, а на стеклопакеты больше 2 кв.м наценку 10%. Из карточки номенклатуры нужного стеклопакета нажмите.

Перейти- УПзП: Расширение номенклатуры,

закладка Формула,

и ввести туда следующий код на языке 1с:

 

Если Стр.SQR <0.5 Тогда

 Стр. Цена = Стр. Цена * 1.15;
Иначе Если Стр.SQR>2 Тогда
 Стр. Цена = Стр. Цена * 1.1;
Конец Если;

 

Это универсальный механизм, и он позволяет корректировать цену не только на стеклопакеты и не только в зависимости от площади. И не только цену.

Edited by oknosoft


Оконный портал tybet.ru | Подписка на новости | Бесплатные объявления | Наша телега | База оконных знаний | ОНЛАЙН-ВЫСТАВКА



Posted

Пример хороший.

1. Таких примеров нужно больше.

2. Скриншоты примеров здорово облегчают понимание примеров.

3. Описать переменные и формулы, которые можно использовать в поле "формула", чтобы появилось понимание, где и как можно самостоятельно использовать этот механизм.

Posted

Разделю ответ на три части:

1. Вводная, этот пост.

2. Описание переменных, описание сервисных функций, модуль и функция конфигурации где это используется.

3. Расширенный пример.

 

Спасибо за вопрос в частности (он в самую точку), и спасибо за роль в развитии нашей программы вообще. V.N.T - первый пользователь нашей рисовалки окон. Теперь таких внедрений много, но понятно, что первое - самое важное.

Раньше технология импортировалась из внешних программ, обычно из СуперОкон. Эта схема и сейчас работает, но она менее функциональна.

 

Какие возможности предоставляет произвольный код на языке 1с в ценообразовании?

Произвольные (любые). Вы можете использовать в определении себестоимости вашего материала текущий курс валют, гороскоп римского папы на прошлую среду и фазу луны. Ограничения лежат только в области здравого смысла и производительности компьютера.

Posted

Переменная Стр - это строка табличной части "Спецификация" справочника "ХарактеристикаНоменклатуры". Какие у нее есть поля- лучше посмотреть в конфигураторе, их немало. Она основная, так как именно она редактируется.

Переменная "стрПродукция"- структура с информацией о продукции. Есть поля Высота, Длина, Номенклатура, Характеристика. Полный список полей лучше посмотреть в конфигураторе, поставив точку останова в строке вызова, полей много у этой структуры. Также есть соответствие "Парам", ее тоже лучше в конфигураторе смотреть, десятки полей.

Вызов этой формулы осуществляется в функции пзЦенообразованиеСервер.ПолучитьЦенуНоменклатуры в этом коде

 

Попытка
Выполнить(СтрокаЦены.Формула);
Исключение
Попытка
Стр.Цена = Вычислить(СтрокаЦены.Формула);
Исключение
КонецПопытки;
КонецПопытки;

 

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

 

И никто не мешает подключить свою внешнюю обработку, и использовать ее при расчете цены. Это для учета фазы луны :) Только надо позаботиться о кешировании, так как она вызывается много раз и может быть очень медленно.

Posted

Второй пример. Предположим, мы хотим сэкономить, и для продукции, в наименовании которой есть слово "Балкон", из каждой кучки больше двух саморезов будем вынимать один саморез. Вот код для этого:

 

Если Найти(стрПродукция.Номенклатура.Наименование, "Балкон")>0 Тогда
Если Стр.QTY>2 Тогда
Стр.QTY = Стр.QTY -1;
КонецЕсли;
КонецЕсли;

 

На картинках ввод формулы, и спецификация на балкон и не на балкон.

 

Screenshot_1.png?etag=8720FCDE262502F9A8C12F0EB70AC9CF98593F84&x-email=0knosoft%40mail.ru

 

Screenshot_2.png?etag=967F8F3B4019F91317296AD3CA6C22295D70B1A7&x-email=0knosoft%40mail.ru

 

Screenshot_3.png?etag=276CCF8FFFC4C958CFD011D876162110CD033714&x-email=0knosoft%40mail.ru

  • Upvote 1
Posted

Переменная Стр - это строка табличной части "Спецификация" справочника "ХарактеристикаНоменклатуры". Какие у нее есть поля- лучше посмотреть в конфигураторе, их немало. Она основная, так как именно она редактируется.

Переменная "стрПродукция"- структура с информацией о продукции. Есть поля Высота, Длина, Номенклатура, Характеристика. Полный список полей лучше посмотреть в конфигураторе, поставив точку останова в строке вызова, полей много у этой структуры. Также есть соответствие "Парам", ее тоже лучше в конфигураторе смотреть, десятки полей.

 

 

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

Posted (edited)

Как я уже написал, нужно поставить точку останова в коде, описанном тут

http://forum-okna.ru...ndpost&p=348810

и, перезаписать продукцию. Щелкнуть на любом размере в построителе, и нажать сохранить.

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

Что касается замысла творца, то он очень прост. Данные переменные содержат поля, необходимые для решения задач.

 

upd.

"стрПродукция" содержит поля продукции, к которой относится наша строка спецификации "Стр". Это есть во втором примере. Парам призван по сути весь контекст заказа передать на сервер. И может быть востребован если, например, мы хотим чтобы строки заказа влияли на цены материалов в соседней строке.

 

 

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

Edited by oknosoft
Posted

Чтобы не быть голословным, три картинки. Первая про стрПродукция, две последующие про Парам

Screenshot_5.png?etag=BD7C7A37A82715A1DFBFDEA4758C11DD5D06E859&x-email=undefined

 

Screenshot_1.png?etag=1011E8A9AF4BFE0EE868D855566357E69D980412&x-email=undefined

 

Screenshot_2.png?etag=70F8A70CDDAAA9F8C2622163C9D03EDC724F9CD0&x-email=undefined

Posted (edited)

С вышеприведенными материалами понятно.

 

А в чём принципиальное различие вышеприведенного механизма и механизма "корректировка спецификации" ? Я так понимаю в том, что через корректировку мы можем оперировать и строками продукции? И почему тогда не "запихнуть" функционал поля "Формула" "Расширения номенклатуры" в "корректировку спецификации" ?

Edited by V.N.T.
Posted

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

Начнем с того, что "корректировка" может полностью создавать спецификацию. Доставки, монтажи, подоконники и пр. В этом случае просто некуда писать "формулу".

Корректировка настраивает спецификацию для конкретной продукции, а формула материала изначально привязана к материалу для всех продукций.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.