|
Создание отчета на СКД для внешних баз | ☑ | ||
---|---|---|---|---|
0
АннаДеловая
28.05.17
✎
18:24
|
Привет!
Такой вопрос вот- есть несколько сторонних баз, есть основная база для работы ( почти все базы БП) необходимо сделать отчеты на СКД, которые отражали бы текущие данные по нескольким категориям, так вот из уже имеющихся отчетов сделан заброс в виде набора данных для сторонних баз, сделан запрос по основной базе, потом эти данные объединяются автоматом (объединение наборов записей), из сторонних баз мы можем получить только наименование поэтому и из текущей базы получаем только наименование. Вопрос= а как сделать отборы по позициям? Чтобы пользователи могли выбирать в списке равно и тд (известно, что элементы многих справочников, по которым хотят делать отбор, совпадают) есть вариант вывести поле-отбор на форму, давать пользователям выбирать элементы справочника а потом в отборы кидать только элементы этих справочников а еще как нужно?) |
|||
1
Бертыш
28.05.17
✎
20:19
|
Сложностей тут ничуть. Вам надо как то синхронизировать объекты между собой. Соответственно заведите себе например одну базу с синхронизацией элементов где у Вас будет хранится комбинация база ,внутренний идентификатор в базе. В этой базе (она может быть основной базой БП, а может вообще быть базой пустышкой). Соответственно для организации отбора пользователю в этой базе придётся до отбора настроить синхронизацию некоего виртуального элемента с внутренними ID элементов всех интересующих его баз. Далее... Если Вам принципиально что бы было СКД и в связующей и в связуемых базах, то Вам надо переучить интересные для Вас отчёты на предмет выгрузки схемы в набор данных. Далее Вы этот набор данных крутите в консолидирующей базе. Задача на мой взгляд если не элементарнейшая, то уж во всяком случае одна из наиболее элементарных. Я клиенту так настроил заполнение при бесшовной работе строк в документах в базе 1С Управляющий на базе начинки документов 1С Рарус общепит. То есть по щелчку у пользователя в управляющем открывается форма нового или существующего документа в рарус общепите
|
|||
2
Бертыш
28.05.17
✎
20:21
|
Наименование в консолидирующей базе будет транслироваться в консолидируемые базы с установко параметров по внутреннему ИД. Вместо формирования отчет, не корысти ради, формируйтеи саму схему и выполняйте её на лету и передавайте параметры отбора с заполннием по внутреннему ИД
|
|||
3
АннаДеловая
28.05.17
✎
20:26
|
(1) чето замудренно, а за какое время вы бы выполнили эту задачу?
|
|||
4
Неверный Параметр И
28.05.17
✎
20:44
|
(3) У вас вакансия открыта?
|
|||
5
h-sp
28.05.17
✎
20:48
|
(1) просто синхронизировать по наименованию. И договориться чтобы наименования были одинаковые во всех базах.
|
|||
6
Неверный Параметр И
28.05.17
✎
20:52
|
(5) Эхьэхь...
договориться чтобы наименования были одинаковые во всех базах [x] |
|||
7
h-sp
28.05.17
✎
20:55
|
(6) ну у нас так сделано. Существует список статей отчета. Он общий для всех баз. Работает уже лет 5, никаких проблем не было.
|
|||
8
Бертыш
28.05.17
✎
21:01
|
(3) При условии программной генерации и исполнения схем СКД по COM/OLE всё зависит от сложности требуемых отчётов. Ориентировочно такая задача занимает часов 30-40. Однако в моей нынешней ситуации проблема эти часы выкроить ибо я готовлюсь на всех парах сейчас к сдаче экзамена 1С Специалист по платформе. Для настройки синхронизации нужны будут образцы баз с тестовыми наборами данных. Желательно не очень большие. Можно анонимизацию каждой базы обеспечить специальными обработками. Если у Вас есть свои специалисты, то есть есть кому в принципе сделать и кого озадачить, то киньте им ссылку на мою статью на моём сайте. Статья писалась ещё во времена 8.1, но строго говоря ничего особо не поменялось.
http://1cniku.ru/Articles/V8OLE.html |
|||
9
Бертыш
28.05.17
✎
21:03
|
Для упрощения конекта по OLE к базам рекомендую хранить и передавать саму схему между базами в виде XML файла
|
|||
10
Бертыш
28.05.17
✎
22:15
|
(7) Для такого решения опять же не плохо бы иметь централизованную базу в которой эти справочники вести, и откуда потом пулять их в другие базы где соответствующие справочники заблокированны для изменений
|
|||
11
АннаДеловая
29.05.17
✎
04:09
|
(5) ну ок, наименования будут одинаковыми, но вот как настраивать отборы как давай пользователю возможность выбирать элементы из справочника?
|
|||
12
h-sp
29.05.17
✎
06:29
|
(11) там по другому принципу сделали. Есть отчет руководителю и есть расшифровка отчета, то есть если пользователю нужно что-то уточнить, он встает на нужную строчку первого отчета и щелкает мышкой. После этого вызывается второй отчет с нужными параметрами. Или список документов, обычно это нужно. Ну как в бухгалтерии ОСВ, щелкаем на строчке, проваливаемся в карточку счета, на карточке щелкаем, дальше проваливаемся, в конце концов попадаем в документ-регистратор.
А с отборами у них как-то не пошло, что-то не дружат пользователи с отборами. |
|||
13
Альбатрос
29.05.17
✎
06:32
|
(11) Получить из наименования ссылку, не?
|
|||
14
АннаДеловая
29.05.17
✎
07:03
|
(12) Да, вы правильно говорите есть много вопросов относительно отборов в таких случаях= например пользак решил сделать отборы по 4 категориям отчета(4м полям) в этом случае нам надо давать пользаку возможность выбирать элементы из справочника "чтобы он не вспоминал названия", также надо давать возможность делать отбор в списке и тп
вот как это лучше сделать, интересно? |
|||
15
АннаДеловая
29.05.17
✎
07:03
|
(13) Из наименования ссылку? Для чего?
|
|||
16
Альбатрос
29.05.17
✎
07:16
|
(15) Цитирую "дать пользователю возможность выбирать элементы из справочника". То есть в наборах данных оперировать не наименованиями, а ссылками из справочника базы, в которой строится отчет. Ну если я правильно понял проблему.
|
|||
17
АннаДеловая
29.05.17
✎
07:34
|
(16) так придется для каждого отбора прописывать условия. дербанить запрос и тп, это громоздко, плюс, если пользователь захочет новые отборы добавить? надо будет опять дербанить запрос?
|
|||
18
АннаДеловая
29.05.17
✎
09:50
|
апчхи
|
|||
19
h-sp
29.05.17
✎
10:02
|
(18) ну как (16) советует. Делаете отбор по справочнику, а этот справочник у вас в запросе привязан к основному набору.
|
|||
20
АннаДеловая
29.05.17
✎
10:30
|
(19) что это значит?) отбор по справочнику где мне вывести в настройках СКД, либо на форме? Вы планируете все таки дербанить запрос? Дело в том, что нельзя сделать отбор по справочнику привычным образом, тк из сторонних баз мы получаем лишь наименования, т.е один набор данных из текущей базы а другой набор данных со сторонних баз, поэтому надо как-то подумать как передать в СКД отборы заданные пользоваелями и представления этих отборов
|
|||
21
Йохохо
29.05.17
✎
10:34
|
(20) вы предлагаете пользователю каждый раз перед формированием отчета установить соответствия элементов разных баз? по наименованию?
|
|||
22
Альбатрос
29.05.17
✎
10:34
|
(20) Да что там дербанить то, я не пойму? Дописать соединение со справочником по наименованию (или коду, я хз, как у вас там синхронизируется.)?
|
|||
23
АннаДеловая
29.05.17
✎
12:10
|
(22) какое соединение дописать?) куда?
Есть запрос, есть поля запроса НабоЗапрсов1 = выполнение из текущей базы НаборЗапросов2 = из сторонних баз Проблема Тк из сторонних баз мы не получаем обекты, а получаем лишь представления или наименования, то стандартными методами СКД мы не можем дать пользователю возможность выбирать из справочника элементы для отбора НО! Если мы зададим такую возможность, то в запросе, относящемуся к сторонним базам надо будет прописывать условие "Где" и каждую встрочку добавлять по которой пользователь делает отбор, кроме того надо будет ставить условие на то , какойвид справочника и тп Так вот идет поиск уданого алгоритма я останавливаюсь на стандартном отборе по настройкам СКД добавляя их в процедуре "При компоновке результата" там добавляется отбор, если пользователь выбрал его в поле ввода, выведенном на форму Далее идет анализ список ли это либо единичный элемент, устанавливается "равно " или "в списке" и перебираются элементы справочника их наименования и участвуют в стандартном отбоке СКД добавляемом в процедуре "При компоновке результата" но есть ли метод попроще? |
|||
24
aleks_default
29.05.17
✎
12:15
|
(23)Не с того конца беретесь за решение проблемы. Вам уже сказали снаячала надо каким-то образом задать соспоставление данных справочников внешних баз вашей
|
|||
25
АннаДеловая
29.05.17
✎
12:35
|
(24) сопоставление делают оказывается вручную сами пользаки, толи копипастом толи как перенося элементы ( интересующие нас это спр физ лица и контрагенты) я думаю предложить при заведении элемента просто его регламентным заданием вечером, переносить в другие базы
Так что элементы везде одинаковые впринциапе, но вот заквоздка как раз в том, как делать удобными отборы, так же не дербаня запрос а пользуясь уже имеющимися средствами СКД |
|||
26
aleks_default
29.05.17
✎
12:49
|
Ели сопоставление делается вручную, то значит у вас в текущей базе есть ссылки (УИДЫ) обоих сопоставленных элементов. Значит нужно просто при выполнении НабораЗапросов2 (во внешней базе) получить в этой базе из УИДА ссылку и добавить в отбор.
|
|||
27
АннаДеловая
29.05.17
✎
14:09
|
(26) Поясни плиз, непонятно! Т.е нужно в набор запросов добавить поле УИД? иполучать его, потом что? Читать и получать ссылку?
"то значит у вас в текущей базе есть ссылки (УИДЫ) обоих сопоставленных элементов" = это как понимать? Смотри есть спр в базе1 бух заводит элемент, потом копипастом его в других базах заводит, но я думаю есть кнопка про которую они забыли тк это тупняк во все базы копипастить |
|||
28
aleks_default
29.05.17
✎
14:34
|
Поясни плиз, непонятно! Т.е нужно в набор запросов добавить поле УИД? иполучать его, потом что? Читать и получать ссылку?
"то значит у вас в текущей базе есть ссылки (УИДЫ) обоих сопоставленных элементов" = это как понимать? Смотри в типовой конфе регистр СоответствиеОбъектовИнформационныхБаз. Вот что я имел ввиду. И вообще почему бы вам не сделать простой обмен данными через xml. Тогда такой проблемы как у тебя не возникнет никогда. |
|||
29
АннаДеловая
29.05.17
✎
15:09
|
(28) обмен какими данными? Обмен элементами справочника?
|
|||
30
aleks_default
29.05.17
✎
15:13
|
(29 Неожиданно?
|
|||
31
АннаДеловая
29.05.17
✎
15:35
|
(30) объясните для чего делать обмен элементами справочника)
|
|||
32
aleks_default
29.05.17
✎
15:39
|
(31) Как минимум чтобы не заводить их в каждой базе вручную. И вообще если вам это не понятно, то мне в принципе нечем вам помочь.
|
|||
33
АннаДеловая
29.05.17
✎
15:44
|
(32) выгрузка элементов в другие бази итак уже есть, суть не в этом а втом как сделать удобным отбор
|
|||
34
АннаДеловая
30.05.17
✎
11:33
|
Ну что есть еще советики?)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |