Имя: Пароль:
1C
1С v8
1С 8 НУФ Метод объекта не обнаружено
0 DenisVich
 
20.10.17
15:28
Здравствуйте, у меня проблема, не могу свернуть в таблице значений. Сообщает "Метод объекта необнаружен".
"    ТЗ = Новый ТаблицаЗначений;
    ТЗ = ВыборкаОбъект1.Скопировать();
    
    ТЗ.Свернуть("Субконто1", "КоличествоНачальныйОстатокДт, КоличествоОборотКт, КоличествоОборотДт,
    | КоличествоНачальныйОстатокКт, КоличествоКонечныйОстатокДт,КоличествоКонечныйОстатокКт, СуммаНачальныйОстатокДт,
    | КоличествоКонечныйОстатокКт, СуммаНачальныйОстатокДт, СуммаНачальныйОстатокКт, СуммаОборотДт, СуммаОборотКт,
    | СуммаКонечныйОстатокДт,СуммаКонечныйОстатокДт");"
1 DenisVich
 
20.10.17
15:30
Вызов идет в модуле формы.
2 Lexey_
 
20.10.17
15:32
помню, у меня тоже как-то ошибка была: "Деление на 0", такие дела
3 Филиал-msk
 
20.10.17
15:33
А у меня в данной транзакции уже происходили ошибки, эхь..
4 DenisVich
 
20.10.17
15:35
"Метод объекта не обнаружен (Свернуть)". Если точно
5 DenisVich
 
20.10.17
15:35
Сокращаю число колонок, не помогает.
6 saaken
 
20.10.17
15:41
что такое "ВыборкаОбъект1"
7 Гипервизор
 
20.10.17
15:41
(0) А вы уверены, что в ТЗ у вас таблица значений?
8 h-sp
 
20.10.17
15:52
что за конфа? 1с НУФ-НУФ ??
9 DenisVich
 
20.10.17
15:59
(7) ВыборкаОбъект1 = ЗапросОбъект.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
10 DenisVich
 
20.10.17
16:00
(8) НУФ Самопал полный.
11 Гипервизор
 
20.10.17
16:00
(8) Очевидно: Небольшое управление фирмой.
(9) Так у вас получилось дерево значений, а не таблица.
12 DenisVich
 
20.10.17
16:05
нет неуправляемые формы.
13 Гипервизор
 
20.10.17
16:07
Если тип обхода задан Прямой, результат выгружается в таблицу значений, в противном случае в дерево значений.
14 DenisVich
 
20.10.17
16:09
Прямой. Но это действительно дерево значений.
Может так.
"&НаСервере
Процедура ВДЗНаСервере()
   тДерево = РеквизитФормыВЗначение("Дерево");
   тТаблица = РеквизитФормыВЗначение("Таблица");

   ПреобразоватьВДЗРекурсия(тДерево, тТаблица, Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
   тТаблица.Очистить();

   ЗначениеВРеквизитФормы(тТаблица, "Таблица");
   ЗначениеВРеквизитФормы(тДерево, "Дерево");
КонецПроцедуры

&НаСервере
Процедура ПреобразоватьВДЗРекурсия(тДерево, тТаблица, ГУИД)
   тПоиск = Новый Структура("Родитель", ГУИД);
   тМассив = тТаблица.НайтиСтроки(тПоиск);
   Для Каждого тСтр Из тМассив Цикл
      нСтр = тДерево.Строки.Добавить();
      нСтр.Колонка1 = тСтр.Колонка1;
      нСтр.Колонка2 = тСтр.Колонка2;

      ПреобразоватьВДЗРекурсия(нСтр, тТаблица, тСтр.ГУИД);
   КонецЦикла;
КонецПроцедуры"
15 DenisVich
 
20.10.17
16:09
Преобразовать в таблицу значений
16 Flover
 
20.10.17
16:13
ТЗ = Новый ТаблицаЗначений;
    ТЗ = ВыборкаОбъект1.Скопировать(); - !!!
    ТЗ.Свернуть("Субконто1",

я один вижу что переменная ТЗ переопределена ?
мне страшно за будущее 1с....
17 DenisVich
 
20.10.17
16:22
Что толку, что видите. Преобразовать надо.
18 SSSSS_AAAAA
 
20.10.17
16:23
(12) "неуправляемые формы."
Нет таких. Есть обычные OФ и управляемые УФ. Не надо применять собственные термины при общении с теми, кто их не знает.
19 catena
 
20.10.17
16:29
(17)Не надо преобразовывать, надо запрос выгружать в таблицу, а не в дерево.
20 Flover
 
20.10.17
16:38
(17) Подсказываю:

Результат = Запрос.Выполнить(ОбходРезультатаЗапроса.Прямой).Выгрузить();  

Тз = Результат.Скопировать(); - вот это будет таблица значений из результата выполнения запроса.

Если мы имеем изначально Дерево значений, то конструкция будет примерно такая:


Тз = Новый таблица Значений;
Тз.Колонки.Добавить("Колонка1", ОписаниеТипа);
Тз.Колонки.Добавить("Колонка2", ОписаниеТипа);

Для каждого Уровень1 из ДеревоЗначений.Строки Цикл
   Для Каждого Уровень2 из Уровень1.Строки Цикл
    ЗаполнитьЗначенияСвойств(Тз.Добавить(),Уровень2)

   КонецЦикла;
КонецЦикла;
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший