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

Присвоение переменной значения из регистра.

Автор Сережа Лэ, 27 мая 2014, 15:06

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

Сережа Лэ

Есть Табличная часть "Разовое", в ней поле "Детский" с форматом булево. Когда он включен к полю "Сумма" прибавляется 150.  Значение 150 нужно взять из регистра сведений "ЦенаПосещения", подскажите как это лучшге сделать?

cska-fanat-kz

Обрабатывать событие ПриИзменении() поля "Детский".
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Сережа Лэ

Ну это понятно, Как мне значение из регистра вытащить в эту процедуру?

cska-fanat-kz

Запросом. Пример привести не могу - мало данных...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Сережа Лэ

В табличной части Разовое поля: Номер билета, Время, Детский, Инструктор, Стоимость инвентаря, Сумма. Табличная часть находиться в документе Посещения
В регистре сведений Посещение, Цена.
Вот так реализовал присваивая цену вручную

&НаКлиенте
Процедура РазовоеДетскийПриИзменении(Элемент)   
   ТекущаяСтрока = Элементы.Разовое.ТекущиеДанные;
       Если ТекущаяСтрока.Детский = Истина Тогда
   ТекущаяСтрока.Сумма = 0;
   ТекущаяСтрока.Сумма = ТекущаяСтрока.Сумма + 150;
Иначе ТекущаяСтрока.Сумма = ТекущаяСтрока.Сумма -150;
   КонецЕсли
Конецпроцедуры

Нужно 150 брать из регистра.

cska-fanat-kz

&НаКлиенте
Процедура РазовоеДетскийПриИзменении(Элемент)   
   ТекущаяСтрока = Элементы.Разовое.ТекущиеДанные;
       Если ТекущаяСтрока.Детский = Истина Тогда
   ТекущаяСтрока.Сумма = 0;
   ТекущаяСтрока.Сумма = ТекущаяСтрока.Сумма + 150;
Иначе ТекущаяСтрока.Сумма = ТекущаяСтрока.Сумма -150;
   КонецЕсли
Конецпроцедуры

вот ЭТО - зачем????
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

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

   Запрос.УстановитьПараметр("Дата", Дата);
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

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

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

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

Теги:

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

Рейтинг@Mail.ru

Поиск