Заполнение регистра сведений
Добавлен справочник и регистр сведений.
В справочнике 2 поля - код и наименование
В регистре помимо прочих значений должны попадать оба поля из справочника.
В регистре я добавил два измерения соответствующие полям справочника и связал их с ним. Но и в одном и во втором поле я могу выбрать только наименование, код не заполняется. Это первый вопрос.
И второй вопрос. По сути мне не нужно выбирать два поля в регистр. Поле "код" должно быть недоступно, т.е. только отображаться. Соответственно при выборе "наименования" в регистре, "код" должен заполнится автоматически. В обычной форме списка я знаю, как это сделать, но, как это делать в регистре я не нашел.
В справочнике 2 поля - код и наименование
В регистре помимо прочих значений должны попадать оба поля из справочника.
В регистре я добавил два измерения соответствующие полям справочника и связал их с ним. Но и в одном и во втором поле я могу выбрать только наименование, код не заполняется. Это первый вопрос.
И второй вопрос. По сути мне не нужно выбирать два поля в регистр. Поле "код" должно быть недоступно, т.е. только отображаться. Соответственно при выборе "наименования" в регистре, "код" должен заполнится автоматически. В обычной форме списка я знаю, как это сделать, но, как это делать в регистре я не нашел.
По теме из базы знаний
- Заполнение регистра сведений "Фамилия, имя, отчество физических лиц"
- Заполнение регистра "Сведения об алкогольной продукции" для УТ 10.3
- Заполнение регистра сведений Номенклатура контрагентов
- Заполнение регистра сведений "Основные сотрудники физических лиц" (ERP 2, КА 2, ЗУП 3.1)
- Заполнение регистра сведений "Фамилия, имя, отчество физического лица" (ERP 2.5, КА 2.5, ЗУП 3.1)
Найденные решения
(10) Скидываю рабочий пример для обычных форм. Измерение "Материал", колонка "Код"
Процедура РегистрСведенийСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Если ДанныеСтроки.Материал <> Неопределено Тогда
ОформлениеСтроки.Ячейки.Код.УстановитьТекст(ДанныеСтроки.Материал.Код);
Иначе
ОформлениеСтроки.Ячейки.Код.УстановитьТекст("");
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1)Первый вопрос, в справочнике код по умолчанию заполняется сам, как я знаю. Если это поле ты сам не создавал как обычный реквизит.
Второй вопрос.
Создаешь событие "НаименованиеПриИзменении"
Пишешь запрос, запросом получаешь Код. в параметры запроса передаешь значение "Наименования".
И заполняешь поле "Код"
Второй вопрос.
Создаешь событие "НаименованиеПриИзменении"
Пишешь запрос, запросом получаешь Код. в параметры запроса передаешь значение "Наименования".
И заполняешь поле "Код"
Тут какая то неверная организация структуры. Берете регистр сведений и добавляете в нее измерение - номенклатура.
На форме регистра - на форме редактирования регистра добавляете два поля Код и Наименование - это просто поля для отражения данных они не хранятся. Делаете общую процедуру на форме которая будет просто их заполнять.
Добавили поля Код и Наименование
Пишите процедуру ЗаполнитьКодНаименование
На форме делаете две процедуры ПриОткрытии и НоменклатураПриИзменении. В этих процедурах вызываете процедуру ЗаполнитьКодНаименование
На форме регистра - на форме редактирования регистра добавляете два поля Код и Наименование - это просто поля для отражения данных они не хранятся. Делаете общую процедуру на форме которая будет просто их заполнять.
Добавили поля Код и Наименование
Пишите процедуру ЗаполнитьКодНаименование
Процедура ЗаполнитьКодНаименование()
Код = Номенклатура.Код;
Наименование = Номенклатура.Наименование;
КонецПроцедуры
На форме делаете две процедуры ПриОткрытии и НоменклатураПриИзменении. В этих процедурах вызываете процедуру ЗаполнитьКодНаименование
Если вам нужно на форме списка регистра отражать наименование и код, то тут если у вас обычная форма то пишите процедуру ПриВыводеСтроки или ПриПолученииДанных, если у вас управляемая форма и динамический список то проще - добавляете просто поля и все
Обычные формы. Создаешь колонку Код, без данных. В процедуре при выводе строки нужно написать
Управляемые формы. Делаешь элемент формы ТвойРеквизит.КодСтатьи
Если ТвойРеквизит<> Неопределено Тогда
ЯчейкиСтрокиТабПоля.Код.УстановитьТекст(ТвойРеквизит.КодСтатьи);
Иначе
ЯчейкиСтрокиТабПоля.Код.УстановитьТекст("");
КонецЕсли;
Управляемые формы. Делаешь элемент формы ТвойРеквизит.КодСтатьи
(9)В том то и дело. Если реквизит справочника или документа, то достаточно обратиться в модуле напрямую или через объект.
А тут напрямую он его не видит, текущие данные и данные строки его не понимают, этот объект тоже не срабатывает.
Гугл не говорит, как обратиться к измерению из модуля формы.
А отладчик почему-то вылетает, если останавливаюсь на "Если ТвойРеквизит<> Неопределено Тогда".
А тут напрямую он его не видит, текущие данные и данные строки его не понимают, этот объект тоже не срабатывает.
Гугл не говорит, как обратиться к измерению из модуля формы.
А отладчик почему-то вылетает, если останавливаюсь на "Если ТвойРеквизит<> Неопределено Тогда".
(10) Скидываю рабочий пример для обычных форм. Измерение "Материал", колонка "Код"
Процедура РегистрСведенийСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Если ДанныеСтроки.Материал <> Неопределено Тогда
ОформлениеСтроки.Ячейки.Код.УстановитьТекст(ДанныеСтроки.Материал.Код);
Иначе
ОформлениеСтроки.Ячейки.Код.УстановитьТекст("");
КонецЕсли;
КонецПроцедуры
Показать
(9)При изменении поля я могу посмотреть, что то, что мне нужно можно получить через "Элемент.Значение.СтатьяДекларации".
Но при выводе строки я передаю "Элемент" и "ДанныеСтроки". и как получить мой реквизит я не пойму, поскольку, как и писал именно тут вылетает отладчик. Но "Элемент.Значение.СтатьяДекларации" не срабатывает.
Но при выводе строки я передаю "Элемент" и "ДанныеСтроки". и как получить мой реквизит я не пойму, поскольку, как и писал именно тут вылетает отладчик. Но "Элемент.Значение.СтатьяДекларации" не срабатывает.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)