Перезаписать программно значение доп. реквизита типа булево в ложь Номенклатуры в УТ

1. sajmon45 18.10.21 12:19 Сейчас в теме
Как перезаписать программно значение доп. реквизита типа булево в ложь Номенклатуры в УТ?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 18.10.21 12:21 Сейчас в теме
Получить объект, найти в ТЧ ДополнительныеРеквизиты нужную строку, установить свое значение, записать объект.
3. sajmon45 18.10.21 12:22 Сейчас в теме
(2) А можно пример кода, только именно с типом булево
4. FatPanzer 18.10.21 12:24 Сейчас в теме
(3) А в чем сложности именно с булево? Пожалуйста:
СтрокаДополнительногоРеквизита.Значение = Ложь;
9. Release 18.10.21 12:47 Сейчас в теме
(3)
// "Иван Иваныч Иванов с утра ходит без штанов!" (С) "Афоня"
ФизЛицоСсылка = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иван Иваныч Иванов", Истина);

Если ФизЛицоСсылка <> Неопределено Тогда
	Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","ХодитБезШтанов");

	Если ЗначениеЗаполнено(Свойство) Тогда
		СтрокаДопРеквизитов = ФизЛицоСсылка.ДополнительныеРеквизиты.Найти(Свойство, "Свойство");

		Если СтрокаДопРеквизитов <> Неопределено Тогда
			СтрокаДопРеквизитов.Значение = Истина;
		КонецЕсли;
	КонецЕсли;
КонецЕсли;
Показать
10. d.batovskiy 18.10.21 14:22 Сейчас в теме
Я бы еще дополнил, если нет этой строки в ТЧ

(9)// "Иван Иваныч Иванов с утра ходит без штанов!" (С) "Афоня"
ФизЛицоСсылка = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иван Иваныч Иванов", Истина);

Если ФизЛицоСсылка <> Неопределено Тогда
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","ХодитБезШтанов");

Если ЗначениеЗаполнено(Свойство) Тогда
СтрокаДопРеквизитов = ФизЛицоСсылка.ДополнительныеРеквизиты.Найти(Свойство, "Свойство");

Если СтрокаДопРеквизитов <> Неопределено Тогда
СтрокаДопРеквизитов.Значение = Истина;
Иначе
НоваяСтрока = ФизЛицоСсылка.ДополнительныеРеквизиты.Добавить();
НоваяСтрока.Свойство = Свойство;
НоваяСтрока.Значение = Истина;

КонецЕсли;
КонецЕсли;
КонецЕсли;
13. FatPanzer 18.10.21 14:49 Сейчас в теме
(10) Долго вы еще по ссылке будете пытаться изменить реквизиты?
15. Release 18.10.21 14:59 Сейчас в теме
(13) Ну да, есть такое, но там же и без записи. :))
14. Release 18.10.21 14:53 Сейчас в теме
(10) Ну да, наверное так будет лучше, но тогда уж:
// "Иван Иваныч Иванов с утра ходит без штанов!" (С) "Афоня"
ФизЛицоСсылка = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иван Иваныч Иванов", Истина);

Если ФизЛицоСсылка <> Неопределено Тогда
    Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","ХодитБезШтанов");

    Если ЗначениеЗаполнено(Свойство) Тогда
        ФизЛицоОбъект       = ФизЛицоСсылка.ПолучитьОбъект();
        СтрокаДопРеквизитов = ФизЛицоОбъект.ДополнительныеРеквизиты.Найти(Свойство, "Свойство");

        Если СтрокаДопРеквизитов = Неопределено Тогда
            СтрокаДопРеквизитов = ФизЛицоОбъект.ДополнительныеРеквизиты.Добавить();

            СтрокаДопРеквизитов.Свойство = Свойство;
        КонецЕсли;

        СтрокаДопРеквизитов.Значение = Истина;

        ФизЛицоОбъект.Записать();
    КонецЕсли;
КонецЕсли;
Показать

Зачем две строки присваивания одного итого же?
5. soft_wind 18.10.21 12:32 Сейчас в теме
(1) вообще доп.реквизиты со значение булево = Ложь, просто удаляют,
так как во многих процедурах получения данных, отсутствующее значения булевского допа, считается Ложью !!!
6. FatPanzer 18.10.21 12:37 Сейчас в теме
(5) Ну, так себе подход... А если значение реквизита составное, и нужна информация, сгруппированная по значению этого реквизита? То придется рисовать отдельный подзапрос для значения ЛОЖЬ, вместо типовой группировки...
7. gybson 18.10.21 12:39 Сейчас в теме
(6)а если значение не задавали?
8. FatPanzer 18.10.21 12:42 Сейчас в теме
(7) Значит "Не установлено". Согласитесь, это не то же самое, что "Ложь".
11. gybson 18.10.21 14:24 Сейчас в теме
(8)боюсь это не вопрос согласия. Как вы поставите отбор по такому полю в отчете?
12. FatPanzer 18.10.21 14:48 Сейчас в теме
(11) Отдельным параметром. То есть будет два параметра в отчете - "Реквизит заполнен" (Истина/Ложь/Пофиг) и "Значение реквизита" (непосредственно доступные типы значений, включая Ложь).
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот