Заполнение регистра сведений

1. squall84 19.03.19 09:44 Сейчас в теме
Добавлен справочник и регистр сведений.
В справочнике 2 поля - код и наименование
В регистре помимо прочих значений должны попадать оба поля из справочника.

В регистре я добавил два измерения соответствующие полям справочника и связал их с ним. Но и в одном и во втором поле я могу выбрать только наименование, код не заполняется. Это первый вопрос.

И второй вопрос. По сути мне не нужно выбирать два поля в регистр. Поле "код" должно быть недоступно, т.е. только отображаться. Соответственно при выборе "наименования" в регистре, "код" должен заполнится автоматически. В обычной форме списка я знаю, как это сделать, но, как это делать в регистре я не нашел.
По теме из базы знаний
Найденные решения
12. popro 21.03.19 16:43 Сейчас в теме
(10) Скидываю рабочий пример для обычных форм. Измерение "Материал", колонка "Код"



Процедура РегистрСведенийСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	
	Если ДанныеСтроки.Материал <> Неопределено Тогда
        ОформлениеСтроки.Ячейки.Код.УстановитьТекст(ДанныеСтроки.Материал.Код);
    Иначе
        ОформлениеСтроки.Ячейки.Код.УстановитьТекст("");
    КонецЕсли;
	
КонецПроцедуры



Показать
squall84; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. arsen_botashev 19.03.19 09:55 Сейчас в теме
(1)Первый вопрос, в справочнике код по умолчанию заполняется сам, как я знаю. Если это поле ты сам не создавал как обычный реквизит.
Второй вопрос.
Создаешь событие "НаименованиеПриИзменении"
Пишешь запрос, запросом получаешь Код. в параметры запроса передаешь значение "Наименования".
И заполняешь поле "Код"
5. squall84 19.03.19 10:09 Сейчас в теме
(2)Код, это именно отдельный реквизит - Код Статьи.
3. SedovSU@mail.ru 297 19.03.19 10:03 Сейчас в теме
Тут какая то неверная организация структуры. Берете регистр сведений и добавляете в нее измерение - номенклатура.
На форме регистра - на форме редактирования регистра добавляете два поля Код и Наименование - это просто поля для отражения данных они не хранятся. Делаете общую процедуру на форме которая будет просто их заполнять.

Добавили поля Код и Наименование
Пишите процедуру ЗаполнитьКодНаименование

Процедура ЗаполнитьКодНаименование()
Код = Номенклатура.Код;
Наименование = Номенклатура.Наименование;
КонецПроцедуры


На форме делаете две процедуры ПриОткрытии и НоменклатураПриИзменении. В этих процедурах вызываете процедуру ЗаполнитьКодНаименование
alex-l19041; +1 Ответить
4. SedovSU@mail.ru 297 19.03.19 10:04 Сейчас в теме
Если вам нужно на форме списка регистра отражать наименование и код, то тут если у вас обычная форма то пишите процедуру ПриВыводеСтроки или ПриПолученииДанных, если у вас управляемая форма и динамический список то проще - добавляете просто поля и все
6. popro 19.03.19 10:18 Сейчас в теме
Обычные формы. Создаешь колонку Код, без данных. В процедуре при выводе строки нужно написать

		
Если ТвойРеквизит<> Неопределено Тогда
			ЯчейкиСтрокиТабПоля.Код.УстановитьТекст(ТвойРеквизит.КодСтатьи);
		Иначе
			ЯчейкиСтрокиТабПоля.Код.УстановитьТекст("");
		КонецЕсли;




Управляемые формы. Делаешь элемент формы ТвойРеквизит.КодСтатьи
8. squall84 19.03.19 10:27 Сейчас в теме
(6) А если мой реквизит - это измерение? Напрямую к нему обратиться я не могу.
Измерение "Статья", напрямую смотрит в справочник.
9. popro 19.03.19 10:46 Сейчас в теме
(8) То, что это измерение не лишает возможности обратиться к данным ссылки.
10. squall84 19.03.19 11:25 Сейчас в теме
(9)В том то и дело. Если реквизит справочника или документа, то достаточно обратиться в модуле напрямую или через объект.
А тут напрямую он его не видит, текущие данные и данные строки его не понимают, этот объект тоже не срабатывает.
Гугл не говорит, как обратиться к измерению из модуля формы.
А отладчик почему-то вылетает, если останавливаюсь на "Если ТвойРеквизит<> Неопределено Тогда".
12. popro 21.03.19 16:43 Сейчас в теме
(10) Скидываю рабочий пример для обычных форм. Измерение "Материал", колонка "Код"



Процедура РегистрСведенийСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	
	Если ДанныеСтроки.Материал <> Неопределено Тогда
        ОформлениеСтроки.Ячейки.Код.УстановитьТекст(ДанныеСтроки.Материал.Код);
    Иначе
        ОформлениеСтроки.Ячейки.Код.УстановитьТекст("");
    КонецЕсли;
	
КонецПроцедуры



Показать
squall84; +1 Ответить
13. squall84 22.03.19 09:06 Сейчас в теме
(12)Да, я уже понял, что через оформление делать нужно. Спасибо.
11. squall84 19.03.19 11:35 Сейчас в теме
(9)При изменении поля я могу посмотреть, что то, что мне нужно можно получить через "Элемент.Значение.СтатьяДекларации".
Но при выводе строки я передаю "Элемент" и "ДанныеСтроки". и как получить мой реквизит я не пойму, поскольку, как и писал именно тут вылетает отладчик. Но "Элемент.Значение.СтатьяДекларации" не срабатывает.
7. TODD22 18 19.03.19 10:20 Сейчас в теме
А зачем "Код" статьи нужен в регистре если в регистре хранится ссылка на сам элемент из которого мы всегда можем получить значение реквизита Код?
user_2010; +1 Ответить
Оставьте свое сообщение

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