Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0
привіт. підкажіть б-ласка як користуватися функцією ценообразование.ПолучитьЦенуКонтрагента? перепробував все що можна а мені видає 0. може у когось є приклад використання даної функції та опис як вона працює. мені потрібно отримати ціну контрагента з врахуванням знижок встановлених в документа "Установка скидок номенклатури" дякую
Группа: Местный
Сообщений: 461
Из: Украина
Спасибо сказали: 151 раз
Рейтинг: 151.8
berest.andriy@gmail.com @ Сегодня, 10:23
,
// Функция возвращает цену контрагента для требуемой номенклатуры в указанном типе цен , // на заданную дату, за заданную единицу измерения, пересчитанную в требуемую валюту по заданному курсу. // // Параметры: // Номенклатура - ссылка на элемент справочника "Номенклатура", для которого надо получить цену, // ХарактеристикаНоменклатуры - ссылка на элемент справочника "Характеристики номенклатуры", // Контрагент - ссылка на элемент справочника "Контрагенты", для которого надо получить цену, // ТипЦен - ссылка на элемент справочника "Типы цен", опредедяет цену какого типа надо получить, // Дата - дата, на которую надо получить цену, если не заполнено, то берется рабочая дата // ЕдиницаИзмерения - ссылка на элемент справочника "Единицы измерения", определяет для какой единицы надо получить // цену, если не заполнен, то заполняется единицей цены // Валюта - ссылка на элемент справочника "Валюты", определяет валюту. в которой надо вернуть цену, // если не заполнен, то заполняется валютой цены // Курс - число, курс требуемой валюты, если не заполнен, берется курс из регистра // сведений "Курсы валют". // Кратность - число, кратность требуемой валюты, если не заполнена, берется курс из регистра // сведений "Курсы валют". // // Возвращаемое значение: // Число, рассчитанное значение цены. // Функция ПолучитьЦенуКонтрагента(Номенклатура, ХарактеристикаНоменклатуры = Неопределено, Контрагент, ТипЦен, Дата = Неопределено, ЕдиницаИзмерения = Неопределено, Валюта = Неопределено, Курс = 0, Кратность = 1, ДоговорКонтрагента = Неопределено, УсловиеПродаж = Неопределено) Экспорт
Если ДоговорКонтрагента <> Неопределено Тогда Запрос = Новый Запрос; Запрос.УстановитьПараметр("Дата", Дата); Запрос.УстановитьПараметр("Договор", ДоговорКонтрагента); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ХарактеристикиНоменклатуры", ХарактеристикиНоменклатуры);
ТекстЗапроса = " |ВЫБРАТЬ ПЕРВЫЕ 1 | УсловияПоставок.Цена КАК Цена, | ВЫБОР КОГДА сНоменклатура.Услуга И УсловияПоставок.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка) | ТОГДА сНоменклатура.ЕдиницаХраненияОстатков | ИНАЧЕ УсловияПоставок.ЕдиницаИзмерения | КОНЕЦ КАК ЕдиницаИзмерения, | УсловияПоставок.ВалютаЦены КАК ВалютаЦены |ИЗ | РегистрСведений.УсловияПоставокПоДоговорамКонтрагентовПоНоменклатуре.СрезПоследних(&Дата, | ДоговорКонтрагента = &Договор И Номенклатура = &Номенклатура | И ХарактеристикаНоменклатуры В (&ХарактеристикиНоменклатуры)) КАК УсловияПоставок |ВНУТРЕННЕЕ СОЕДИНЕНИЕ | Справочник.Номенклатура КАК сНоменклатура |ПО | сНоменклатура.Ссылка = УсловияПоставок.Номенклатура |ГДЕ | УсловияПоставок.Цена <> 0 И сНоменклатура.Ссылка = &Номенклатура |УПОРЯДОЧИТЬ ПО | УсловияПоставок.ХарактеристикаНоменклатуры УБЫВ |";
Если ПолученнаяЦена = 0 Тогда // особых условий нет Запрос = Новый Запрос; Запрос.УстановитьПараметр("Дата", Дата); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ХарактеристикиНоменклатуры", ХарактеристикиНоменклатуры); Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
Запрос.Текст = " |ВЫБРАТЬ ПЕРВЫЕ 1 | ЦеныНоменклатурыКонтрагентов.Цена КАК Цена, | ВЫБОР КОГДА сНоменклатура.Услуга И ЦеныНоменклатурыКонтрагентов.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка) | ТОГДА сНоменклатура.ЕдиницаХраненияОстатков | ИНАЧЕ ЦеныНоменклатурыКонтрагентов.ЕдиницаИзмерения | КОНЕЦ КАК ЕдиницаИзмерения, | ЦеныНоменклатурыКонтрагентов.Валюта КАК Валюта |ИЗ | РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(&Дата, Номенклатура = &Номенклатура И ТипЦен = &ТипЦен | И ХарактеристикаНоменклатуры В(&ХарактеристикиНоменклатуры)) КАК ЦеныНоменклатурыКонтрагентов |ВНУТРЕННЕЕ СОЕДИНЕНИЕ | Справочник.Номенклатура КАК сНоменклатура |ПО | сНоменклатура.Ссылка = ЦеныНоменклатурыКонтрагентов.Номенклатура |ГДЕ | сНоменклатура.Ссылка = &Номенклатура |УПОРЯДОЧИТЬ ПО | ХарактеристикаНоменклатуры УБЫВ |";
Группа: Пользователи
Сообщений: 96
Спасибо сказали: 23 раз
Рейтинг: 21
berest.andriy@gmail.com @ Сегодня, 10:23
, Дуже цікаве запитання. Скільки років вже працюю з УТП, але ніколи не бачив, щоби хтось використовував регістр відомостей "Умови поставок за договорами контрагентів по номенклатурі", та документ "Умови поставок за договорами контрагентів", який є реєстратором для нього. Саме завдяки ним буде працювати/не працювати ваша функція
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4550 раз
Рейтинг: 3678.1
berest.andriy@gmail.com, 99%, что полеввода1 это не то, что туда надо передавать. Скорее всего надо передавать реквизит, к которому привязано это ваше поле ввода.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!