|
обращение к таблице значений через com по индексу строки | ☑ | ||
---|---|---|---|---|
0
hawksib
28.08.15
✎
04:42
|
Вот такой код у меня перестал работать, когда функция начала возвращать Com-объект, подскажите как к таблице значений по индексу обратиться когда она передается через com соединение
Причина = ПричинаОтсутсвия(ФизЛицоПоФИО, ДатаДня); Если Причина.Количество() <> 0 Тогда ПричинаНарушенияГрафика = НРег(Причина[0].Причина); Иначе ПричинаНарушенияГрафика = ""; КонецЕсли; Причина[0] выдает ошибку "Получение элемента по индексу для значения не определено" |
|||
1
Апош
28.08.15
✎
04:44
|
переверни свой ком-объект в ТЗ
|
|||
2
Апош
28.08.15
✎
04:45
|
ТЗтут=ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(ТЗтам))
|
|||
3
hawksib
28.08.15
✎
04:54
|
(2) не работает https://yadi.sk/i/mhDzzE7dihuRm
|
|||
4
Галахад
гуру
28.08.15
✎
05:03
|
Наверное "Причина" вовсе не таблица значений.
|
|||
5
hawksib
28.08.15
✎
05:04
|
(4) тогда что
Функция ПричинаОтсутсвия(ФизЛицо, Дата) Экспорт Запрос = мСоединение.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ | СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник, | СостояниеРаботниковОрганизацийСрезПоследних.Организация, | СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.ПодразделениеОрганизации КАК Подразделение, | СостояниеРаботниковОрганизацийСрезПоследних.Состояние КАК Причина, | СостояниеРаботниковОрганизацийСрезПоследних.Сотрудник.Должность КАК Должность |ИЗ | РегистрСведений.СостояниеРаботниковОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), Сотрудник.Физлицо = &ФизЛицо) КАК СостояниеРаботниковОрганизацийСрезПоследних |ГДЕ | СостояниеРаботниковОрганизацийСрезПоследних.ПериодЗавершения > &Дата | И СостояниеРаботниковОрганизацийСрезПоследних.Состояние <> &СостояниеРаботатет"; Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо); Запрос.УстановитьПараметр("Дата", Дата); Запрос.УстановитьПараметр("СостояниеРаботатет", мСоединение.Перечисления.СостоянияРаботникаОрганизации.Работает); Возврат Запрос.Выполнить().Выгрузить(); КонецФункции |
|||
6
Апош
28.08.15
✎
05:04
|
(3) сам догадаешься на ЗначениеВСтрокуВнутр(ТЗтам) посмотреть?
|
|||
7
Апош
28.08.15
✎
05:05
|
(5) гы. у тебя тут непримитивные типы
|
|||
8
Апош
28.08.15
✎
05:06
|
делай запрос к соседней базе без всяческих ТЗ
|
|||
9
Галахад
гуру
28.08.15
✎
05:09
|
Может результат запроса пустой?
|
|||
10
Апош
28.08.15
✎
05:10
|
(9) пустая ТЗ неплохо преобразовывается
|
|||
11
hawksib
28.08.15
✎
05:16
|
(9) пустая тз меня не интересует, по коду видно
(7) тут-то я и почуял подвох, переделаю, конечно, по другому, но все равно вопрос оставлю открытым, неужели нельзя по индексу обратиться? |
|||
12
Апош
28.08.15
✎
05:18
|
(11) ком-объект - не коллекция. но иногда он умеет возвращать строку по номеру, я думаю
|
|||
13
hawksib
28.08.15
✎
05:53
|
переделал быдлокoд
Если Причина.Количество() <> 0 Тогда Для Каждого Строка Из Причина Цикл ПричинаНарушенияГрафика = мСоединение.String(Строка.Причина); Прервать; КонецЦикла; Иначе ПричинаНарушенияГрафика = ""; КонецЕсли; работатет |
|||
14
Апош
28.08.15
✎
05:54
|
ТЗоттуда.Получить() не работает?
|
|||
15
hawksib
28.08.15
✎
05:58
|
(14) неа, ошибка при вызове метода контекста
|
|||
16
hawksib
28.08.15
✎
06:00
|
(14) не опциональный параметр какой-то
|
|||
17
Апош
28.08.15
✎
06:03
|
Получить (Get)
Синтаксис: Получить(<Индекс>) Параметры: <Индекс> (обязательный) Примечание: Применяется в случаях, когда использование оператора [] невозможно. |
|||
18
hawksib
28.08.15
✎
06:16
|
(17) спасибо, работает, удаляю свой г..н.код
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |