|
Можно ли загрузить ТЗ в СКД? | ☑ | ||
---|---|---|---|---|
0
men47
17.07.13
✎
16:16
|
Здравствуйте, как правильно загрузить ТаблицуЗначений в СКД?
Что-то не могу найти, находится только как выгрузить ТЗ из скд. Нашел еще вот что... http://1cskd.ru/2010/07/vneshnie-nabori-dannyh/ но во 1 я не уверен что правильно во 2 не получается инициализировать ТЗ.... Может кто подскажет как можно |
|||
1
hhhh
17.07.13
✎
16:19
|
(0) в БП посмотри отчеты руководителю.
|
|||
2
fisher
17.07.13
✎
16:19
|
(0) Все верно. В СКД только так можно.
|
|||
3
Maxus43
17.07.13
✎
16:19
|
можно, набор данных Объект в СКД. у хрусталёвой есть конкретный пример
|
|||
4
fisher
17.07.13
✎
16:20
|
(0) Показывай, как инициализируешь.
|
|||
5
men47
17.07.13
✎
16:21
|
я пытался выгрузить ТЗ в структуру потом загрузить, в ТЗ 700 элементов, он вот грузит уже мин 10 и до сих пор на 25%
|
|||
6
Maxus43
17.07.13
✎
16:21
|
(5) жесть. в СКД надо сразу ТЗ пихать
|
|||
7
men47
17.07.13
✎
16:22
|
я создал набор данных Объект, в СКД
и пытаюсь теперь инициализировать СтруктураДляВыгрузки = Новый Структура; СтруктураДляВыгрузки.Вставить("тз", Результат1); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомоновкиДанных.Инициализировать(МакетКомпоновки, СтруктураДляВыгрузки); ТабДок.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомоновкиДанных); |
|||
8
men47
17.07.13
✎
16:22
|
а если я пихаю ТЗ то при ПроцессорКомоновкиДанных.Инициализировать(МакетКомпоновки, СтруктураДляВыгрузки);
ошибку выдает |
|||
9
Maxus43
17.07.13
✎
16:24
|
вот рабочий код:
//КОМПАНОВКА ДАННЫХ ВнешнийНабор = Новый Структура("ТЗ", Результат); Схема = СхемаКомпоновкиДанных; Настройки = Схема.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки); Процессор = Новый ПроцессорКомпоновкиДанных; Процессор.Инициализировать(МакетКомпоновки, ВнешнийНабор); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.ДокРезультат); ПроцессорВывода.Вывести(Процессор); |
|||
10
fisher
17.07.13
✎
16:25
|
И обратить внимание на красненький овал в сабжевой ссылке.
|
|||
11
men47
17.07.13
✎
16:25
|
(9) сейчас попробую
|
|||
12
men47
17.07.13
✎
16:25
|
(10) ну так я написал что добавил в макете СКД
|
|||
13
Бледно Золотистый
17.07.13
✎
16:27
|
(12) А как эту ТЗ в самой схеме используешь?
|
|||
14
fisher
17.07.13
✎
16:29
|
(12) Вопрос в том, насколько внимательно ты это сделал. Я, например, когда-то долго тупил, присвоив имя ТЗ набору данных, а не вписав его в предназначенное для этого поле.
|
|||
15
men47
17.07.13
✎
16:30
|
(13) Я в Схеме создал набор данных-Объект
и в поле написал ТЗ |
|||
16
Бледно Золотистый
17.07.13
✎
16:30
|
(15) Соединения есть?
|
|||
17
men47
17.07.13
✎
16:32
|
(16) нету, я запросом выбрал что мне нужно и пытаюсь в скд отправить
|
|||
18
fisher
17.07.13
✎
16:32
|
Ну и, наконец - текст сообщения об ошибке будет? Хоть мне и стыдно за свои телепатические способности.
|
|||
19
men47
17.07.13
✎
16:33
|
(18) а жаль не умеешь, хорошая штука=)) не смогу написать пробую (9) метод, но тоже пичально 3 минуты прошло и все еще 0%, щас тогда перезапущу и линкану ошибку
|
|||
20
fisher
17.07.13
✎
16:36
|
Сама загрузка 700 строк ТЗ не может длиться так долго.
Где-то в схеме еще косяки, скорее всего. |
|||
21
men47
17.07.13
✎
16:36
|
вот ошибка сама
{Форма.ФормаОтчета.Форма(177)}: Ошибка при вызове метода контекста (Инициализировать) Процессор.Инициализировать(МакетКомпоновки, Результат); по причине: Несоответствие типов (параметр номер '2') Когда я пытался пихать сразу ТЗ |
|||
22
men47
17.07.13
✎
16:37
|
поэтому я пытался через структуру
|
|||
23
fisher
17.07.13
✎
16:39
|
Я вот понять не могу. Ты типы аргументов всегда подбором определяешь? В справку грешно заглядывать?
|
|||
24
zladenuw
17.07.13
✎
16:40
|
показывай схему. где то косяк
|
|||
25
men47
17.07.13
✎
16:45
|
Короче что нужно, нужно сделать отчет наподобии ОборотыСчета, и отдельно сделать отбор по 4 счетам с возможностью отбора по номенклатурной группе (23,25,26,29), но у 25 и 26 нету номенклатурной группы, и я решил сделать внешним запросом.
ТабДок = ЭлементыФормы.Результат; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоДня(НачалоПериода)); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецДня(КонецПериода)); Если ОпределенныеСчета = Истина Тогда Массив = Новый Массив; Массив.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду(23)); Массив.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду(29)); Массив2 = Новый Массив; Массив2.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду(25)); Массив2.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду(26)); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.Субконто1, | ХозрасчетныйОбороты.Субконто2, | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОбороты.КорСчет, | ХозрасчетныйОбороты.КорСубконто1, | ХозрасчетныйОбороты.КорСубконто2, | ХозрасчетныйОбороты.КорСубконто3, | ХозрасчетныйОбороты.Организация, | ХозрасчетныйОбороты.Валюта, | ХозрасчетныйОбороты.ВалютаКор, | ХозрасчетныйОбороты.Подразделение, | ХозрасчетныйОбороты.ПодразделениеКор, | ХозрасчетныйОбороты.СуммаОборотДт, | ХозрасчетныйОбороты.СуммаОборотКт, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет В ИЕРАРХИИ (&Счет), , Субконто1 В ИЕРАРХИИ (&НоменклатурнаяГруппа), , ) КАК ХозрасчетныйОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , Счет В ИЕРАРХИИ (&Счет), , Субконто1 В ИЕРАРХИИ (&НоменклатурнаяГруппа)) КАК ХозрасчетныйОстаткиИОбороты | ПО ХозрасчетныйОстаткиИОбороты.Счет = ХозрасчетныйОбороты.Счет | И ХозрасчетныйОстаткиИОбороты.Субконто1 = ХозрасчетныйОбороты.Субконто1 | И ХозрасчетныйОстаткиИОбороты.Субконто2 = ХозрасчетныйОбороты.Субконто2 | И ХозрасчетныйОстаткиИОбороты.Субконто3 = ХозрасчетныйОбороты.Субконто3 | И ХозрасчетныйОстаткиИОбороты.Организация = ХозрасчетныйОбороты.Организация | И ХозрасчетныйОстаткиИОбороты.Валюта = ХозрасчетныйОбороты.Валюта | И ХозрасчетныйОстаткиИОбороты.Подразделение = ХозрасчетныйОбороты.Подразделение | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.Субконто1, | ХозрасчетныйОбороты.Субконто2, | ХозрасчетныйОбороты.Субконто3, | ХозрасчетныйОбороты.КорСчет, | ХозрасчетныйОбороты.КорСубконто1, | ХозрасчетныйОбороты.КорСубконто2, | ХозрасчетныйОбороты.КорСубконто3, | ХозрасчетныйОбороты.Организация, | ХозрасчетныйОбороты.Валюта, | ХозрасчетныйОбороты.ВалютаКор, | ХозрасчетныйОбороты.Подразделение, | ХозрасчетныйОбороты.ПодразделениеКор, | ХозрасчетныйОбороты.СуммаОборотДт, | ХозрасчетныйОбороты.СуммаОборотКт, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет В ИЕРАРХИИ (&Счет2), , , , ) КАК ХозрасчетныйОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , Счет В ИЕРАРХИИ (&Счет2), , ) КАК ХозрасчетныйОстаткиИОбороты | ПО ХозрасчетныйОбороты.Счет = ХозрасчетныйОстаткиИОбороты.Счет | И ХозрасчетныйОбороты.Субконто1 = ХозрасчетныйОстаткиИОбороты.Субконто1 | И ХозрасчетныйОбороты.Субконто2 = ХозрасчетныйОстаткиИОбороты.Субконто2 | И ХозрасчетныйОбороты.Субконто3 = ХозрасчетныйОстаткиИОбороты.Субконто3 | И ХозрасчетныйОбороты.Организация = ХозрасчетныйОстаткиИОбороты.Организация | И ХозрасчетныйОбороты.Валюта = ХозрасчетныйОстаткиИОбороты.Валюта | И ХозрасчетныйОбороты.Подразделение = ХозрасчетныйОстаткиИОбороты.Подразделение"; Запрос.УстановитьПараметр("Счет",Массив); Запрос.УстановитьПараметр("Счет2",Массив2); Запрос.УстановитьПараметр("НачалоПериода",НачалоДня(НачалоПериода)); Запрос.УстановитьПараметр("КонецПериода",КонецДня(КонецПериода)); Запрос.УстановитьПараметр("НоменклатурнаяГруппа", НоменклатурнаяГруппа); Результат = Запрос.Выполнить().Выгрузить(); ВнешнийНабор = Новый Структура("ТЗ", Результат); Схема = СхемаКомпоновкиДанных; Настройки = Схема.НастройкиПоУмолчанию; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки); Процессор = Новый ПроцессорКомпоновкиДанных; Процессор.Инициализировать(МакетКомпоновки, ВнешнийНабор); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.ДокРезультат); ПроцессорВывода.Вывести(Процессор); Далее идет если обычно по 1 счету то все нормально работает |
|||
26
men47
17.07.13
✎
16:48
|
а что значит наподобии... это значит по корреспондирующим счетам развертку чтобы показывал
|
|||
27
men47
17.07.13
✎
16:50
|
я делаю на форме реквизитами отбор по периоду 1 день, ставлю эти счета, и ставлю группу номенклатурной группы, за 1 день выходит около 700 элементов из запроса.... и при нынешнем коде он очень долго думает, а при том коде как я выгружал как структура он 25 мин более 10 мин делал...
могу скрины скинуть СКД если надо |
|||
28
men47
17.07.13
✎
16:50
|
тьфу 25% он более 10 минут делал
|
|||
29
men47
17.07.13
✎
16:56
|
ох... до меня дошло скорее всего почему так...
у меня в СКД есть еще 1 запрос, который выбирает по 1 счету.... он скорее всего пытается и там все счета выгрузить поэтому так долго... а возможно как-нибудь выключить его или передать чтобы эту ТЗ использовал |
|||
30
men47
17.07.13
✎
17:22
|
ап
|
|||
31
men47
17.07.13
✎
21:11
|
ап
|
|||
32
men47
17.07.13
✎
21:33
|
при (9) методе он реально доходит до 25% и потом через определенное время вылетает с недостатком памяти....
можно как-нибудь загрузить ТЗ за место того, что он возможно выгрузил у себя (т.к. у меня в СКД свой запрос) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |