С помощью внешней обработки импортирую данные по контрагентам в типовую Бухгалтерию (1.6.9.4). В форме элемента справочника Контрагенты есть реквизит ВходитВХолдинг. Он везде должен быть = Ложь. Код (там, где идет присвоение = Ложь):
Пока Не ПустаяСтрока(Страница.Cells(НомерСтроки,НомерКолонки).Value) Цикл
...
Контрагент=Справочники.Контрагенты.СоздатьЭлемент();
Контрагент.ПолучитьФорму("ФормаЭлемента").ЭлементыФормы.ВходитВХолдинг.Значение = Ложь;
...
КонецЦикла;
приводит к завершению работы сеанса 1С:Предприятие в записью ошибки в дамп. Как заполнить этот реквизит формы? (по умолчанию везде он проставляется = Истина)
Пока Не ПустаяСтрока(Страница.Cells(НомерСтроки,НомерКолонки).Value) Цикл
...
Контрагент=Справочники.Контрагенты.СоздатьЭлемент();
Контрагент.ПолучитьФорму("ФормаЭлемента").ЭлементыФормы.ВходитВХолдинг.Значение = Ложь;
...
КонецЦикла;
приводит к завершению работы сеанса 1С:Предприятие в записью ошибки в дамп. Как заполнить этот реквизит формы? (по умолчанию везде он проставляется = Истина)
По теме из базы знаний
- Сохранение произвольных значений реквизитов объекта в реквизите формы
- Работаем с дополнительными реквизитами на форме
- Альтернативный способ добавления элементов и реквизитов на формы
- Дополнительные реквизиты формы (простой вариант взаимодействия)
- Разбор ошибок заполнения реквизитов формы объекта (мой топ-3)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Может стоит эту форму открыть, но потом устанавливать ее реквизит?... Шутка. ;-)
Установка реквизитов формы при импорте данных - типовая ошибка начинающего программиста.
Хороший семерочник написал бы так:
В восьмерке появились методы ПолучитьСсылкуНового(), УстановитьСсылкуНового(<Ссылка>), ПолучитьСсылку(<Уникальный идентификатор>) для того чтоб не писать два раза Записать();
Установка реквизитов формы при импорте данных - типовая ошибка начинающего программиста.
Хороший семерочник написал бы так:
Код |
---|
Контрагент=Справочники.Контрагенты.СоздатьЭлемент();
// Заполнение других реквизитов
Контрагент.Записать();
Контрагент.ГоловнойКонтрагент = Контрагент.Ссылка;
Контрагент.Записать();
Показать полностью |
В восьмерке появились методы ПолучитьСсылкуНового(), УстановитьСсылкуНового(<Ссылка>), ПолучитьСсылку(<Уникальный идентификатор>) для того чтоб не писать два раза Записать();
а если реквизит типа Булево - так его можно вообще не трогать, потому как по-умолчанию булев реквизит имеет значение ЛОЖЬ
2dotby
Если бы речь шла об реквизите справочника, то его можно было бы не трогать.
Но, с реквизитами формы, которые они видят на экране, но не знают где они хранятся, часто возникают трудности у новичков.
Как правило, значение устанавливается в процедуре ПриОткрытии(), которое зависит как правило от других реквизитов. Поэтому "не троганье" здесь не прокатит.
Если бы речь шла об реквизите справочника, то его можно было бы не трогать.
Но, с реквизитами формы, которые они видят на экране, но не знают где они хранятся, часто возникают трудности у новичков.
Как правило, значение устанавливается в процедуре ПриОткрытии(), которое зависит как правило от других реквизитов. Поэтому "не троганье" здесь не прокатит.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот