Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 08:03

Виды цен, цены и их подстановка в документы Поступление и Реализация

Автор Дмитрий357, 30 окт 2021, 12:24

0 Пользователей и 1 гость просматривают эту тему.

Дмитрий357

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

В документах ПоступлениеТоваров и РеализацияТоваров имеются формы и табличные части Товары (Реквизиты: Номенклатура, Цена, количество, стоимость). Подскажите что нужно сделать? Где писать код: в модуле формы документа или модуля объекта документа?

alexandr_ll

Дмитрий357, Начнем с того, какое приложение : обычное или управляемое. Вообще такие процедуры следует писать в модуле формы.

Дмитрий357

alexandr_ll, Управляемое приложение. Документ УстановкаЦенНоменклатуры содержит реквизит ВидЦены и табличную часть Товары с реквизитами Номенклатура и Цена. Регистр сведений ЦеныНоменклатуры содержит измерения Номенклатура и Вид цены, ресурс Цена.

alexandr_ll

Дмитрий357, В модуле документа в процедуре "при проведении" описать изменение записей регистра сведений
https://helpme1c.ru/registry-svedenij-v-yazyke-1s-8-v-primerax

Дмитрий357

alexandr_ll, &НаСервере
Функция ПолучитьВыборку ();
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних";


РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Возврат ВыборкаДетальныеЗаписи;
КонецФункции

&НаСервере
Функция ТоварыНоменклатураПриИзмененииНаСервере(Номенклатура)
Док=Документы.ПоступлениеТоваров.Выбрать();
ВыборкаДетальныеЗаписи=ПолучитьВыборку ();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
НоваяСтрока=Док.Товары.Добавить();
НоваяСтрока.Номенклатура=ВыборкаДетальныеЗаписи.Номенклатура;
НоваяСтрока.Количество=ВыборкаДетальныеЗаписи.Количество;
НоваяСтрока.Цена=ВыборкаДетальныеЗаписи.Цена;
НоваяСтрока.Стоимость=ВыборкаДетальныеЗаписи.Стоимость;
КонецЦикла;
 КонецФункции

Что-то типа того мне кажется должно быть. Но пока не работает. Это в модуле формы

alexandr_ll

Дмитрий357, Непонятно, какая цель у этих функций. Если речь идет о документе "Установка цен", то у реквизита "Номенклатура" в событии "При изменении" должна быть процедура, заполняющая цену табличной части.

Дмитрий357


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск