Заполнить несуществующее значение регистра сведений

1. nagaitseff 173 20.11.17 12:00 Сейчас в теме
День добрый!
Есть БП 7.7 в ней есть справочник, назовем его СПРАВОЧНИК 1, в справочнике есть 2 периодических реквизита, оба реквизиты ссылаются на другой справочник СПРАВОЧНИК 2.

Задача, перенести данные в регистр сведений.

Создал регистр сведений - все данные беру из СПРАВОЧНИКА 1
НО в ЕРП создали дополнительно Перечисление с 2 значениями Причина150 и Причина60.
В БП 7.7. с такими же названиями были периодические реквизиты.

// Регистр сведений Причины
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Период", "Дата");
ВыборкаДанных.НоваяКолонка("Активность");
ВыборкаДанных.НоваяКолонка("Декларация");
ВыборкаДанных.НоваяКолонка("ВидПричины");
ВыборкаДанных.НоваяКолонка("Причина");

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
	|Обрабатывать НеПомеченныеНаУдаление;
	|СпрОтгГТД = Справочник.ОтгГТД.ТекущийЭлемент;
	|Группировка СпрОтгГТД Упорядочить по СпрОтгГТД.Наименование Без групп;
	|";

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
	Возврат 0;
КонецЕсли;

Пока Запрос.Группировка("СпрОтгГТД") = 1 Цикл
	
	СпрОтгГТД  = СоздатьОбъект("Справочник.ОтгГТД");
	СпрОтгГТД.НайтиЭлемент(Запрос.СпрОтгГТД);
		
	Пер = СоздатьОбъект("Периодический");
	Пер.ИспользоватьОбъект("Причина150",СпрОтгГТД.ТекущийЭлемент());
	Пер.ВыбратьЗначения();

	Пока Пер.ПолучитьЗначение() = 1 Цикл
		Если Пер.Значение.Выбран() = 1 Тогда
			ВыборкаДанных.НоваяСтрока();
			ВыборкаДанных.Период = Пер.ДатаЗнач;
			ВыборкаДанных.Причина = Пер.Значение;
			ВыборкаДанных.Декларация = СпрОтгГТД.Наименование;
			ВыборкаДанных.ВидПричины =????????????????????????????;
			ВыборкаДанных.Активность = 1; 							
		КонецЕсли;
	КонецЦикла;
		
	Пер = СоздатьОбъект("Периодический");
	Пер.ИспользоватьОбъект("Причина60",СпрОтгГТД.ТекущийЭлемент());
	Пер.ВыбратьЗначения();
	
	Пока Пер.ПолучитьЗначение() = 1 Цикл
		Если Пер.Значение.Выбран() = 1 Тогда
			ВыборкаДанных.НоваяСтрока();
			ВыборкаДанных.Период = Пер.ДатаЗнач;
			ВыборкаДанных.Причина = Пер.Значение;
			ВыборкаДанных.Декларация = СпрОтгГТД.Наименование;
			ВыборкаДанных.ВидПричины = ???????????????????;
			ВыборкаДанных.Активность = 1; 							
		КонецЕсли;
	КонецЦикла;
	
КонецЦикла;
Показать


Помогите пожалуйста, как заполнить ВидПричины, если это ссылка на справочник, а мне надо как то определить например, что это Причина150 и при загрузке выбрать необходимое перечисление??

Спасибо.
По теме из базы знаний
Найденные решения
7. Dream_kz 129 20.11.17 12:45 Сейчас в теме
(1)
ВыборкаДанных.ВидПричины =????????????????????????????;

ВыборкаДанных.ВидПричины = "Причина60";
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dream_kz 129 20.11.17 12:35 Сейчас в теме
(1) ВидПричины в приемнике это перечисление? Если да, то можно указывать строковое значение, оно преобразуется в перечисление
3. nagaitseff 173 20.11.17 12:37 Сейчас в теме
(2) Да, а как указать строковое значение, я на СКД, не очень тут еще 7ка???

Приведите пожалуйста пример..
4. nagaitseff 173 20.11.17 12:38 Сейчас в теме
6. гаврюша 2 20.11.17 12:43 Сейчас в теме
(4)Там где у Вас стоят ??? заменить на = Перечисления.ИмяПеречисления.Значение (Причина150 или Причина60)
5. гаврюша 2 20.11.17 12:41 Сейчас в теме
(1) Выборкаданных.ВидПричины = Перечисления.Имя.Причина150;
или ...Причина60
10. nagaitseff 173 21.11.17 07:20 Сейчас в теме
(5) Добрый день, так пробовал, не сработало.

Сработало только так: ВыборкаДанных.ВидПричины = "Причина60";

Спасибо.
7. Dream_kz 129 20.11.17 12:45 Сейчас в теме
(1)
ВыборкаДанных.ВидПричины =????????????????????????????;

ВыборкаДанных.ВидПричины = "Причина60";
8. nagaitseff 173 21.11.17 04:04 Сейчас в теме
(7) Добрый день!
Так не работает, все равно пустые поля, не грузит
9. nagaitseff 173 21.11.17 07:19 Сейчас в теме
(7) Перевыгрузил заново метаданные, создал заново правила обмена и прописал код, как вы посоветовали, сработало, регистр заполнился корректно, спасибо
Оставьте свое сообщение

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