![]() |
|
Выгрузка запроса в Таблицу Значений | ☑ | ||
---|---|---|---|---|
0
Mr_stone
10.01.08
✎
09:02
|
Здравствуйте
Подскажите чайнику как правильно выгружать запрос в ТаблицуЗначений? У меня че то не работает Запрос=СоздатьОбъект("Запрос"); ТекстЗапроса=" |Период с НачПер По КонПер; |Обрабатывать НеПомеченныеНаУдаление; |Контрагент=Регистр.Приход.Контрагенты; |СтатьяПрихода=Регистр.Приход.СтатьиПриходов; |Сумма=Регистр.Приход.Сумма; |Основание=Регистр.Приход.Основание; |Функция СуммаПрихода=Сумма(Сумма); |Условие(Контрагент в ВыбКонтрагент); |"; Запрос.Выгрузить(ТабЗнач,0,0); а в таблице вот такие выражение: ТабЗнач.ПолучитьЗначение(н,1) | ТабЗнач.ПолучитьЗначение(н,2) | ТабЗнач.ПолучитьЗначение(н,3) | ТабЗнач.ПолучитьЗначение(н,4) При этом выводится в таблицу, в первой колонки есть сумма а в других нет. 2065.54 | ТабЗнач.ПолучитьЗначение(н,2) | ТабЗнач.ПолучитьЗначение(н,3) | ТабЗнач.ПолучитьЗначение(н,4) и всторке сообшений выводются 3 одинаковых ошыбок: "Номер за пределами значения!" Потом сделал так: Запрос.Выгрузить(ТабЗнач,Запрос.Контрагент,Запрос.СтатьяПрихода,Запрос.Сумма,Запрос.Основание,0); Теперь, даже таблица непоказывалась, опять ошибка: "Слишком много параметров передано при вызове функции/процедуры объекта" следующий раз, если мног параметров вышло тогда пусть будет хоть один: Запрос.Выгрузить(ТабЗнач,Запрос.Контрагент,0); теперь, ни каких ошибок, но и в таблице ничего нет, совсем пустая... вот теперь, мне не за-что зацепится и незнаю что делать, помогите. и еще, функция в языке запросов с Измерениями и Реквизитами регистра не работает что ли? только с Ресурсами? |
|||
1
Фокусник
10.01.08
✎
09:06
|
(0) какой-то злобный бот...
|
|||
2
VladZ
10.01.08
✎
09:11
|
(0) Не вижу строки Запрос.Выполнить(ТекстЗапроса)
|
|||
3
Подводный Таракан
10.01.08
✎
09:12
|
(0) функции нач и кон остатков только с ресурсами, с измерениями - не работает, сделай хоть группировку по запросу, а потом просто выгрузить и таблицу значений помести на форме и смотри на нее
|
|||
4
Андрюха
10.01.08
✎
09:13
|
Выгрузить(<ТаблЗнач>,<Флаг>,<Итоги>)
Назначение: Выгружает результаты запроса в таблицу значений. Возвращает число: 1 - если выгрузка произошла успешно, иначе - 0. Параметры: <ТаблЗнач> - Таблица значений, куда выгружаются результаты запроса. <Флаг> - необязательный параметр. Число или строка: 0 - значения групп и функций (по умолчанию); 1 - значения групп и функций, дополнительных переменных; 2 - значения упорядочиваний групп и функций; 3 - значения упорядочиваний групп и функций, дополнительных переменных; Строка - '' Товар(1), Товар(2), Товар, Склад, Приход, Расход'', где Товар(1) - значение первого упорядочивания группировки ''Товар''. <Итоги> - необязательный параметр. Число: 0 - итоги по группировкам не выводить; 1 - итоги по группировкам выводить сверху (по умолчанию); 2 - итоги по группировкам выводить снизу; 3 - итоги по группировкам выводить сверху и снизу. |
|||
5
Salimbek
10.01.08
✎
09:13
|
(0) Выгрузить(<?>,,)
Синтаксис: Выгрузить(<ТаблЗнач>,<Флаг>,<Итоги>) Назначение: Выгружает результаты запроса в таблицу значений. Возвращает число: 1 - если выгрузка произошла успешно, иначе - 0. Параметры: <ТаблЗнач> - Таблица значений, куда выгружаются результаты запроса. <Флаг> - необязательный параметр. Число или строка: 0 - значения групп и функций (по умолчанию); 1 - значения групп и функций, дополнительных переменных; 2 - значения упорядочиваний групп и функций; 3 - значения упорядочиваний групп и функций, дополнительных переменных; <Итоги> - необязательный параметр. Число: 0 - итоги по группировкам не выводить; 1 - итоги по группировкам выводить сверху (по умолчанию); 2 - итоги по группировкам выводить снизу; 3 - итоги по группировкам выводить сверху и снизу. --- Исходя из этого надо писать так: Запрос.Выгрузить(ТабЗнач,1,0); |
|||
6
Mr_stone
10.01.08
✎
15:08
|
Исправил параметр
Запрос.Выгрузить(ТабЗнач,1,0); теперь выводит только одну строку, и в первой колонке общая сумма 2065.54 | ХГЭС | Начисление Электроэнергии | 1434.68 а проведено по этому документу 4 строки, вот эти: Лен. Эс | Начисление Электроэнергии | 212.21 | c/ф № Истаравшан Эс | Начисление Электроэнергии | 325.3 | с/ф № ХГЭС | Начисление Электроэнергии | 1434.68| с/ф № ЧГО Энергосбыт | Начисление Электроэнергии | 93.35 | с/ф № нужно загрузить в таблицу значение все строки заданного интервала времени. а весь код такой Процедура Сформировать() Запрос=СоздатьОбъект("Запрос"); ТекстЗапроса=" |Период с НачПер По КонПер; |Обрабатывать НеПомеченныеНаУдаление; |Контрагент=Регистр.Приход.Контрагенты; |СтатьяПрихода=Регистр.Приход.СтатьиПриходов; |Сумма=Регистр.Приход.Сумма; |Основание=Регистр.Приход.Основание; |Функция СуммаПрихода=Сумма(Сумма); |Условие(Контрагент в ВыбКонтрагент); |"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; ТабЗнач=СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТабЗнач,1,0); Таб=СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Заголовок"); ТабЗнач.ВыбратьСтроки(); Для н=1 по ТабЗнач.КоличествоСтрок() Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать(); КонецПроцедуры |
|||
7
Ёпрст2
10.01.08
✎
15:28
|
(6) При обращению к регистру Остатков указывайте обязательно функции для обращения к нему, такие как Приход,Расход,КонОст,НачОст ... сама функция Сумма ничего не считает... вот и нету в итоге у вас ни черта ...
|
|||
8
Mr_stone
10.01.08
✎
15:33
|
но, регистр то Оборотный а не регистр остатков
в этом случае что делать |
|||
9
Ёпрст2
10.01.08
✎
15:46
|
(8) Добавить группировку в текст запроса ..
|
|||
10
Mr_stone
11.01.08
✎
13:00
|
Теперь запрос выводит только 4 последних проведенных документов не зависимо от количество проведенных документов. Как это так может быть и почему 4 строк?
Вот что выходит: в первой колонке-Наименование контрагентов, во второй-суммы, в третей-статя прихода, в четвертой-опять те-же суммы что и во второй колонке, а по реквизиту основание вообще ни чего нету. Что делать? подскажите... |
|||
11
Ёпрст2
11.01.08
✎
13:37
|
(10) Показать новый текст запроса для начала, и как ты его выгружаешь в ТЗ.
|
|||
12
Mr_stone
11.01.08
✎
13:49
|
Процедура Сформировать()
Запрос=СоздатьОбъект("Запрос"); ТекстЗапроса=" |Период с НачПер По КонПер; |Обрабатывать НеПомеченныеНаУдаление; |Контрагент=Регистр.Приход.Контрагенты; |СтатьяПрихода=Регистр.Приход.СтатьиПриходов; |Сумма=Регистр.Приход.Сумма; |Основание=Регистр.Приход.Основание; |Функция СуммаПрихода=Сумма(Сумма); |Группировка Контрагент упорядочить по Контрагент.Наименование; |Условие(Контрагент в ВыбКонтрагент); |"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; ТабЗнач=СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТабЗнач,1,0); Таб=СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Заголовок"); ТабЗнач.ВыбратьСтроки(); Для н=1 по ТабЗнач.КоличествоСтрок() Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать(); КонецПроцедуры |
|||
13
Ёпрст2
11.01.08
✎
14:02
|
(12) Для начала, выкинуть вот этот бред - |Обрабатывать НеПомеченныеНаУдаление;,
а во вторых, что там говоришь неправильно выводит то ? ЗЫ: Выводит тебе клиентосов и сумму оборотов за период ... не более того. И нахрена ты доп. переменные в выгрузку включил - токма тебе понятно ЗЫЫ: И проще, ТЗ кинуть на форму - нагляднее (и не надо в Таблицу ничего выводить).. или уж ТЗ.ВыбратьСтроку() ... |
|||
14
Mr_stone
11.01.08
✎
14:33
|
Для начала, выкинуть вот этот бред - |Обрабатывать НеПомеченныеНаУдаление;
Не помогает. А что, не все переменные нужно выводит? данные по ним тоже нужны. ЗЫЫ: И проще, ТЗ кинуть на форму - нагляднее (и не надо в Таблицу ничего выводить).. А как можно кинуть Т3 на форму, как это делается? можно по подробнее пожалуйста |
|||
15
FreeFin
11.01.08
✎
14:41
|
(14) не нуя не понял, берет запрос сумму по контрагентам, группировок по документам (и их самих) нету, а по-документам подавай. читай еще раз (9)
|
|||
16
Ёпрст2
11.01.08
✎
14:41
|
(14) Биомать а ... При обращении к регистру не надо пихать в текст запроса левые условия про документы и Обрабатывать НеПомеченны ... , т.к записи в регистре формируются только проведенными документами...
ЗЫ: 1. На форму кладешь ТаблицуЗначений, даешь ей идентификатор ...ТЗ , к примеру, выкидываешь из модуля строку ТЗ=СоздатьОбъект("ТаблицаЗначений"); и просто выгружаешь запрос в эту ТЗ ... 2. Читаешь вниматочно параметры метода Выгрузить в СП ... 3. Читаешь эту методичку хотя бы: http://infostart.ru/projects/578/ или это: http://testpu.city.tomsk.net/1c/mp2/Index.htm ну и это, чтоб понимать откуда ноги растут http://www.mista.ru/articles1c/hare/article.47.html ЗЫЫ: И поиграйся с группировками ...посмотри, что попадает после выполнения запроса... посмотри на движения документа в журнале, и может быть, о чудо! - придёт осветления от твоих действий. |
|||
17
Бармолей
11.01.08
✎
18:40
|
(0) я бы не связывался с таблицами значений
|
|||
18
Cthulhu
11.01.08
✎
19:13
|
(17): не надоело разводить людей?.. (не. ну не верится мне, что реально можно быть настоолько тупыым)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |