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

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 Ответить
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)