|
Такой код вообще может теоретически вернуть ожидаемое? | ☑ | ||
---|---|---|---|---|
0
Eastert
14.05.18
✎
11:58
|
В типовой конфигурации есть такой код:
ТаблицаКонтрагентов = ДокументыДляИмпорта.Скопировать(,"НомерСтроки, СчетКонтрагентаДляПоиска, ОКПОКонтрагента, ИмяКонтрагента"); где - "ТаблицаКонтрагентов" - ДеревоЗначений, реквизит обработки; - "ДокументыДляИмпорта" - ТаблицаЗначений, простая переменная; В конце концов у дерева "ТаблицыКонтрагентов" не одной строки не появляется. Если смотреть отладчиком то данные в таблице значений есть в этом: ДокументыДляИмпорта.Скопировать(,"НомерСтроки, СчетКонтрагентаДляПоиска, ОКПОКонтрагента, ИмяКонтрагента"); Это дерево значений всегда будет пустым? Опять же, это типовый код конфигурации Бухгалтерия на УФ. |
|||
1
Eastert
14.05.18
✎
11:59
|
Как заканчивать код в сообщении?)
Уже когда строка "где", там не код, а простой мой текст поста |
|||
2
Eastert
14.05.18
✎
11:59
|
блин....
|
|||
3
Eastert
14.05.18
✎
12:00
|
и тут также, ладно
|
|||
4
Ёпрст
14.05.18
✎
12:06
|
(0) скопировать возвращает ТаблицуЗначений. Дальше думай.
|
|||
5
Eastert
14.05.18
✎
12:38
|
(4) я понимаю, что логичней задать вопрос про то, как преобразовать таблицу значений в дерево значений, просто это код типовый и не понятно, что вообще должно в этом месте произойти и на что разработчики здесь расчитывают.
|
|||
6
D_E_S_131
14.05.18
✎
12:44
|
(4) У ДереваЗначений есть метод "Скопировать()", который возвращает ДЗ.
|
|||
7
Eastert
14.05.18
✎
12:45
|
(6) не совсем понял зачем
|
|||
8
Ёпрст
14.05.18
✎
12:48
|
(7) затем, что тип ДокументыДляИмпорта должен быть ДЗ, чтоб код в (0) был рабочим
|
|||
9
Eastert
14.05.18
✎
12:48
|
И вообще-то там дальше идет вот такая строка
Для каждого СтрокаДокумента Из ТаблицаКонтрагентов Цикл И ругается с ошибкой "Итератор для значения не определен", если как я понял обход дерева делается по его строкам, а не по нему самому, то чего разработчики ожидали?? |
|||
10
Ёпрст
14.05.18
✎
12:50
|
но в данном случае, тут всё наоборот, раз у скопировать есть параметры, то ТаблицаКонтрагентов должна иметь тип ТЗ.
|
|||
11
Eastert
14.05.18
✎
12:51
|
(10) Но это реквизит обработки, и простым присвоением тип не поменятся
|
|||
12
Eastert
14.05.18
✎
12:53
|
Хотя возможно, что я выгрузив стандартную обработку и запуская как внешнюю, где-то что-то с видимостью реквизитами не учел и здесь ТаблицаКонтрагентов должна быть простой переменной.. не знаю уже
|
|||
13
Eastert
14.05.18
✎
12:59
|
аа, вообщем я, мне кажется понял, этот код был в модуле менедержера обработки в конфигурации, я же когда обработку себе выгружал, за неимением модулей менеджера во внешних обработках, перенес все в модуль объекта, а модуль объекта уже имеет видимость реквизитов, в отличии от модуля менеджера.
|
|||
14
Eastert
14.05.18
✎
13:00
|
(13) и если в модуле менеджера ТаблицаКонтрагентов было обчычной неопределенной переменой и легко становилась таблицей значений, то в модуле объекта ее тип нельзя было изменить и ничего не присваивалось
|
|||
15
D_E_S_131
14.05.18
✎
13:03
|
(14) Так это еще как бы и не совсем уже "код разработчиков, которые непонятно на что рассчитывают"? xD
|
|||
16
Eastert
14.05.18
✎
13:14
|
(15) да), нельзя быть ни в чем уверенным, особенно когда на кого-то наезжаешь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |