Ситуация 1С:Гостиница ( курсач)
____
Есть справочник Номера , там указаны комнаты и сколько они стоят , есть документ бронь , где по условию оператор должен бронировать номера , так вот вопрос ...
скажите пожалуйста как ( там где комната 202 , это ссылка на справочникНомера) на основании имени из справочника получить его стоимость за день ? и после из 2 дат , получить количество дней и перемножить с ценой , полученное присвоить в сумму ?
____
Есть справочник Номера , там указаны комнаты и сколько они стоят , есть документ бронь , где по условию оператор должен бронировать номера , так вот вопрос ...
скажите пожалуйста как ( там где комната 202 , это ссылка на справочникНомера) на основании имени из справочника получить его стоимость за день ? и после из 2 дат , получить количество дней и перемножить с ценой , полученное присвоить в сумму ?
Прикрепленные файлы:
По теме из базы знаний
- Внешняя печатная форма документа Авансовый отчет (сокращенная до 1 страницы)
- Пример использования штрихкодирования печатных форм документов с использованием Android
- Спецификация к договору - внешняя печатная форма документа "Заказ клиента". УТ 11.3.2
- Вы как хотите, а я сделал
- Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Событие ПриИзменении реквизита НомерКомнаты, серверная процедура
СуммаЗаДень = НомерКомнаты.СтоимостьЗаДень;
КоличествоДней = ((ДатаОкончанияБронирования - ДатаБронирования) / 86400) + 1;
Сумма = СуммаЗаДень * КоличествоДней;
СуммаЗаДень = НомерКомнаты.СтоимостьЗаДень;
КоличествоДней = ((ДатаОкончанияБронирования - ДатаБронирования) / 86400) + 1;
Сумма = СуммаЗаДень * КоличествоДней;
{Документ.Бронь.Форма.ФормаДокумента.Форма(4,16)}: Переменная не определена (НомерКомнаты)
СуммаЗаДень = <<?>>НомерКомнаты.СтоимостьЗаДень; (Проверка: Сервер)
{Документ.Бронь.Форма.ФормаДокумента.Форма(5,20)}: Переменная не определена (ДатаОкончанияБронирования)
КоличествоДней = ((<<?>>ДатаОкончанияБронирования - ДатаБронирования) / 86400) + 1; (Проверка: Сервер)
{Документ.Бронь.Форма.ФормаДокумента.Форма(5,48)}: Переменная не определена (ДатаБронирования)
КоличествоДней = ((ДатаОкончанияБронирования - <<?>>ДатаБронирования) / 86400) + 1; (Проверка: Сервер)
СуммаЗаДень = <<?>>НомерКомнаты.СтоимостьЗаДень; (Проверка: Сервер)
{Документ.Бронь.Форма.ФормаДокумента.Форма(5,20)}: Переменная не определена (ДатаОкончанияБронирования)
КоличествоДней = ((<<?>>ДатаОкончанияБронирования - ДатаБронирования) / 86400) + 1; (Проверка: Сервер)
{Документ.Бронь.Форма.ФормаДокумента.Форма(5,48)}: Переменная не определена (ДатаБронирования)
КоличествоДней = ((ДатаОкончанияБронирования - <<?>>ДатаБронирования) / 86400) + 1; (Проверка: Сервер)
не выходит
(3) ну епт, это ж пример логики. зачем брать курсач по 1с, если в коде не бум бум?
СуммаЗаДень = Объект.НомерКомнаты.СтоимостьЗаДень;
КоличествоДней = ((Объект.ДатаОкончанияБронирования - Объект.ДатаБронирования) / 86400) + 1;
Сумма = СуммаЗаДень * КоличествоДней;
(6)
Нету выбора .... я вообще веб разработчик ... какого лешего мне дали 1с ? я не знаю ... однако сказали сделать самую простенькую ....
С датой я разобрался ответ был
РазницаВДнях = (НачалоДня(Объект.ДатаОкончанияБронирования) - НачалоДня(Объект.ДатаБронирования)) / (60 * 60 * 24);
______
А вот как получить исходя из названия стоимость я не могу разобраться ....
у меня же в справочнике много комнат ... и на все разная цена .... значит цена должна меняться если я выберу новую комнату .... как это сделать ?
(3) ну епт, это ж пример логики. зачем брать курсач по 1с, если в коде не бум бум?
Нету выбора .... я вообще веб разработчик ... какого лешего мне дали 1с ? я не знаю ... однако сказали сделать самую простенькую ....
С датой я разобрался ответ был
РазницаВДнях = (НачалоДня(Объект.ДатаОкончанияБронирования) - НачалоДня(Объект.ДатаБронирования)) / (60 * 60 * 24);
______
А вот как получить исходя из названия стоимость я не могу разобраться ....
у меня же в справочнике много комнат ... и на все разная цена .... значит цена должна меняться если я выберу новую комнату .... как это сделать ?
(6) я пробовал и так и сяк , не дает стоимость
_____
и вашу
_____
{Документ.Бронь.Форма.ФормаДокумента.Форма(4)}: Поле объекта не обнаружено (НомерКомнаты)
А = ЭтотОбъект.НомерКомнаты;
и вашу
{Документ.Бронь.Форма.ФормаДокумента.Форма(4)}: Поле объекта не обнаружено (СтоимостьЗаДень)
СуммаЗаДень = Объект.НомерКомнаты.СтоимостьЗаДень;
(9)
Оно лежит по пути
Справочники -> Номера -> Реквизиты -> СтоимостьЗаДень
____
Напоминаю эту штуку я хочу получить в перменную . В документе Бронь , где есть ссылка на название комнаты из этого справочника
Поле в котором стоимость лежит, как называется? скрин из конфигуратора выложи
Оно лежит по пути
Справочники -> Номера -> Реквизиты -> СтоимостьЗаДень
____
Напоминаю эту штуку я хочу получить в перменную . В документе Бронь , где есть ссылка на название комнаты из этого справочника
Прикрепленные файлы:
&НаСервере
Процедура НомерКомнатыПриИзменении(Элемент)
СуммаЗаДень = НомерКомнаты.СтоимостьЗаДень;
КонецПроцедуры
{Документ.Бронь.Форма.ФормаДокумента.Форма(4,16)}: Переменная не определена (НомерКомнаты)
СуммаЗаДень = <<?>>НомерКомнаты.СтоимостьЗаДень; (Проверка: Сервер)
Процедура НомерКомнатыПриИзменении(Элемент)
СуммаЗаДень = НомерКомнаты.СтоимостьЗаДень;
КонецПроцедуры
{Документ.Бронь.Форма.ФормаДокумента.Форма(4,16)}: Переменная не определена (НомерКомнаты)
СуммаЗаДень = <<?>>НомерКомнаты.СтоимостьЗаДень; (Проверка: Сервер)
Документ.Бронь.Форма.ФормаДокумента.Форма(4)}: Поле объекта не обнаружено (НомерКомтаны)
СуммаЗаДень = ЭтотОбъект.НомерКомтаны.СтоимостьЗаДень;
{Документ.Бронь.Форма.ФормаДокумента.Форма(4)}: Поле объекта не обнаружено (НомерКомтаны)
СуммаЗаДень = Объект.НомерКомтаны.СтоимостьЗаДень;
не сработало
(14) Ну понятно, я ж сказал что процедура должна быть на сервере. Делай так:
СуммаЗаДень =ПолучитьСуммуЗаДень(Объект.НомерКомнаты);
//ЭТО ОТДЕЛЬНАЯ ФУНКЦИЯ, ЕЕ РАСПОЛАГАЙ ПОСЛЕ ПРОЦЕДУРЫ
&НаСервереБезКонтекста
Функция ПолучитьСуммуЗаДень(НомерКомнаты)
Возврат НомерКомнаты.СтоимостьЗаДень;
КонецФункции
Показать
(17) я вам клянусь , что свою жизнь с 1С никогда связывать не буду :) есть у нас такой предмет СПП по которому должна быть Java ,а тут преподу стукнуло и она захотела 1С ....
____
можно последний штрих ? подскажите как не забронировать 2 одинаковых номера ? просто чтобы на моменте создания ошибку ?
____
можно последний штрих ? подскажите как не забронировать 2 одинаковых номера ? просто чтобы на моменте создания ошибку ?
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот