Имя: Пароль:
1C
1С v8
Отбор СКД на форме
0 Nikosss
 
30.04.13
16:41
Задача: Сравнить остатки 1С с Excel файлом и показать разницу.
На форме (обычное приложение) разместил параметры (КомпоновщикНастроек.Настройки.ПараметрыДанных) и отбор(КомпоновщикНастроек.Настройки.Отбор). Но через этот отбор не отбираются данные, т.к. надо отбор к группировке по номенклатуре (она одна). Вот как на форме разместить отбор конкретно для этой группировки?
1 Defender aka LINN
 
30.04.13
16:44
Переводчик! В зале есть переводчик?
2 Wobland
 
30.04.13
16:46
(1) как на форме разместить отбор для конкретной группировки при употреблении СКД?
3 Wobland
 
30.04.13
16:46
+(2) и не спрашивай меня, что это такое
4 Defender aka LINN
 
30.04.13
16:46
(2) Зачем "для конкретной группировки", если надо "Сравнить остатки 1С с Excel файлом и показать разницу."?
5 Nikosss
 
30.04.13
16:48
6 Defender aka LINN
 
30.04.13
16:49
(5) А словами? Не у всех подобные ресурсы на работе можно открыть
7 Nikosss
 
30.04.13
16:53
в СКД на вкладке "Настройка" создаю группировку по Артикулу. Отдельно для каждой группировки в СКД можно указывать отбор(Вот он и нужен). А когда размещаешь на форме, то это общий отбор.
8 Wobland
 
30.04.13
16:54
не хочешь ли ты детальных записей?
9 Nikosss
 
30.04.13
17:00
(8) Нет, мне как раз нужны данные с группировкой по Артикулу, т.к. я делаю в СКД объединение запроса и объекта (ТаблицаЗначений)
10 Nikosss
 
30.04.13
17:13
неужели никому не надо было размещать на форме отбор для конкретной группировки?((
11 Nikosss
 
30.04.13
17:22
может и я что-то не так делаю:
1.Набор данных - Запрос (к остаткам по 41 счету)
2.Набор данных - Объект (ТаблицаЗначений с данными из Excel)
3.Объединение
4.Всего 3 поля - Артикул,КоличествоФайл,КоличествоБаза.
5.Вычисляемое поле - "Разница" (КоличествоБаза)-(КоличествоФайл)
6.Ресурс по "Разница" Сумма(ЕстьNull(КоличествоБаза,0))-Сумма(ЕстьNull(КоличествоФайл,0)) Рассчитывать по:Артикул, Общий итог
7.В настройках отчета создай группировку по Артикулу Без иерархии.

Все как казалось все просто. Но если делаю общий отбор, то никакие данные не выводятся (полагаю из-за Null и объединения), а вот если указываю отбор в группировке, то все выводится
12 Новиков
 
30.04.13
17:29
Ты в типовой или самописке?
13 Nikosss
 
30.04.13
17:34
(12) Типовая бух., если поможет. впринципе тут все равно какая конфа.
14 Новиков
 
30.04.13
17:41
=) В типовой бухе нету шаблона типового отчета, но есть универсальная консоль или как она там называется. Вот там ты можешь свою схему вставить и настройки штатные увидешь - как будто если б ты настраивал в СКД самой. Может пригодиться.
15 Nikosss
 
30.04.13
17:54
Может ты про консоль отчетов? Я бы уж лучше использовал КонсольСистемыКомпоновкиДанных с диска ИТС )) но я создаю СКД вручную, чтобы передать в него ТаблицуЗначений. Вот если можно было бы ТЗ вручную как-то создать в этих консолях, то пригодилось
16 Defender aka LINN
 
30.04.13
19:04
(7) Уже из дома посмотрел. А вот для накуя? Чем это будет отличаться от отбора отчета?
17 Defender aka LINN
 
30.04.13
19:05
(15) Если после праздников напомнишь, могу задарить такую
18 Nikosss
 
30.04.13
21:15
(16) Так я и не понимаю почему, если в выбранных полях в группировке по Артикулу стоит автополе!! И отборы из отчета должны применяться ко всем группировкам.
19 echo77
 
30.04.13
21:36
(18) отборы на уровне Отчет применяются к результирующей выборке, т.е на уровне запроса. т.к. у тебя объединение и ты походу его сворачиваешь по артикулу, то визуально ты видишь одну запись, но включи детальные и ты увидишь что выборка состоит из двух.

да, в данном случае тебе нужен отбор на уровне группировки
20 echo77
 
30.04.13
21:38
вычисляемое поле Разница можешь определить как 0, один хрен, то что тебе нужно появляется только в ресурсе
21 mistеr
 
30.04.13
21:57
(0) Знаю такой способ. На форму поместить ТП, привязанное к структуре настроек. А отбор привязать к ЭлементыФормы.Структура.ТекущиеДанные.Отбор. Теперь если в структуре выбрать группировку (может программно), то покажется ее отбор.

В общем аналогично тому, как сделано в универсальной форме настроек.
22 Nikosss
 
08.05.13
17:39
(21) Не получается. В форме настроек в середине формы под Структурой есть "Настройки : Отчет МоеИмяГруппировки". Вот после нажатии на МоеИмяГруппировки в стандартной форме отображается отбор этой группировки. Как программно активировать не пойму((
23 Nikosss
 
08.05.13
18:03
И вообще сам отбор для этой группировки КомпоновщикНастроек.Настройки.Структура[0].Отбор.Элементы. Вот как бы разместить на форме их? Тип "КоллекцияЭлементовОтбораКомпоновкиДанных"
24 drongo-god
 
08.05.13
18:11
(23) Попробуй через пользовательские настройки.
25 ILM
 
гуру
08.05.13
18:27
1. АДО Запрос к Excel.
2. Через COMSafeArray данные (1) переносишь в ТЗ_Excel.
3. ТЗ_Excel это один из наборов данных в СКД.
4. Другой набор данных это запрос к нужным сведениям из 1С.
5. Объединение 2-х наборов и установка связи между ними.
6. Печать отчета, выгрузка в ТЗ, вывод на форму и т.д. на ваше усмотрение.
26 ILM
 
гуру
08.05.13
18:28
+(25) Поздно увидел (11)
27 drongo-god
 
08.05.13
19:04
(0) Если ты с Excel забираеш все и потом это все передаеш в компонвщик то можно обработать это все в запросе после получения данных с Excel, и в компоновщик подать только одну таблицу. Единственный минус такого метода это то что нужно либо работать только с артикулами которые были в файле либо прописывать передачу в запрос отборов сделанных в СКД. Но это только для ускорения. Результат в любом случае будет и без этого.