Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 03:22
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Передача реквизита по индексу  (Прочитано 3752 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Березин

  • **
  • Сообщений: 56
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-12-31
  • Сайт: 
  • Профессия: Бухгалтер
Есть массив.
Его элементы: реквизиты документа. Их тип: Объект метаданных.

Полученая ссылку на документ и передаю реквизиты по индексу.

ДокументСсылка = Документы.ВыпускПродукции.НайтиПоНомеру("ЮФО00000020",ТекущаяДата()-122444000);
Для каждого Элемент Из Массив Цикл
       Значение = Документ[Элемент];
Нет проблем с реквизитами Дата и Номер.
А с другими ошибка:

Получение элемента по индексу для значения не определено
       Значение = ДокументСсылка[Элемент];

Хотя вроде бы индекс может быть любого типа.


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Хотя вроде бы индекс может быть любого типа.

ИНДЕКС не может быть любого типа, индекс это число!
Добавлено: 20 Май 2013, 01:53

Но 1Сина поддерживает обращение к свойствам по имени в индексных скобках (т.е. сама получает индекс)

Как массив формируется покажи...
Добавлено: 20 Май 2013, 02:10

Значение = Документ[Элемент];
Это тоже самое что
Значение = Документ["Номер"];
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Последний раз редактировалось: Dethmontt; 20 Май 2013, 02:10. Причина: Объединение сообщений

Оффлайн Березин

  • **
  • Сообщений: 56
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-12-31
  • Сайт: 
  • Профессия: Бухгалтер
Насчет индекс может быть любого типа я погорячился.

Массив формируется так:

Массив = Новый Массив;
   Массив.Добавить("Дата");
   Массив.Добавить("Номер");
   Мета = Метаданные.Документы.ВыпускПродукции.Реквизиты;
   Для каждого Элемент Из Мета Цикл
   
      Массив.Добавить(Элемент);
   
   КонецЦикла;

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
 Надо так
Для каждого Элемент Из Мета Цикл
   
      Массив.Добавить(Элемент.Имя);
   
   КонецЦикла;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Березин

  • **
  • Сообщений: 56
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-12-31
  • Сайт: 
  • Профессия: Бухгалтер
Как говорил классик:"Вы будете смеяться".
Но так работает.
Спасибо.
Теперь буду думать в чем разница.

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Я вам подсказку дам.

Проверьте типы значений переменных: Элемент, Элемент.Имя и "Дата"
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Березин

  • **
  • Сообщений: 56
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-12-31
  • Сайт: 
  • Профессия: Бухгалтер
Проверил: Объект метаданных, строка, строка.
Если работают  Элемент.Имя и "Дата", а Элемент не работает, то делаю поспешный вывод, что передаваться под видом индекса должна строка.
Был бы очень благодарен за подсказку, где в описании встроеного языка  мог бы это прочитать.
Я нашел только:

ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>)
<Имя реквизита> (<Attribute name>)
Использование:

Только чтение.
Описание:

Тип: Произвольный.
Набор свойств содержит значения реквизитов документа. Доступ к значению осуществляется по имени, как оно задано в конфигураторе.

Доступность:

Сервер, толстый клиент, внешнее соединение.


Теги:
 

как получить значение реквизита "Код" в обработке "ПодборНоменклатуры" в УТ10.3

Автор JalibРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1069
Последний ответ 02 Дек 2016, 12:58
от Jalib
Заполнение табличной части при выборе реквизита другой табличной части в документе.

Автор Vlad-93Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 305
Последний ответ 25 Окт 2017, 14:15
от Vlad-93
КД, Перенос Реквизита справочника (7.7) в ТЧ справочника 8.2.

Автор EvgenyРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3647
Последний ответ 17 Сен 2014, 13:39
от Kironten
получаю значение реквизита формы, дает значение 0

Автор mikel10Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3403
Последний ответ 12 Июл 2013, 15:35
от mikel10
Автоматическое заполнение реквизита "Наименование"

Автор AlieramadaРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 3356
Последний ответ 23 Фев 2014, 10:17
от sadovod

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
27 Сообщений
Golickoff Golickoff
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 160
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal