|
Тип не может быть выбран в запросе | ☑ | ||
---|---|---|---|---|
0
phaz
03.09.14
✎
11:45
|
ТаблицаДанныхПоЗадолжности = Новый ТаблицаЗначений;
ТаблицаДанныхПоЗадолжности.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("ДоговорКонтрагента", Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("ВидДеятельности", Новый ОписаниеТипов("СправочникСсылка.Б_ВидыДеятельности")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("СчетНомер", Новый ОписаниеТипов("Строка")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("СчетДата", Новый ОписаниеТипов("Дата")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("СчетСуммаДокумента", Новый ОписаниеТипов("Число")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("ДатыОплаты", Новый ОписаниеТипов("Строка")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("СуммаОплаты", Новый ОписаниеТипов("Число")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("СуммаАктовОплаченных", Новый ОписаниеТипов("Число")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("СуммаАктовВыставленных", Новый ОписаниеТипов("Число")); ТаблицаДанныхПоЗадолжности.Колонки.Добавить("Счет", Новый ОписаниеТипов("ДокументСсылка.СчетНаОплатуПокупателю")); ТаблицаДанных = СложитьСовпадающиеСтрокиОплаты(РезультатЗапроса); ТаблицаДанныхПоЗадолжности = ТаблицаДанных.Скопировать(); Менеджер = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ * |ПОМЕСТИТЬ Табл |ИЗ | &Данные КАК Таб"; Запрос.УстановитьПараметр("Данные", ТаблицаДанныхПоЗадолжности); Запрос.МенеджерВременныхТаблиц = Менеджер; Запрос.Выполнить(); Добрый день! Собственно не могу понять в чем ошибка? |
|||
1
Wobland
03.09.14
✎
11:46
|
видимо, да
|
|||
2
Timon1405
03.09.14
✎
11:47
|
а разве квалификаторы не нужно указать?
|
|||
3
Wobland
03.09.14
✎
11:48
|
(2) всё равно нетипизированная будет
|
|||
4
mzelensky
03.09.14
✎
11:49
|
(0) А толку, что ты описание сделал, если ты копируешь таблицу:
ТаблицаДанныхПоЗадолжности = ТаблицаДанных.Скопировать(); |
|||
5
Адский плющ
03.09.14
✎
11:49
|
Ха, после долгих мучений с прописанием типов колонок, берем всё и убиваем :
ТаблицаДанныхПоЗадолжности = ТаблицаДанных.Скопировать(); |
|||
6
Адский плющ
03.09.14
✎
11:49
|
(4) Опередил )
|
|||
7
mzelensky
03.09.14
✎
11:50
|
(4) + После этого у тебя в переменной "ТаблицаДанныхПоЗадолжности" получается таблица полностью аналогичная таблице "ТаблицаДанных"
|
|||
8
phaz
03.09.14
✎
11:51
|
(7) А как же мне добавить туда данные правильно? Перебором через цикл?
|
|||
9
Timon1405
03.09.14
✎
11:52
|
// Добавляет в таблицу значений строки из другой таблицы значений и
// в них значения колонок с совпадающими наименованиями. // // Параметры: // ТаблицаИсточник - таблица значений, откуда берутся значения. // ТаблицаПриемник - таблица значений, куда добавляются строки. // Процедура ЗагрузитьВТаблицуЗначений(ТаблицаИсточник, ТаблицаПриемник) Экспорт //Сформируем массив совпадающих колонок. МассивСовпадающихКолонок = Новый Массив(); Для каждого Колонка Из ТаблицаПриемник.Колонки Цикл Если ТаблицаИсточник.Колонки.Найти(Колонка.Имя) <> Неопределено Тогда МассивСовпадающихКолонок.Добавить(Колонка.Имя); КонецЕсли; КонецЦикла; Для каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл СтрокаТаблицыПриемника = ТаблицаПриемник.Добавить(); // Заполним значения в совпадающих колонках. Для каждого ЭлементМассива Из МассивСовпадающихКолонок Цикл СтрокаТаблицыПриемника[ЭлементМассива] = СтрокаТаблицыИсточника[ЭлементМассива]; КонецЦикла; КонецЦикла; КонецПроцедуры // ЗагрузитьВТаблицуЗначений() |
|||
10
phaz
03.09.14
✎
11:52
|
Т.е. через НовСтр = ТЗ.Добавить();
|
|||
11
phaz
03.09.14
✎
11:53
|
(9) Спасибо сейчас попробую.
|
|||
12
phaz
03.09.14
✎
11:58
|
(9) Помогло буду иметь ввиду, спасибо.
|
|||
13
mzelensky
03.09.14
✎
11:58
|
(10)(11) Либо перебором и "ЗаполнитьЗначенияСвойств" или сразу таблицу "ТаблицаДанных" типизировать.
|
|||
14
mzelensky
03.09.14
✎
11:59
|
(9) Боже, зачем такой велосипед??? Чем просто метод "ЗаполнитьЗначенияСвойств" не устраивает???
|
|||
15
mzelensky
03.09.14
✎
12:01
|
(14) Вот так:
Для каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл // Заполним значения в совпадающих колонках. ЗаполнитьЗначенияСвойств(ТаблицаПриемник.Добавить(), СтрокаТаблицыИсточника); КонецЦикла; |
|||
16
Фокусник
03.09.14
✎
12:04
|
(4), (5) Да ладно, типы тоже копируются... при ТЗ.Скопировать()
(0) ИМХО, проблема в неограниченной строке: Новый ОписаниеТипов("Строка") |
|||
17
phaz
03.09.14
✎
12:04
|
(15) Спасибо, так реально быстрее.
|
|||
18
mzelensky
03.09.14
✎
12:07
|
(16) ну так правильно, скопируются. И если ТЗ "ТаблицаДанных" не типизировалась (ее колонки не типизировались), то запрос работать не будет.
Чет ты, дядя, подтупливаешь... |
|||
19
Фокусник
03.09.14
✎
12:11
|
(18) Ага, вырвал проблему из контекста кода :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |