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

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

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

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

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

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

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

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

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


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 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

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

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

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

Оффлайн Dethmontt

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

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

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

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

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

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

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

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

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
alex0402
74 Сообщений
oleg-x
67 Сообщений
AIFrame AIFrame
60 Сообщений
buketov.av buketov.av
47 Сообщений
ilyay ilyay
39 Сообщений
wise wise
39 Сообщений
Анюта17
33 Сообщений
KOI8-R
32 Сообщений
Alter
30 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal