|
Отчет с иерархией | ☑ | ||
---|---|---|---|---|
0
Sky69
28.01.13
✎
15:34
|
Создаю отчет,через набор данных - объект, по нажатию на кнопку запускается процедура. Выдает ошибку "Недостаточно памяти". Отчет нужно сделать с иерархией, как например в справочнике "номенклатура".
Процедура НоменклатураНажатие(Элемент) Запрос = Новый Запрос; СпособОбхода = ОбходРезультатаЗапроса.ПоГруппировкам; //СпособОбхода = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; Запрос.текст = "ВЫБРАТЬ | Номенклатура.Наименование как Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |" ; Результат = Запрос.Выполнить() ; ОтборНоменклатура = Результат.Выгрузить(СпособОбхода); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("Номенклатура",ОтборНоменклатура); СхемаКомпоновкиДанных = ПолучитьМакет("Номенклатура"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных); ДокументРезультат = Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорвыводаРезультатаКомпоновкиДанныхВтабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ДокументРезультат.ОтображатьСетку = Ложь; ДокументРезультат.ОтображатьЗаголовки = Ложь; ДокументРезультат.Показать(); КонецПроцедуры |
|||
5
Sky69
28.01.13
✎
15:38
|
когда делаю обход -прямой,к сожалению все в перемешку идет и группы и элементы
|
|||
6
Sky69
28.01.13
✎
15:40
|
в настройках много чего
|
|||
7
Sky69
28.01.13
✎
15:41
|
тут скриншот вставить нельзя?
|
|||
8
Ayvengo
28.01.13
✎
15:41
|
(6) небось значения реквизиты уже в настройках тащишь? :)
|
|||
9
Ayvengo
28.01.13
✎
15:41
|
(7) используй ximage.ru
|
|||
10
France
28.01.13
✎
15:42
|
а эти "много чего" в итоге не приводят к полному перебору всех возможных комбинаций записей?? я баловался со справочником номенклатура в СКД, и на раз два три ронял 1С с "нехватает памяти"..
|
|||
11
Ayvengo
28.01.13
✎
15:44
|
(8) если так, то запрос правь.
|
|||
12
Sky69
28.01.13
✎
15:45
|
Настройки.Выбор
Настройки.ДополнительныеСвойства Настройки.ДоступныеОбъекты Настройки.ДоступныеПоляВыбора Настройки.ДоступныеПоляГруппировок Настройки.ДоступныеПоляДополнительныхОтборов Настройки.ДоступныеПоляОтбора Настройки.ДоступныеПоляОтбораЭлементовСтруктуры Настройки.ДоступныеПоляПараметровДанных Настройки.ДоступныеПоляПорядка Настройки.Отбор Настройки.ПараметрыВывода Настройки.ПараметрыДанных Настройки.ПользовательскиеПоля Настройки.Порядок Настройки.Родитель Настройки.Структура Настройки.УсловноеОформление И еще много чего там,в каждом пункте |
|||
13
Sky69
28.01.13
✎
15:46
|
Ayvengo как?
|
|||
14
Ayvengo
28.01.13
✎
15:46
|
(13) давай скриншоты ;)
|
|||
15
Sky69
28.01.13
✎
15:47
|
интересно как?
|
|||
16
Sky69
28.01.13
✎
15:47
|
здесь вроде их не вставить
|
|||
17
Ayvengo
28.01.13
✎
15:47
|
(15) загружаешь на ximage.ru и сюда ссылки ...
|
|||
18
ИС-2
naïve
28.01.13
✎
15:47
|
(0) надо получить только все группы номенклатуры?
|
|||
19
Sky69
28.01.13
✎
15:47
|
вам все смех
|
|||
20
Ayvengo
28.01.13
✎
15:48
|
(19) а я не шучу
|
|||
21
Sky69
28.01.13
✎
15:48
|
надо получить полностью и группы и все что в них входит,как в справочнике. С вложенными папками. Интернета нету-заблокирован он. Только этот форум открыт
|
|||
22
Ayvengo
28.01.13
✎
15:51
|
(21) меняй работу :P А как на счет настройки группировок с иерархией, у тебя не настроено это?
|
|||
23
Sky69
28.01.13
✎
15:51
|
при прямом обходе "Уровень в группе" ставит = 1
|
|||
24
Sky69
28.01.13
✎
15:52
|
в настройках так и стоит группировка по "Номенклатуре"(с иерархией)
|
|||
25
Ayvengo
28.01.13
✎
15:52
|
СКД не советовать? :)
|
|||
26
Sky69
28.01.13
✎
15:53
|
- Отчет
- Номенклатура(Иерархия) -Детальные записи ))) это типа имитация скриншота |
|||
27
Ayvengo
28.01.13
✎
15:55
|
(26) ок, тогда иерархия работает :) А что в выбранных полях?
|
|||
28
Sky69
28.01.13
✎
15:55
|
СКД это схема компоновки данных? я через нее и делаю
|
|||
29
Sky69
28.01.13
✎
15:56
|
УровеньВГруппировке и Номенклатура
|
|||
30
France
28.01.13
✎
15:57
|
кросс таблица с выводом номенклатуры по вертикали и горизонтали: и придет пушистый зверь))
|
|||
31
halconel
28.01.13
✎
16:00
|
А на сервер выполнение переносить не пробовал. Там памяти больше чем на клиенте (по идее).
Сколько элементов и сколько групп в справочнике? |
|||
32
Ayvengo
28.01.13
✎
16:00
|
(29) А зачем тогда процедура такая? Не проще просто отбор в этот отчет добавить? :) Я так понял у тебя при нажатии куда-то отчет этот должен открываться?
|
|||
33
Ayvengo
28.01.13
✎
16:03
|
Ну и запрос, наверное, нужно выполнять с отбором по номенклатуре ;)
|
|||
34
Ayvengo
28.01.13
✎
16:04
|
А если вся номенклатура нужна, тогда вообще не вижу смысла использовать эту процедуру.. просто вызываешь форму отчета пусть там тыкают :) Ну или в самой форме в зависимости от значения параметра нажимай кнопочку программно
|
|||
35
Ayvengo
28.01.13
✎
16:05
|
Номенклатура.Наименование как Номенклатура - то точно так нужно?:) А какой запрос вообще в СКД?
|
|||
36
Sky69
28.01.13
✎
16:07
|
там нет запроса. я же написала через объект делаю,а не через запросы. Я изучаю построение отчетов,вот на таком примере. Мне начальник сказал сделать с иерархией по группам один справочник,разумеется там будет и отбор и все такое,но я сначала попроще решила попробовать на "Номенклатуре"
|
|||
37
Ayvengo
28.01.13
✎
16:09
|
Номенклатура.Наименование как Номенклатура - поправь хотя бы на Номенклатура.Ссылка как Номенклатура , ато где в наименовании иерархия то
|
|||
38
Sky69
28.01.13
✎
16:10
|
Мне нужно чтобы параметры из формы(результат запроса и прочие данные) передавались в отчет. Вот и все. По нажатию кнопки запускается процедура,получаем результат,выводим в отчет.
|
|||
39
France
28.01.13
✎
16:10
|
(36) напиши в яндексе Хрусталева+СКД..
|
|||
40
Ayvengo
28.01.13
✎
16:10
|
А нафига такой гемморой, если можно просто в СКД сделать :D Чет начальник фантазер какой-то :D
|
|||
41
Sky69
28.01.13
✎
16:10
|
Ayvengo - а вот он и косяк мой. Дошло
|
|||
42
Sky69
28.01.13
✎
16:12
|
Как ни жаль, но и с ссылкой не работает. ((
|
|||
43
Sky69
28.01.13
✎
16:12
|
я по Хрусталевой и делаю
|
|||
44
Sky69
28.01.13
✎
16:12
|
"Разработка сложных отчетов в 1С Предприятии 8"
|
|||
45
Sky69
28.01.13
✎
16:14
|
Ayvengo все равно все через СКД не сделать. Если я запрос пишу свой,там ВТ и ТЗ и куча кода,а потом все это выводится в ТЗ которую и надо вывести в отчет.
|
|||
46
halconel
28.01.13
✎
16:15
|
Селай в самой СКД. Не надов коде.
|
|||
47
France
28.01.13
✎
16:15
|
без сношения с тз не научились, похоже..
|
|||
48
Sky69
28.01.13
✎
16:16
|
Просто выводила в отчет раньше - вручную макет создавала и пр.,но с иерархией там не получилось - чтоб папки были и открывались. Поэтому я и делаю сейчас в СКД, но через набор данных-объект.
|
|||
49
halconel
28.01.13
✎
16:16
|
(45) Оу. Можно конечно перекинуть ТЗ в источник данных СКД. но попробуй таки на сервер код перенести. Может взлетит ;)
|
|||
50
Ayvengo
28.01.13
✎
16:16
|
(45) ну тут просто изучить нужно
|
|||
51
Sky69
28.01.13
✎
16:17
|
halconel простой запрос можно сделать,а где их много и много аналитики? куда я в СКД это запихну?
|
|||
52
France
28.01.13
✎
16:17
|
в скд и запихни(те)
|
|||
53
halconel
28.01.13
✎
16:18
|
(48) Есть подозрение, что проблема у тебя не с ошибкой про память. Похоже у тебя изначально, что-то не так.
Напиши сюда, пожалуйста, как тебе начальник задачу поставил. |
|||
54
Sky69
28.01.13
✎
16:18
|
4ГБ оперативки не хватает для простенького запроса? Я этот 1С не понимаю
|
|||
55
halconel
28.01.13
✎
16:18
|
(51) В наборы данных конечно
|
|||
56
Sky69
28.01.13
✎
16:19
|
ТО что он поставил я сделала-отчет получила, но через макет вручную и без раскрывающихся списков
|
|||
57
France
28.01.13
✎
16:19
|
(54) грамотно составив запрос можно угробить не только 1С..
|
|||
58
halconel
28.01.13
✎
16:19
|
(54) Мне недавно 64ГБ не хватило когда перекресные ссылки анализировал в базе :)
|
|||
59
halconel
28.01.13
✎
16:20
|
Так что это нормально
|
|||
60
Sky69
28.01.13
✎
16:20
|
Что не так? выбираю номенклатуру ПоГруппировкамСИерархией
|
|||
61
France
28.01.13
✎
16:20
|
(58) и для чего был анализ?
|
|||
62
France
28.01.13
✎
16:21
|
(60) группировка по строкам? по колонкам? и по строкам и колонкам?
|
|||
63
Sky69
28.01.13
✎
16:22
|
просто я раньше работала с VFP9,там все оч. быстро работает запросы SQL выполняются мгновенно
|
|||
64
France
28.01.13
✎
16:23
|
в 1С тоже все мгновенно выполняется..
|
|||
65
Sky69
28.01.13
✎
16:25
|
мы сравнивали работу 1С и VFP9 - VFP быстрей в разы
|
|||
66
France
28.01.13
✎
16:25
|
если я сравню: 1С будет быстрей в разы..
|
|||
67
Sky69
28.01.13
✎
16:26
|
Когда количество записей таблицы превышает миллион - как например с составе изделия
|
|||
68
France
28.01.13
✎
16:26
|
судя по знаниям в 1С: неудивительно что фокс оказался быстрей))
|
|||
69
Sky69
28.01.13
✎
16:26
|
ну не я сравнивала,а программист который до меня работал - толковый программист
|
|||
70
Sky69
28.01.13
✎
16:27
|
в 1С я еще только начинаю
|
|||
71
Sky69
28.01.13
✎
16:27
|
фокс как раз и создан для работы с БД.
|
|||
72
France
28.01.13
✎
16:29
|
(69) и конечно же, этот программист 1С знал в также хорошо, как фокс
|
|||
73
Ayvengo
28.01.13
✎
16:30
|
ТЗ в студию :)
|
|||
74
halconel
28.01.13
✎
16:34
|
(61) Искали чёбы удалить не используемого.
|
|||
75
France
28.01.13
✎
16:35
|
(74) проще решается: все помечается на удаление, и затем - удаление.. что осталось то и нужно))
|
|||
76
halconel
28.01.13
✎
16:36
|
(65) Ну 1С она конечно такая 1С. Но и фокс тоже. Это разные системы. Халиварить можно долго...
|
|||
77
Aprobator
28.01.13
✎
16:37
|
(0) а нафига СпособОбхода по группировкам нужен для подготовки данных для СКД?
|
|||
78
Ayvengo
28.01.13
✎
16:37
|
(75) мне не нужен неудачливый код? :D
|
|||
79
halconel
28.01.13
✎
16:39
|
(75) Нам так не подходило. База в промышленной эксплуатации уже. Получать разрешение на копирование, переносить... А я часа за 2-3 справился.
|
|||
80
halconel
28.01.13
✎
16:45
|
(69) Sky69, поставь нам задачу. А то мы твою тему всю захоливарим, пока ждем постановку.
Извини. Вопросы неправильные. Ты рассказывай лучше. Мы поймем, поможем ;) |
|||
81
Sky69
29.01.13
✎
07:33
|
Моя задача сейчас построить отчет с иерархией, чтоб раскрывающимся списком папок просматривать отчет. Вот. Причем данные будут получены из ТЗ.
|
|||
82
Sky69
29.01.13
✎
07:35
|
Код получения ТЗ прописан в кнопке на форме.
|
|||
83
Sky69
29.01.13
✎
07:51
|
Самое простое задание, которое можно сделать СКД через запрос(хотелось бы через код) это список пользователей с иерархией. Нужно отобрать пользователей,которые не включены ни в одну группу, а так же второй вариант пользователей с их группами. В левом столбце данные из справочника Пользователи -перечень пользователей(с иерархией - в какую папку они включены), в правом столбце данные из справочника группы пользователей,в какую группу данный пользователь включен. Сейчас это реализовано через созданный вручную макет. И имеет вид:
Пользователи спр. Пользователь спр. Группа пользователей АДМИНИСТРАТОР Ботезату Вячеслав Александрович Любимов Геннадий Владимирович Федоров Борис Михайлович АДМИНИСТРАЦИЯ Абдулов Юрий Владимирович Борисова Надежда Даниловна Физ лица+Все организации Ефремов Артур Васильевич Закупки --//--//-- Мебельная фабрика --//--//-- Торговый дом Иванцова Лилия Евгеньевна Мебельная фабрика Карпов Денис Алексеевич Мебельная фабрика Коновалова Наталья Николаевна Торговый дом Краснова Венера Петровна Торговый дом Круглова Светлана Львовна Мебельная фабрика --//--//-- Физ лица+Все организации --//--//-- Цех №2 Малкова Виола Михайловна Закупки --//--//-- Мебельная фабрика --//--//-- Торговый дом Романовская Екатерина Львовна Мебельная фабрика --//--//-- Физ лица+Все организации Сучкова Наталья Евгеньевна Торговый дом ЗАВЕДУЮЩИЙ УЧЕТОМ Широкова (Зав учетом) КАССИРЫ / ГЛАВНАЯ КАССА Билялова Валентина Андреевна Мебельная фабрика КАССИРЫ Ефимова Венера Викторовна Торговый дом Шурыгина Виола Ивановна Мебельная фабрика --//--//-- Торговый дом МЕНЕДЖЕРЫ / МЕНЕДЖЕР ПО РАБОТЕ С КЛИЕНТАМИ / ОПТОВИКИ Иванов (Бухгалтер по складу) |
|||
84
Sky69
29.01.13
✎
08:26
|
Через СКД запрос я сделала
|
|||
85
Aprobator
29.01.13
✎
10:24
|
Все решается в СКД без внешних данных. Примеры построения иерархии есть в книге по СКД Хрусталевой.
|
|||
86
Sky69
29.01.13
✎
11:10
|
Aprobator у меня такой вопрос по СКД. к примеру я делаю через два набора данных через запрос. Один набор данных из спр. Пользователи(беру только наименование КАК Пользователь и ссылку), другой из спр. ГруппыПользователей(беру Наименование КАК группа,и ссылку на спр.ПОльзователи из подчиненной таблицы). в связи если пытаюсь главной сделать набор данных ПОЛЬЗОВАТЕЛЬ -ругается,связь делаю по ссыллке. Если делаю наоборот главной ГРУППЫ,то выводится нормальный отчет с иерархией(но не показываются пользователи не включенные в группу). Мне нужно чтоб в отчете отразились и пользователи с группами и без групп
|
|||
87
Sky69
29.01.13
✎
11:12
|
Когда делаю через один сложный запрос(с левым соединением) - тоже самое ругается.
|
|||
88
Aprobator
29.01.13
✎
11:20
|
второй запрос покажи.
|
|||
89
MaxS
29.01.13
✎
11:23
|
(0) Может быть стоит в запросе выбирать только элементы (не группы).
И в СКД выводить элементы в иерархии. Вероятно СКД когда строит группу в иерархии вперемешку с элементами, формирует некорректный запрос, в итоге памяти и не хватает. |
|||
90
Sky69
29.01.13
✎
11:26
|
ВЫБРАТЬ
Пользователи.Наименование КАК ПОЛЬЗОВАТЕЛЬ, ГруппыПользователей.Наименование КАК ГРУППА ИЗ Справочник.Пользователи КАК Пользователи ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей КАК ГруппыПользователей ПО Пользователи.Ссылка = ГруппыПользователей.ПользователиГруппы.Ссылка |
|||
91
Sky69
29.01.13
✎
11:26
|
выдается отчет с списком пользователей с иерархией,но группы не отображает
|
|||
92
Sky69
29.01.13
✎
11:27
|
ой,без иерарахии
|
|||
93
Sky69
29.01.13
✎
11:32
|
MaxS ГРУППЫ - это наименование группы пользователей, группировку я делаю в настройках по ПОЛЬЗОВАТЕЛЬ(Иерархия)
|
|||
94
MaxS
29.01.13
✎
11:38
|
(93) Группировка по группе в запросе это одно.
Иерархия пользователя - это другое. Система подрузумевает под этим родителя элемента справочника пользователи, а не соседнее поле из запроса. |
|||
95
Sky69
29.01.13
✎
11:43
|
ну это то понятно
|
|||
96
Sky69
29.01.13
✎
11:44
|
Почему тогда не работает запрос? не понимаю. Когда главная таблица ГруппыПользователей - показывает иерархию и все как надо, не показывает только пользователей у которых нет групп. Когда делаю главной Пользователи - Показывает только список пользователей, без иерархии и без групп
|
|||
97
Sky69
29.01.13
✎
11:49
|
(94) Я делаю теперь через СКД
|
|||
98
MaxS
29.01.13
✎
14:30
|
(96) А зачем использовать (в Иерархии)? В данном случае по моему в настройках СКД достаточно выбрать группировки. Первая - группа пользователя, вторая - сам пользователь.
|
|||
99
Sky69
29.01.13
✎
14:38
|
Я уже все сделала - все работает.
Это запрос: ВЫБРАТЬ Пользователи.Наименование КАК ПОЛЬЗОВАТЕЛЬ1, ГруппыПользователей.Наименование КАК ГРУППА, ГруппыПользователей.ПользователиГруппы.( Пользователь ), Пользователи.Ссылка как ПОЛЬЗОВАТЕЛЬ ИЗ Справочник.Пользователи КАК Пользователи ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей КАК ГруппыПользователей ПО Пользователи.Ссылка = ГруппыПользователей.ПользователиГруппы.Пользователь а это в настройках: Отчет - Пользователи(Иерархия) -<Детальные записи> |
|||
100
Sky69
29.01.13
✎
14:40
|
Осталось только внешний вид подправить. Заголовки и прочее
|
|||
101
Aprobator
29.01.13
✎
16:10
|
вот за ....Наименование КАК ...... я бы сказал пару ласковых.
|
|||
102
Ayvengo
29.01.13
✎
16:11
|
(101) ну это любимая ошибка ТС :)
|
|||
103
Aprobator
29.01.13
✎
16:14
|
(102) ну что поделать, зато красивая )
|
|||
104
Aprobator
29.01.13
✎
16:16
|
соединение там тоже нафиг не упало. Все с одного справочника достать можно было. Ну и еще можно было условие на Пользователь закатать, чтобы лишних не тащить в запрос.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |