IE 2016

Установка цен Управление Торговлей 11. Произвольный запрос к данным ИБ.

Опубликовал karpik666 в раздел Программирование - Практика программирования

Как формировать цены с помощью произвольного запроса в Управление Торговлей 11

Для понимания работы с видами цен советую прочитать эту статью http://infostart.ru/public/195575/ - довольно интересно и с картинками. 

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

Основные:

  • Номенклатура – тип Справочник.Номенклатура;
  • Валюта – тип Справочник.Валюта;
  • Цена – тип Число;

Дополнительные:

  • Характеристика – тип Справочник.ХарактеристикиНоменклатуры (Если в организации ведется учет по Характеристикам)
  • Упаковка – тип Справочник.УпаковкиНоменклатуры (Если в организации ведется учет по Упаковкам);
  • Коэффициент – тип Число (Если в организации ведется учет по Упаковкам);

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

Самый простой вариант появляется при создании схемы с нуля, при выборе «Произвольной» схемы:

ВЫБРАТЬ
                ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
                ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
                ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) КАК Упаковка,
                1 КАК Коэффициент,
                0 КАК Цена,
                ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) КАК Валюта
{ВЫБРАТЬ
                Номенклатура.*,
                Характеристика.*,
                Упаковка.*,
                Коэффициент,
                Цена,
                Валюта.*}

Если вы сейчас попытаетесь записать цену, то появится такого рода ошибка: «Схема компоновки данных для заполнения цен должна содержать поле "Валюта" с типом значения "Валюта".» Для ее решения необходимо напрямую указать тип значения для каждого поля СКД.

ТипЗначения СКД

Когда происходит расчет цены, то программно накладывает отбор по Номенклатуре и Характеристике, таким образом не нужны самим накладывать его. Один из вариантов получения номенклатуры:

ВЫБРАТЬ
                Номенклатура.Ссылка КАК Номенклатура,
                ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
                Справочник.Номенклатура КАК Номенклатура
                               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
                               ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
{ГДЕ
                Номенклатура.Ссылка.* КАК Номенклатура,
                (ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))) КАК Характеристика}
ИНДЕКСИРОВАТЬ ПО
                Характеристика,
                Номенклатура

Вариант получения номенклатуры от разработчиков Управление торговлей 11:

ВЫБРАТЬ РАЗЛИЧНЫЕ
                Сегменты.Номенклатура,
                Сегменты.Характеристика,
                ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
                РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
                Сегменты.Сегмент.* КАК СегментНоменклатуры,
                Сегменты.Номенклатура.* КАК Номенклатура,
                Сегменты.Характеристика.* КАК Характеристика}
 
ИНДЕКСИРОВАТЬ ПО
                Сегменты.Номенклатура,
                Сегменты.Характеристика,
                ИспользуетсяОтборПоСегментуНоменклатуры
;
 

Существуют также предопределенные параметры, которые можно использовать в запросе:

  • &ВидЦены – содержит вид цены, для которого рассчитывается цена
  • &ДатаДокумента – принимает значение либо дату документа установки цен, либо если идет расчет прайса, то дату в форме, если дата не заполнена, то принимает значение ТекущаяДата()
  • &ИспользуетсяОтборПоСегментуНоменклатуры – принимает значение Ложь или Истина.

Есть параметры, которые доступные только из документа Установка цен:

  • &Основание – содержит документ на основании которого вводится документ Установка Цен, например Поступление товаров и услуг
  • &ЭтоВводНаОсновании – принимает значение Ложь или Истина, в зависимости от того заполнен ли документОснование.

В форме заполнения прайса эти параметры не доступны, для более корректной работы с этими параметрами следует заполнить для них значения по умолчанию на закладке «параметры» СКД, например, &ЭтоВводНаОсновании – значение Ложь.

Для предопределенных параметров следует выставлять ограничение доступности.

Параметры СКД

Для всех остальных параметров, которые вы вводите следует либо заполнять по умолчанию, либо заполнять при первом создании цены и в дальнейшем не менять. Для примера можно посмотреть как реализована «Цена поступления»

Добавлено 28.02.2015

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

Порядок действий

  1. Открываем справочник «Виды цен» добавляем свою цену, называем ее как-то по-особому, например, «моя первая цена» и нажимаем «использовать полные возможности», затем выбираем «Произвольный запрос к данным ИБ» -> Схема компоновки данных «Произвольный» и нажимаем «редактировать»
  2. На открывшейся панели нажимаем «редактировать схему компоновки»

Планируем общую логику работы:

А) Вначале получаем номенклатуру и ее характеристику;

Б) получаем для них последний документ поступления, здесь может быть два варианта, если мы вводим цену из документа установки цен и на основании поступления, то получим поступление очень просто - &Основание, если же оно пустое или вводится из «прайс листа», то необходимо получить последнее проведенное поступление не превышающую даты установки цен (&ДатаДокумента).

3. Получить сколько процентов составляет одна единица номенклатуры от цены поступления и цену номенклатуры (если бы нам нужно было только получить цену поступления, то на этом можно остановиться).

4. Получаем сумму всех поступлений товаров и услуг, где в аналитике указано это поступление товаров и услуг (мы не будем определять, как ложатся расходы на себестоимость – пусть будут пропорционально).

5 Затем получаем цену номенклатуры: цена поступления + процент от поступления * сумма доп расходов.

Начнем по порядку: для получения номенклатуры будем использовать типовую часть запроса через сегменты номенклатуры.

Отдельным запросом введем видцены и его рекзивизит «ЦенаВключаетНДС» - он понадобится для корректной установки цены на поступление, в этом запросе мы используем известный на параметры &ВидЦены, чтобы получить данные по текущей цене.

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
            ВидЦены.Ссылка КАК ВидЦены,
            ВидЦены.ЦенаВключаетНДС
ПОМЕСТИТЬ ВТВидыЦен
ИЗ
            Справочник.ВидыЦен КАК ВидЦены
ГДЕ
            ВидЦены.Ссылка = &ВидЦены
;

Теперь нам нужно получить документ поступления и цену номенклатуры из этого документа. Может быть 2 случая, либо мы вводим установку цен на основании документа поступления и тогда «основание» нам известно, либо устанавливаем через форму прайс листа, где основание неизвестно и нам придется искать последний документ поступления до ввода прайса. Рассмотрим каждый случай по отдельности.

Какие поля нам нужно получить? Это номенклатура, характеристика, упаковка (если ведется учет по упаковкам), валюта (хотя я не буду ее получать, есть более простой способ ее получения), цена (с учетом НДС или без нее) и ПроцентОтПоступления (Процент отношения суммыдокумента от цены на номенклатуры, необходим, чтобы потом получить часть суммы от доп расходов и распределить ее на цену). В первом случае получить документ очень просто:

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
            ПоступлениеТоваровУслугТовары.Ссылка,
            ОтборПоСегментуНоменклатуры.Номенклатура,
            ОтборПоСегментуНоменклатуры.Характеристика,
            ВЫРАЗИТЬ(ВЫБОР
                                   КОГДА ВТВидыЦен.ЦенаВключаетНДС
                                                                       И ПоступлениеТоваровУслугТовары.Ссылка.ЦенаВключаетНДС
                                                           ИЛИ НЕ ВТВидыЦен.ЦенаВключаетНДС
                                                                       И НЕ ПоступлениеТоваровУслугТовары.Ссылка.ЦенаВключаетНДС
                                               ТОГДА ПоступлениеТоваровУслугТовары.Цена
                                   КОГДА ВТВидыЦен.ЦенаВключаетНДС
                                                           И НЕ ПоступлениеТоваровУслугТовары.Ссылка.ЦенаВключаетНДС
                                               ТОГДА (ПоступлениеТоваровУслугТовары.Сумма + ПоступлениеТоваровУслугТовары.СуммаНДС) / ПоступлениеТоваровУслугТовары.Количество
                                   КОГДА НЕ ВТВидыЦен.ЦенаВключаетНДС
                                                           И ПоступлениеТоваровУслугТовары.Ссылка.ЦенаВключаетНДС
                                               ТОГДА (ПоступлениеТоваровУслугТовары.Сумма - ПоступлениеТоваровУслугТовары.СуммаНДС) / ПоступлениеТоваровУслугТовары.Количество
                        КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Цена,
            ВЫБОР
                        КОГДА ПоступлениеТоваровУслугТовары.Цена = 0
                                   ТОГДА 0
                        ИНАЧЕ ВЫРАЗИТЬ(ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента / ПоступлениеТоваровУслугТовары.Цена КАК ЧИСЛО(15, 3))
            КОНЕЦ КАК ПроцентОтПоступления,
            ПоступлениеТоваровУслугТовары.Упаковка
ПОМЕСТИТЬ ВТДокументПоступления
ИЗ
            Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ОтборПоСегментуНоменклатуры
                        ПО ПоступлениеТоваровУслугТовары.Номенклатура = ОтборПоСегментуНоменклатуры.Номенклатура
                                   И ПоступлениеТоваровУслугТовары.Характеристика = ОтборПоСегментуНоменклатуры.Характеристика
                                   И (ПоступлениеТоваровУслугТовары.Ссылка = &Основание)
                                   И (&ЭтоВводНаОсновании),
            ВТВидыЦен КАК ВТВидыЦен

Здесь использованы типовые параметры: &Основание и &ЭтоВводНаОсновании – и запрос будет выполняться, когда «ЭтоВводНаОсновании» = Истина;

Теперь получим запрос, который будет исполняться, если «ЭтоВводНаОсновании» = Ложь, а затем объединим его с имеющимся. Второй запрос только отличается тем, что для него рассчитана Дата поступления номенклатуры, а затем она связывается с поступлением, как и Основание в первом запросе, поэтому привожу только код получения последней даты поступления.

 

ВЫБРАТЬ
            ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
            ПоступлениеТоваровУслугТовары.Характеристика КАК Характеристика,
            МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата
ИЗ
            Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ОтборПоСегментуНоменклатуры
                        ПО ПоступлениеТоваровУслугТовары.Номенклатура = ОтборПоСегментуНоменклатуры.Номенклатура
                                   И ПоступлениеТоваровУслугТовары.Характеристика = ОтборПоСегментуНоменклатуры.Характеристика
                                   И (ПоступлениеТоваровУслугТовары.Ссылка.Проведен)
                                   И (НЕ &ЭтоВводНаОсновании)
                                   И (ПоступлениеТоваровУслугТовары.Ссылка.Дата <= ВЫБОР
                                               КОГДА КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ) > &ТекДата
                                                           ТОГДА &ТекДата
                                               ИНАЧЕ КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ)
                                   КОНЕЦ)
 
СГРУППИРОВАТЬ ПО
            ПоступлениеТоваровУслугТовары.Номенклатура,
            ПоступлениеТоваровУслугТовары.Характеристика

В этом запросе следует обратить внимание на то, что группировка происходит по номенклатуре, хотя по идее можно просто получить максимум от даты без учета номенклатуры, но дело в том, что при программном заполнении СКД попадает не строчка с номенклатурой, а целая таблица, которая содержит все номенклатуры документа установки, из-за этого, если я не буду ставить группировку, то я могу получить дату последнего поступления не нужной нам номенклатуры. Также в этом запросе я использовал новый Параметр &ТекДата – это пользовательский параметр, которому я присвою выражение «ТекущаяДата()». Я ввел этот параметр так как &ДатаДокумента не содержит время, а только дату, это связано с тем, что сам механизм расстановки времени документа Установи цен номенклатуры построен таким образом, что первому документу присваивается дата на 0:00:00, а к следующему прибавляется секунда, поэтому есть даже специальный реквизит, который указывает порядок документа в пределах дня, на самом деле, это количество секунд, прошедшие с нулевой даты.

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

ВЫБРАТЬ
            СУММА(ВТДокументПоступления.ПроцентОтПоступления * ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента) КАК ДопРасход,
            ВТДокументПоступления.Номенклатура,
            ВТДокументПоступления.Характеристика,
            ВТДокументПоступления.Ссылка КАК ДокументПоступления
ПОМЕСТИТЬ ВТДопРасходы
ИЗ
            ВТДокументПоступления КАК ВТДокументПоступления
                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                        ПО ВТДокументПоступления.Ссылка = ПоступлениеТоваровУслугТовары.АналитикаРасходов
 
СГРУППИРОВАТЬ ПО
            ВТДокументПоступления.Номенклатура,
            ВТДокументПоступления.Характеристика,
            ВТДокументПоступления.Ссылка
;

 

И остается последний штрих, это связать допрасходы с ценой поступления, добавить валюту и коэффициент упаковки, а также добавить процент наценки; я делаю это так:

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
            ВТДокументПоступления.Номенклатура,
            ВТДокументПоступления.Характеристика,
            (1 + &ПроцентНаценки / 100) * (ВТДокументПоступления.Цена + ЕСТЬNULL(ВТДопРасходы.ДопРасход, 0)) КАК Цена,
            ВТДокументПоступления.Упаковка,
            ЕСТЬNULL(ВТДокументПоступления.Упаковка.Коэффициент, 1) КАК Коэффициент,
            Константы.ВалютаРегламентированногоУчета КАК Валюта
ИЗ
            ВТДокументПоступления КАК ВТДокументПоступления
                        ЛЕВОЕ СОЕДИНЕНИЕ ВТДопРасходы КАК ВТДопРасходы
                        ПО ВТДокументПоступления.Ссылка = ВТДопРасходы.ДокументПоступления
                                   И ВТДокументПоступления.Номенклатура = ВТДопРасходы.Номенклатура
                                   И ВТДокументПоступления.Характеристика = ВТДопРасходы.Характеристика
                        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Константы КАК Константы
                        ПО (ИСТИНА)

Запрос готов, теперь нам остается: проставить типы для полей на закладке «наборы данных», как я говорил ранее. Проставить для всех параметров, кроме ПроцентНаценки,  ограничение доступности. Проставить для &ТекДата выражение «ТекущаяДата()».

После всего этого нажимаем «ОК». На закладке «Параметры» ставим желаемый процент наценки и Записываем цену. Наша цена готова.

Готовый вариант такой схемы прикрепил в конце статьи.

З.Ы. Если мои объяснения показались слишком длинными и занудными – простите, я не большой знаток как писать обучающие лекции. Надеюсь, было все понятно, свои пожелания и замечания оставляйте в комментариях

 

Мои работы:

Общее

Перенос данных XML с Анализом и выборочной загрузкой.

Универсальный редактор таблиц и движения документа (LITE) (Обычная Форма)

Универсальный редактор таблиц и движения документа (PRO) (Обычная Форма)

Универсальный редактор Таблиц и Движений документов (Управляемая форма)

Запуск 1С под другим пользователем без пароля.

Защита разработок от копирования (Обычная и Управляемая форма)

 

Управление торговлей 11

Установка цен в УТ11. Произвольный запрос к данным ИБ

 

ЗУП 2.5

Скрываем неиспользуемые виды расчета

Резервы отпусков в Документе "Отражение Зарплаты в Регламентированном Учете" (Оценочные Обязательства)

 

Комплексная И УПП

Форма работы с сотрудниками, как из зуп 2.5

См. также

Комментарии

1. cleaner_it 22.02.2015 10:15
(0) Маловато будет)
Ответили: (2)
# Ответить
2. karpik666 22.02.2015 10:20
(1) cleaner_it, Какие есть предложения по расширению статьи?=)
# Ответить
3. grfru 23.02.2015 18:08
Маловато. Было бы отлично с подробным разбором и примером.
Ответили: (4)
# Ответить
4. karpik666 23.02.2015 18:25
(3) grfru, хорошо, как будет возможность, добавлю в статью разбор типового запроса цены и на ее основе создам свой.
# Ответить
5. karpik666 27.02.2015 20:57
Так как к статье нельзя крепить файлы, то вот готовая схема СКД цены из статьи

Прикрепленные файлы:

Моя первая цена.xml
# Ответить
6. aramius 19.03.2015 19:18
Подскажите, какой Запрос сделать, чтобы из Цены Дилер, получить расчетную цену "Дилер без НДС",

Просто делить на 1.18 нельзя, т.к. у всех товаров НДС разный.
Ответили: (7)
# Ответить
7. karpik666 19.03.2015 19:45
(6) aramius, на вскидку можно из номенклатуры взять саму ставку, а затем в запросе через Выбор прописывать процент на который делится. Например
ЦенаДилера / Выбор Когда Номенклатура.СтавкаНДС = Значение(Перечисление.СтавкиНДС.НДС18) Тогда 1.18 
Когда Номенклатура.СтавкаНДС = Значение(Перечисление.СтавкиНДС.НДС10) Тогда 1.1  
Иначе 1 Конец
# Ответить
8. vit1c 16.07.2015 17:48
Какой будет запрос для определенного вида цены?
# Ответить
9. vit1c 16.07.2015 17:53
Что -то типа?:
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Характеристика,
	ЦеныНоменклатурыСрезПоследних.Цена,
	ЦеныНоменклатурыСрезПоследних.Валюта,
	ЦеныНоменклатурыСрезПоследних.Упаковка,
	1 КАК Коэффициент
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
...Показать Скрыть
Ответили: (10) (17)
# Ответить
10. karpik666 16.07.2015 18:24
(9) vit1c, ее не нужно получать, при расчетах вид цены берется из документа установки цен, и сам автоматически подставляется в ее расчет.
Если просто необходимо получить уже установленную цену для номенклатуры, то в принципе такой запрос подойдет.
# Ответить
11. azovgsm 02.08.2015 01:11
Подскажите пожалуйста почему в при выборе типового запроса "Цены поступления" в некоторых случаях вставляется Цена без НДС а в некоторых Цена с НДС. Заранее благодарен!
Ответили: (12)
# Ответить
12. karpik666 02.08.2015 07:33
(11) azovgsm, может у вас в самой номенклатуре указано, что она "без ндс", поэтому и цена без нее.
# Ответить
13. azovgsm 02.08.2015 12:54
Спасибо за ответ. Действительно, так и есть. В справочнике номенклатура стоит Цена Без НДС, но если ставить НДС к примеру 10%, то ничего не изменяется, в документ установка цен все равно попадает цена - НДС.
Ответили: (14)
# Ответить
14. karpik666 03.08.2015 05:37
(13) azovgsm, а посмотрите еще в документе поступления, там цена с ндс или без указан
# Ответить
15. Кошкин Василий 19.01.2016 23:28
УТ11.1
Вопрос такой:
Можно ли сделать так, чтобы вид цен РекомендуемаяЦена заполнялся по формуле
РекомендуемаяЦена = цена поставщика Завод , (Завод - это партнер(поставщик) из справочника)
не на основании Заказа поставщику или Поступления , а просто в документе Установка цен или в с рабочего места Цены(Прайс-лист)
Поясню.
От поставщика" Завод" мы получаем прайс на товар с ценой "Рекомендуемая". По этой цене мы продаем нашим клиентам товар, делая различные сложные скидки. А также по этой же Рекомендуемой цене мы покупаем товар у поставщика Завод, но скидки, конечно, Завод нам делает гораздо большие и они тоже сложные. Скидки разные на разные товары (от 10 до 50%). Скидки зависят от того, предоплата или отсрочка. сколько дней отсрочка, какой товар, и проч. в общем сложные скидки. Скидки у нас настроены, все нормально.
Но, мы вынуждены заводить (обновлять) регулярно объемный прайс Рекомендуемой цены.ВРУЧНУЮ ДВАЖДЫ.
Один раз - создавая Цены поставщика (Прайс-лист), колонка цены (вид цены) - Рекомендованная, поставщик - Завод.
Второй раз - Создавая свой Цены (прайс-лист), колонки прайс-листа (вид цен) РекомендуемаяЦена.
Нам не хочется заводить одни и те же цифры (Рекомендованный прайс Завода) в наш прайс и в прайс поставщика. Хочется сначала заполнить один прайс поставщика, а из него - автоматически -прайс наш.
Ответили: (16)
# Ответить
16. karpik666 22.01.2016 09:37
(15) Кошкин Василий, здравствуйте, попробуйте настроить вторую цена, как рассчитываемую на основании первой, в проценте надбавки указать 0
# Ответить
17. InWith 23.01.2016 16:22
(0) Спасибо за статью, очень полезно.

Задался настройкой данного механизма. Смог настроить произвольным запросом один вид цен (ВидЦен1). Сделал установку цен для ВидЦен1. Теперь хочу другим произвольным запросом рассчитать ВидЦен2 по формуле, например ВидЦен1 * x (где x - получаю из БД). Пытался получить ВидЦен1 как у (9), в конструкторе запрос работает как нужно, но в виде цен - не работает.

Уважаемый karpik666, было бы не плохо, если бы Вы объяснили как вид цен рассчитанной произвольным запросом, в другом виде цен, который настраивается произвольным запросом... )))
Ответили: (18)
# Ответить
18. karpik666 23.01.2016 16:52
(17) InWith, здравствуйте, к сожалению сейчас с управлением торговлей не работаю, поэтому как-то подробней тему не смогу раскрыть.
# Ответить
19. Spacer 05.07.2016 12:40
Добрый день! Хорошая статья.
Не подскажете как можно сделать следующее:
В документ реализации нужно включать стоимость доставки. Стоимость доставки рассчитывается как 10% от стоимости всего заказа.
Хотелось бы реализовать такую схему типовыми средствами.
Создаю номенклатуру "Доставка товара" с типом услуга. В типовом соглашении об условиях продаж на закладке "Уточнение цен по товарам"
добавляю номенклатуру "Доставка товара" указываю вид цены "Доставка".
В карточке этого вида цены указываю: использовать "при продаже клиентам"; способ задания цены "произвольный запрос к данным ИБ".
В поле схема компоновки данных "произвольный".
И вот теперь вопрос: как в этой схеме получить стоимость доставки путем суммирования стоимости всех товаров в заказе и умножения этой стоимости на 10%.
Возможно ли это? Или может я пошел не тем путем и лучше реализовать все это как то по другому?
Ответили: (20)
# Ответить
20. h00k 05.07.2016 13:00
(19) Spacer,
Или может я пошел не тем путем и лучше реализовать все это как то по другому?

Правильней, да и проще, реализовать обработкой заполнения для документа.
# Ответить
21. kassbar 06.08.2016 11:58
Ответили: (23)
# Ответить
22. kassbar 06.08.2016 11:59
все сделал по инструкции, ввел значение параметра, но ничего не считает, пишет параметр не заполен
# Ответить
23. karpik666 06.08.2016 13:47
(21) kassbar, здравствуйте, пришлите мне в сообщении сам запрос, все ли в нем верно.
Ответили: (24)
# Ответить
24. kassbar 07.08.2016 09:54
(23) karpik666,
Привет, вот запрос простейший, мне нужно установить цену в зависимости от веса номенклатуры. единственный параметр - коэфиициент, ставил и программно и при установке цены, не работает..

Ответили: (25)
# Ответить
25. karpik666 07.08.2016 11:05
(24) kassbar, ну у меня тоже пишет, что параметры не заполнены, но цену считает, а вот запрос, у вас какой-то странный. Вы не все делали, как написано в статье. В в полях номенклатура и валюта должны быть ссылочные поля, а не строки.
# Ответить
26. karpik666 07.08.2016 11:06
Должно быть Валюта.Ссылка КаК Валюта, и Номенклатура.Ссылка КАК Номенклатура.
# Ответить
27. kassbar 07.08.2016 16:57
я уже по-всякому писал, и ссылка, и с фигурными скобками и без, не считает все равно
# Ответить
28. karpik666 07.08.2016 17:49
(27) Загрузите данную схему себе, у меня она точно работает. Плюс такие настройки должны быть в самой цене. А в прайс-листе когда будете рассчитывать цены - при заполнении ничего не проставится и нужно нажать "Рассчитать вычисляемые".

Прикрепленные файлы:

Снимок.PNG
Моя первая цена.xml
# Ответить
29. kassbar 08.08.2016 08:47
Спасибо )
Добавьте пож-та в статью этот пункт "А в прайс-листе когда будете рассчитывать цены - при заполнении ничего не проставится и нужно нажать "Рассчитать вычисляемые".
Собственно в нем и была вся загвоздка, просто по нажатию кнопки "сформировать" расчета цены не происходит, только заполняется колонка ном-ры.
Все работает, супер !
Ответили: (30)
# Ответить
30. karpik666 08.08.2016 13:07
(29) kassbar, пожалуйста, публикацию обновлю и добавлю данную информацию. Если же статья понравилась, то ставь плюс, очень мотивирует.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл