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

Подстановка значений справочник/регистр-документ

Автор federer1235, 14 мая 2023, 03:51

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

federer1235

Максим75, Переименовал,
Справочник.Номенклатура КАК Номенклатурана
Справочник.Номенклатура КАК НоменклатураСПНу и соотвественно все реквизиты на него

По прежнему, ед изм и ставка ндс подставляются, а цена нет
Я что то упустил в запросе?

Полный код:
&НаСервере
Функция ТоварыПриИзмененииНаСервере(Номенклатура, Дата)
   
    Результат = Новый Структура ("ЕдиницыИзмерения, Цена, СтавкаНДС");
   
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    НоменклатураСП.СтавкаНДС КАК СтавкаНДС,
        |    НоменклатураСП.ЕдиницыИзмерения КАК ЕдиницыИзмерения,
        |    ЕСТЬNULL(РегистрЦеныСрезПоследних.Цена, 0) КАК Цена
        |ИЗ
        |    Справочник.Номенклатура КАК НоменклатураСП
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрЦены.СрезПоследних(&Дата, Номенклатура = &Номенклатура) КАК РегистрЦеныСрезПоследних
        |        ПО НоменклатураСП.Ссылка = РегистрЦеныСрезПоследних.Цена
        |ГДЕ
        |    НоменклатураСП.Ссылка = &Номенклатура";
   
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   
    РезультатЗапроса = Запрос.Выполнить();
 
    Если НЕ РезультатЗапроса.Пустой() Тогда
       
    Выборка = РезультатЗапроса.Выбрать();
    Выборка.Следующий();
   
    ЗаполнитьЗначенияСвойств(Результат, Выборка);
       
    КонецЕсли;
   
    Возврат Результат;   
   
Конецфункции

&НаКлиенте
Процедура ТоварыПриИзменении(Элемент)
   
    СтрокаТЧ = Элементы.Товары.ТекущиеДанные;
    Инфо = ТоварыПриИзмененииНаСервере(СтрокаТЧ.Наименование, Объект.Дата);
    СтрокаТЧ.ЕдиницыИзмерения = Инфо.ЕдиницыИзмерения;
    СтрокаТЧ.Цена = Инфо.Цена;
    СтрокаТЧ.СтавкаНДС = Инфо.СтавкаНДС;
   
КонецПроцедуры


Максим75

federer1235, ПО НоменклатураСП.Ссылка = РегистрЦеныСрезПоследних.Цена
ну что это за связь? товар с ценой? так ничего не свяжет.

federer1235

Максим75, Вот так?

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

Так просто тоже не работает

Максим75

federer1235, да бляха, по товару надо связывать, по товару.

 ПО НоменклатураСП.Ссылка = РегистрЦеныСрезПоследних.Номенклатура

federer1235

Максим75, Все, сработало. Спасибо большое, Максим, и простите меня, тугодума. Голова уже пухнет - туплю на ровном месте  :(

Теги:

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

Рейтинг@Mail.ru

Поиск