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

Заполнение поля цены справочника данными из регистра сведений

Автор zverla3, 07 мая 2013, 20:37

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

zverla3

Здравствуйте!Помогите пожалуйста новечку.
Создал Документ С реквизитом Товар,цена.При выборе Товара из справочника Номенклатура,нжно,чтобы цена заполнялась автоматически из регистра сведений,по последней дате.Напишете пожалуйста код запроса,и подробности.Очень надо.Заранее благодарен.

Besart

&НаКлиенте
Процедура ТоварОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Объект.Цена = ЦенаНаСервере(ВыбранноеЗначение);
КонецПроцедуры

  &НаСервере
Функция ЦенаНаСервере(Значение)

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

Запрос.УстановитьПараметр("Номенклатура", Значение);
РезультатЗапроса = Запрос.Выполнить();

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

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

КонецЦикла;
         
КонецФункции // ()


zverla3

Вы не правильно поняли мой вопрос.В Документе я выбираю товар из Справочника Номенклатура цены находяться в регистре сведений.Мне нужно чтобы при выборе товара в документе цена выходила автоматически из регистра сведений

Besart

так и запрос выбирает последнюю цену на выбранный товар из регистра сведений ЦеныНоменклатуры
Цитата: zverla3 от 07 мая 2013, 21:38цена выходила автоматически из регистра сведений
и затем присваиваете полученную цену реквизиту цена, все как вы хотели, или вы хотели чтобы цена выходила в сообщении?


zverla3

А немогли бы Вы,сделать код.Для Формы Документа.Товар при изменении и код:




С вашим подходом ошибка выходит.
Регистр Сведений Называется Цены.Нужный мне столбец в нем называется цена

Besart

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

если номенклатура называется по другому, то замените ЦеныСрезПоследних.Номенклатура на ЦеныСрезПоследних.ВашеНазвание, и не забудъте связать процедуру ТоварОбработкаВыбора с соответствующей процедурой из событий поля формы товар

zverla3

К сожелению не работает.Если можно может вы мою базу посмотрите 2мб всего весит

Besart


zverla3


Besart

Цитата: zverla3 от 07 мая 2013, 22:35
В яндексе не зареган.Мб на майл?
да пофигу куда, лишь бы можно было скачать

Теги:

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

Рейтинг@Mail.ru

Поиск