Доброго времени суток!
Подскажите пожалуйста новичку. Почему когда записываю данные в структуру данных типа ТаблицаЗначений, то при записи все данные записываются так как нужно (Строки строками, объекты типом Объект), но когда начинаю перебирать строки с помощью цикла "Для каждого" объекты превращаются в строки?
Как сделать, чтобы оставалась ссылка?
Подскажите пожалуйста новичку. Почему когда записываю данные в структуру данных типа ТаблицаЗначений, то при записи все данные записываются так как нужно (Строки строками, объекты типом Объект), но когда начинаю перебирать строки с помощью цикла "Для каждого" объекты превращаются в строки?
ТаблицаДействий = Новый ТаблицаЗначений;
ТаблицаДействий.Колонки.Добавить("Наименование");
ТаблицаДействий.Колонки.Добавить("ИсточникДляЗаполнения");
Пока Выборка.Следующий() Цикл
СтрокаТаблицаДействий = ТаблицаДействий.Добавить();
СтрокаТаблицаДействий.Наименование = Выборка.Ссылка;
СтрокаТаблицаДействий.ИсточникДляЗаполнения = Выборка.ИсточникДляЗаполнения;
КонецЦикла;
Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл //Здесь в СтрокаТаблицаДействий поле Наименование - Объект
СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование; //Здесь в ТекущаяСтрока поле Наименование - Строка
СтрТЧ.Комментарий=ТекущаяСтрока.ИсточникДляЗаполнения;
КонецЦикла;
ПоказатьКак сделать, чтобы оставалась ссылка?
По теме из базы знаний
- Описание формата внутреннего представления данных 1С в контексте обмена данными
- Полезняшки по СКД и построителям. Просто код
- Использование com-соединения для сопоставления номенклатуры, контрагентов
- Чтение и запись структуры XML
- Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"
Найденные решения
Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл //Здесь в СтрокаТаблицаДействий поле Наименование - Объект
СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование;
Потому что вот здесь ТекущаяСтрока это ссылка уже.
А ТекущаяСтрока.Наименование это наименование договора.
В отладке посмотрите
СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование;
Потому что вот здесь ТекущаяСтрока это ссылка уже.
А ТекущаяСтрока.Наименование это наименование договора.
В отладке посмотрите
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) начнем с того, что : "Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл" вообще не к месту. Это обход последней строки ТЗ, а не самой ТЗ.
Соответственно Текущая Строка.Наименование это Наименование значения первой ячейки последней строки. Другими словами: Ссылка.Наименование.
Соответственно Текущая Строка.Наименование это Наименование значения первой ячейки последней строки. Другими словами: Ссылка.Наименование.
(2) Нет, я не весь код привел, вот
Таблица значений, а записываю в табличную часть, у которой тип объект, мне и нужно записать объект, но в таблицеЗначений в цикле он превращается в строку и программа ругается, что "Наименование" не является объектом
ТаблицаДействий = Новый ТаблицаЗначений;
ТаблицаДействий.Колонки.Добавить("Наименование");
ТаблицаДействий.Колонки.Добавить("ИсточникДляЗаполнения");
Таблица значений, а записываю в табличную часть, у которой тип объект, мне и нужно записать объект, но в таблицеЗначений в цикле он превращается в строку и программа ругается, что "Наименование" не является объектом
Для каждого ТекущаяСтрока из СтрокаТаблицаДействий Цикл //Здесь в СтрокаТаблицаДействий поле Наименование - Объект
СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование;
Потому что вот здесь ТекущаяСтрока это ссылка уже.
А ТекущаяСтрока.Наименование это наименование договора.
В отладке посмотрите
СтрТЧ=Объект.ЗаполнениеРеквизитовДоговора.Добавить();
СтрТЧ.РеквизитДоговора=ТекущаяСтрока.Наименование;
Потому что вот здесь ТекущаяСтрока это ссылка уже.
А ТекущаяСтрока.Наименование это наименование договора.
В отладке посмотрите
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот