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

Изменить объект справочника при проведении документа

Автор namab, 19 дек 2019, 02:14

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

namab

    Есть документ, "БронированиеНомеров" в нем табличная часть "ДанныеОбОплате", в ней есть поле комната, выбирается комната из одноименного справочника "Комнаты".
    Задача в следующем, при выборе комнаты и проведении документа, необходимо чтобы в справочнике "Комнаты" менялось поле Статус на "Занято".
    Написал такой код, но выдает ошибку "Итератор для значения не определен". В 1С не очень силён, так что надеюсь хоть какую-нибудь помощь)

            ТЧКомната = Элементы.ДанныеОбОплате.ТекущиеДанные;
  Для каждого СтрокаТЧ из ТЧКомната цикл 
    Если  ЗначениеЗаполнено (СтрокаТЧ.Комната) Тогда
    СпрОбъект = СтрокаТЧ.Комната.ПолучитьОбъект();
    СпрОбъект.Состояние = ПредопределенноеЗначение("Перечисление.Статус.Занято");
    СпрОбъект.Записать();
    КонецЕсли;
      КонецЦикла;


P.S. Еще небольшой вопрос, как исключить из выбора ту комнату, которая имеет статус "Занята" ?

bsn-chita

И вас устроит что в вашем варианте когда бы и на сколько не забронировали комнату она будет со статусом "Занято"(забронировали год назад, документ провели и сейчас она все равно имеет статус "Занято").

wise

(0) перезаписывать справочник - это ПЛОХО.!!
сделайте "статус" регистром сведений

{ТЧКомната = Элементы.ДанныеОбОплате.ТекущиеДанные;}
ТЧКомната - ЭТО и есть строка, а Вы используете её КАК табличную часть
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

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

Рейтинг@Mail.ru

Поиск