---
title: Ценообразование
slug: erp-uh/ценообразование
---


## ВидЦеныПрайсЛист
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Получить вид цены "Прайс-лист".
//
// Параметры:
//  ЦенаВключаетНДС - Неопределено, Булево - Цена включает НДС
//
// Возвращаемое значение:
//  СправочникСсылка.ВидыЦен - Вид цены "Прайс-лист".
Функция ВидЦеныПрайсЛист(ЦенаВключаетНДС = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = Ценообразование.ВидЦеныПрайсЛист(ЦенаВключаетНДС);
```
</details>

## ПроверитьКорректностьЗаполненияДокументаУстановкиЦенНоменклатуры
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет корректность заполнения документа установки цен номенклатуры
// Вызывается из процедуры документа "ОбработкаПроведения".
//
// Параметры:
//  ДокументУстановкиЦен  - ДокументОбъект.УстановкаЦенНоменклатуры - документ, для которого необходимо проверить корректность
//  ДеревоЦен             - ТаблицаЗначений - таблица цен номенклатуры документа, для которой необходимо проверить корректность
//  ВидыЦен               - Массив - массив видов цен для проверки наличия ранее установленных цен
//  ИспользуетсяЦенообразование25 - Булево - Флаг использования нового ценообразования
//  Отказ                 - Булево - Флаг отказа от проведения документа.
//
Процедура ПроверитьКорректностьЗаполненияДокументаУстановкиЦенНоменклатуры(ДокументУстановкиЦен, Экспорт
```

Пример вызова
```bsl
Ценообразование.ПроверитьКорректностьЗаполненияДокументаУстановкиЦенНоменклатуры(ДокументУстановкиЦен, );
```
</details>

## ПроверитьКорректностьЗаполненияДокументаУстановкиЦенНоменклатурыПоставщика
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет корректность заполнения документа установки цен номенклатуры.
// Вызывается из процедуры документа "ОбработкаПроведения".
//
// Параметры:
//  ДокументУстановкиЦен	- ДокументОбъект.РегистрацияЦенНоменклатурыПоставщика - Документ, для которого необходимо
//								осуществить проверки.
//  ДеревоЦен				- ДеревоЗначений - дерево цен
//  Отказ					- Булево - Флаг отказа от проведения документа.
//
Процедура ПроверитьКорректностьЗаполненияДокументаУстановкиЦенНоменклатурыПоставщика(ДокументУстановкиЦен, Экспорт
```

Пример вызова
```bsl
Ценообразование.ПроверитьКорректностьЗаполненияДокументаУстановкиЦенНоменклатурыПоставщика(ДокументУстановкиЦен, );
```
</details>

## ПересчитатьСуммыВСтроке
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Рассчитывает сумму скидки в зависимости от процента скидки
//
// Параметры:
//  ТекСтрока                         - СтрокаТабличнойЧасти - Строка табличной части Товары документа
//  ПересчитыватьАвтоматическуюСкидку - Булево - Истина, если в документе есть автоматические скидки
//  ОчищатьАвтоматическуюСкидку       - Булево - Истина, если необходимо очистить процент и сумму авто скидок
//  ПересчитыватьРучнуюСкидку         - Булево - Истина, если в документе есть ручные скидки
//  ЦенаВключаетНДС                   - Булево - Признак включения НДС в цену в документе.
//  ИмяКоличества                     - Строка - Имя поля количество.
//
Процедура ПересчитатьСуммыВСтроке(ТекСтрока, Экспорт
```

Пример вызова
```bsl
Ценообразование.ПересчитатьСуммыВСтроке(ТекСтрока, );
```
</details>

## ПересчитатьСуммыВСтрокеПоСуммеСНДС
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Рассчитывает суммовые реквизиты строки исходя из реквизита "СуммаСНДС"
//
// Параметры:
//  СтрокаТаблицы - СтрокаТабличнойЧасти -  Строка табличной части Товары документа
//  ЦенаВключаетНДС - Булево - Признак включения НДС в цену в документе
//  АвтоматическаяСкидка - Булево - Истина, если в документе есть автоматические скидки
//  РучнаяСкидка - Булево - Истина, если в документе есть ручные скидки
//  ПересчитатьЦену - Булево - Истина, если требуется пересчитать цену.
//  ИмяКоличества - Строка - Имя поля количество.
//  СтавкаНДС - СправочникСсылка.СтавкиНДС, Неопределено - Ставка НДС. Используется, если одноименного реквизита нет в строке.
//
Процедура ПересчитатьСуммыВСтрокеПоСуммеСНДС( Экспорт
```

Пример вызова
```bsl
Ценообразование.ПересчитатьСуммыВСтрокеПоСуммеСНДС();
```
</details>

## ПересчитатьСуммыВВалютуТовары
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Осуществляет пересчет цен и сумм в тч Товары из валюты в валюту
//
// Параметры:
//  Документ                           - ДокументОбъект - Документ, для которого необходимо осуществить пересчет
//  СтараяВалюта                       - СправочникСсылка.Валюты - Валюта, из которой необходимо пересчитать цены
//  НоваяВалюта                        - СправочникСсылка.Валюты - Валюта, в которую необходимо пересчитать цены
//  СтруктураКурсовСтаройВалюты        - Структура - Курс и кратность валюты, из которой необходимо пересчитать цены
//  СтруктураКурсовНовойВалюты         - Структура - Курс и кратность валюты, в которую необходимо пересчитать цены
//  ПересчитыватьСуммы                 - Булево - Флаг, определяющий необходимость пересчета полей Сумма и СуммаНДС
//  ПересчитыватьАвтоматическиеСкидки  - Булево - Флаг, определяющий необходимость пересчета автоматических скидок
//  ПересчитыватьРучныеСкидки          - Булево - Флаг, определяющий необходимость пересчета ручных скидок.
//
Процедура ПересчитатьСуммыВВалютуТовары(Документ, Экспорт
```

Пример вызова
```bsl
Ценообразование.ПересчитатьСуммыВВалютуТовары(Документ, );
```
</details>

## ПересчитатьСуммыТабличнойЧастиВВалюту
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Осуществляет пересчет цен и сумм в тч Товары из валюты в валюту.
// Использовать Ценообразование.ПересчитатьСуммыТаблицыВВалюту
//
// Параметры:
//  Таблица                            - ТабличнаяЧасть -  Таблица, в которой необходим пересчет
//  ЦенаВключаетНДС                    - Булево - Истина, если цена включает ндс
//  СтараяВалюта                       - СправочникСсылка.Валюты - Валюта, из которой необходимо пересчитать цены
//  НоваяВалюта                        - СправочникСсылка.Валюты - Валюта, в которую необходимо пересчитать цены
//  СтруктураКурсовСтаройВалюты        - Структура - Курс и кратность валюты, из которой необходимо пересчитать цены
//  СтруктураКурсовНовойВалюты         - Структура - Курс и кратность валюты, в которую необходимо пересчитать цены
//  ПересчитыватьАвтоматическиеСкидки  - Булево - Флаг, определяющий необходимость пересчета автоматических скидок
//  ПересчитыватьРучныеСкидки          - Булево - Флаг, определяющий необходимость пересчета ручных скидок.
//  ИмяКоличества                      - Строка - Имя поля количество.
//
Процедура ПересчитатьСуммыТабличнойЧастиВВалюту( Экспорт
```

Пример вызова
```bsl
Ценообразование.ПересчитатьСуммыТабличнойЧастиВВалюту();
```
</details>

## ПересчитатьСуммыТаблицыВВалюту
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Осуществляет пересчет цен и сумм в тч Товары из валюты в валюту
//
// Параметры:
//  Таблица            - ТабличнаяЧасть -  Таблица, в которой необходим пересчет
//  ПараметрыПересчета - см. ПараметрыПересчетаСуммТаблицыВВалюту
//
Процедура ПересчитатьСуммыТаблицыВВалюту(Таблица, ПараметрыПересчета) Экспорт
```

Пример вызова
```bsl
Ценообразование.ПересчитатьСуммыТаблицыВВалюту(Таблица, ПараметрыПересчета) 
```
</details>

## ПараметрыПересчетаСуммТаблицыВВалюту
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Параметры пересчета сумм таблицы в валюту.
//
// Параметры:
//  ЦенаВключаетНДС - Булево - Истина, если цена включает ндс
//  СтараяВалюта    - СправочникСсылка.Валюты - Валюта, из которой необходимо пересчитать цены
//  НоваяВалюта     - СправочникСсылка.Валюты - Валюта, в которую необходимо пересчитать цены
//  ДатаДокумента   - Дата - Дата документа
//  БазоваяВалюта     - СправочникСсылка.Валюты - Валюта, относительно которой получен курс
//
// Возвращаемое значение:
//  Структура - описание:
// * ЦенаВключаетНДС                    - Булево - Истина, если цена включает ндс
// * СтараяВалюта                       - СправочникСсылка.Валюты - Валюта, из которой необходимо пересчитать цены
// * НоваяВалюта                        - СправочникСсылка.Валюты - Валюта, в которую необходимо пересчитать цены
// * ПересчитыватьАвтоматическиеСкидки  - Булево - Флаг, определяющий необходимость пересчета автоматических скидок
// * ПересчитыватьРучныеСкидки          - Булево - Флаг, определяющий необходимость пересчета ручных скидок
// * ИмяКоличества                      - Строка - Имя поля количество
// * СтавкаНДС                          - СправочникСсылка.СтавкиНДС - общая для всех строк таблицы ставка НДС
// * СтруктураКурсовСтаройВалюты        - Структура из см. РаботаСКурсамиВалютУТ.СтруктураКурсаВалюты - Курс и кратность валюты, из которой необходимо пересчитать цены
// * СтруктураКурсовНовойВалюты         - Структура из см. РаботаСКурсамиВалютУТ.СтруктураКурсаВалюты - Курс и кратность валюты, в которую необходимо пересчитать цены
Функция ПараметрыПересчетаСуммТаблицыВВалюту(ЦенаВключаетНДС, СтараяВалюта, НоваяВалюта, ДатаДокумента = Неопределено, БазоваяВалюта = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = Ценообразование.ПараметрыПересчетаСуммТаблицыВВалюту(ЦенаВключаетНДС, СтараяВалюта, НоваяВалюта, ДатаДокумента, БазоваяВалюта);
```
</details>

## РаспределитьСуммуПоЭтапамОплаты
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Осуществляет пересчет сумм в тч ЭтапыГрафикаОплаты из валюты в валюту
//
// Параметры:
//  Документ - ДокументОбъект - Документ, для которого необходимо осуществить пересчет
//  СуммаКРаспределениюОплаты - Число - Сумма документа, которую необходимо распределить на этапы оплаты
//  СуммаКРаспределениюЗалога - Число - Сумма залога по документу, которую необходимо распределить на этапы оплаты.
//
Процедура РаспределитьСуммуПоЭтапамОплаты(Документ, Знач СуммаКРаспределениюОплаты, Знач СуммаКРаспределениюЗалога) Экспорт
```

Пример вызова
```bsl
Ценообразование.РаспределитьСуммуПоЭтапамОплаты(Документ, СуммаКРаспределениюОплаты, СуммаКРаспределениюЗалога) 
```
</details>

## РассчитатьСуммыВзаиморасчетовВТабличнойЧасти
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела.
// Осуществляет пересчет на заполненных полей "СуммаВзаиморасчетов" в указанной табличной части.
//
// Параметры:
//	Документ          - ДокументОбъект - Объект документа, для которого выполняется пересчет сумм взаиморасчетов
//											в товарной части.
//	ИмяТабличнойЧасти - Строка         - Имя табличная части объекта документа.
//	СтруктураКурса    - Структура      - Данные курса валюты.
//	Дата              - Дата           - Дата, на которую выполняется расчет.
//	ИспользуетсяНДС   - Булево         - Истина - Признак, наличия в товарной части суммовых реквизитов, включающих НДС.
//
Процедура РассчитатьСуммыВзаиморасчетовВТабличнойЧасти(Документ, Экспорт
```

Пример вызова
```bsl
Ценообразование.РассчитатьСуммыВзаиморасчетовВТабличнойЧасти(Документ, );
```
</details>

## ПолучитьОбязательныеПоляСхемыКомпоновкиДанных
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает имена и типы полей, которые должны обязательно присутствовать.
// в СКД, используемой для заполнения цен по данным ИБ.
//
// Возвращаемое значение:
//	 Соответствие - В ключах содержатся имена полей. В значениях - типы полей.
//
Функция ПолучитьОбязательныеПоляСхемыКомпоновкиДанных(ИспользуетсяЦенообразование25 = Ложь) Экспорт
```

Пример вызова
```bsl
Результат = Ценообразование.ПолучитьОбязательныеПоляСхемыКомпоновкиДанных(ИспользуетсяЦенообразование25);
```
</details>

## ПроверитьСхемуКомпоновкиДанных
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
Результат = Ценообразование.ПроверитьСхемуКомпоновкиДанных(СхемаКомпоновкиДанных, СообщениеОбОшибке, ВыводитьСообщения);
```
</details>

## ПроверитьСхемуКомпоновкиДанных2_5
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет схему компоновки данных на соответствие ограничениям, необходимым
// для ее использования при расчете цен.
//
// Параметры:
//  СхемаКомпоновкиДанных - СхемаКомпоновкиДанных - Схема, которую необходимо проверить.
//  СообщениеОбОшибке     - Строка - содержит вводную часть сообщения об ошибке.
//  ВыводитьСообщения   - Булево - Истина - не выводить сообщения поьзователю, только проверка.
//
// Возвращаемое значение:
//  Булево - Истина, если проверка пройдена успешно.
//
Функция ПроверитьСхемуКомпоновкиДанных2_5(СхемаКомпоновкиДанных, СообщениеОбОшибке = Неопределено, ВыводитьСообщения = Истина) Экспорт
```

Пример вызова
```bsl
Результат = Ценообразование.ПроверитьСхемуКомпоновкиДанных2_5(СхемаКомпоновкиДанных, СообщениеОбОшибке, ВыводитьСообщения);
```
</details>

## ПроверитьСхемуКомпоновкиДанныхПоОбязательнымПолям
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

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

Пример вызова
```bsl
Результат = Ценообразование.ПроверитьСхемуКомпоновкиДанныхПоОбязательнымПолям(СхемаКомпоновкиДанных, Поля, СообщениеОбОшибке, ВыводитьСообщения);
```
</details>

## ПроверкаКорректностиСхемыВидовЦен
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl


// Позволяет проверить корректность схемы видов цен, при необходимости исправить ошибки,
// а также заполнить список критических ошибок, которые необходимо будет исправить пользователю.
//
// Параметры:
//   СхемаКомпоновкиДанных - СхемаКомпоновкиДанных - Схема видов цен.
//   СхемаСодержитКритическиеОшибки - Булево - флаг наличия критических ошибок, который необходимо взвести,
//   				чтобы пользователь не смог применить схему, пока не будут исправлены ошибки.
//   СписокКритическихОшибок - СписокЗначений - Список, содержащий тексты сообщений о критических ошибках.
//   СписокПрочихСообщений - СписокЗначений - Список, содержащий тексты сообщений о исправленных ошибках и прочие замечания.
//   				Данный список сообщений выводится пользователю один раз.
//
Процедура ПроверкаКорректностиСхемыВидовЦен(СхемаКомпоновкиДанных, СхемаСодержитКритическиеОшибки, Экспорт
```

Пример вызова
```bsl
Ценообразование.ПроверкаКорректностиСхемыВидовЦен(СхемаКомпоновкиДанных, СхемаСодержитКритическиеОшибки, );
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
