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

УправлениеГостиницей

Автор Marccc, 29 авг 2011, 17:28

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

Marccc

Прошу помощи,конфигурацию УправлениеОтелем делаю, у меня есть Общий Модуль "РаботаСоСправочниками"

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

В Документе Посление Есть Процедура ПриИзменении()

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

При выполнении этого выскакивает ошибка
{ОбщийМодуль.РаботаСоСправочниками(12)}: Ошибка при вызове метода контекста (Выполнить): {(4, 46)}: Неверные параметры "РегистрСведений.Цены.СрезПервых, 1"РегистрСведений.Цены.СрезПервых(&ДатаСреза, <<?>>&ВидНомераГостиницы) КАК ЦеныСрезПервых      Выборка            = Запрос.Выполнить().Выбрать();по причине:{(4, 46)}: Неверные параметры "РегистрСведений.Цены.СрезПервых, 1"РегистрСведений.Цены.СрезПервых(&ДатаСреза, <<?>>&ВидНомераГостиницы) КАК ЦеныСрезПервых

Помогите её исправить

sergeevds

Скажи-ка, что ты хочешь получить в результате запроса, и как правильно называются регистры и реквизиты. Запрос сам писал?

Marccc

Запрос Конструктором запроса делал я.
У меня есть Перечисления "ВидыНомераГостиницы"
Документ  "Поселение" (с табличной частью ПереченьПоселенцев и реквизитами табличной части НомерГостиницы Цена Постоялец)
Так же имеется Регистр Сведений Цены с измерением ВидНомераГостиницы и Ресурсом Цены

Marccc

Я хочу чтобы при изменении номера гостиницы в документе, у меня автоматически ставилась цена за номер из РегистраСведенийЦены...

has


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

Тут ставишь точку останова и смотришь тип и значение у СтрокаТабличнойЧасти.НомерГостиницы

Marccc

Поставил... Тип Справочник.Ссылка.НомерГостиницы Значение 2А
Какие выводы отсюда сделать можно?
Наверно я ваще туплю.. подскажите, с утра сижу перед монитором над этим..

has

Ну а реквизит справочника ВидНомераГостинницы есть?

Marccc

Как я понял, ты спросил про ту же точку остановы... да, там есть и реквизит СтрокаТабличнойЧасти.НомерГостиницы.ВидНомераГостиницы
У него тип перечисление Перечисление.Ссылка.ВидыНомераГостиницы

ps.   может я тебе на мыло выгрузку конфы отправить могу? чтобы время твоё лишнее не отнимать?

has

Тьфу ты блин. Сам уже туплю))))) В регистре параметры виртуально таблицы устанавливаются так

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

Marccc

Спасибо большое лучшему форуму и модератору 1С !!!!

Теги:
Рейтинг@Mail.ru

Поиск