|
Внешний отчет без написания кода | ☑ | ||
---|---|---|---|---|
0
badboychik
02.02.12
✎
10:48
|
Не знаю фича это или косяк, но когда пишешь внешний отчет на СКД и используешь параметры, их естественно нельзя задать в конфигураторе. Получается надо делать вместо параметра - отбор. Но при этом вроде как падает производительность.
Или делать параметр доступным для редактирования пользователя, потом в Предприятии делать "Изменить вариант" и заполнять этот параметр вручную, сохранять новый вариант отчета и использовать ЕГО. А еще я так понял эти варианты привязаны к пользователю и все это надо проделать ВСЕМ, кому нужен отчет! Я хочу чтоб у отчета не было форм и кода в модуле, и чтоб отчет запускался у всех сразу с заполненными параметрами. Это невозможно или ЧЯДНТ??? |
|||
1
Maxus43
02.02.12
✎
10:49
|
параметры надо жёсткие задать чтоли? в СКД на закладке параметры указывай жёстко, где трабл?
|
|||
2
Defender aka LINN
02.02.12
✎
10:50
|
"когда пишешь внешний отчет на СКД и используешь параметры, их естественно нельзя задать в конфигураторе" - бред
"Получается надо делать вместо параметра - отбор. Но при этом вроде как падает производительность" - когда кажется - креститься надо. Атомный бред, в общем. |
|||
3
badboychik
02.02.12
✎
10:52
|
да нельзя в конфигураторе выбрать значения из базы - вот трабл! Если заполнить настройки в Предприятии потом сохранить настройки в XML, потом загрузить в СКД в конфигураторе - там видно только GUIDы в поле "Значение"
|
|||
4
ssh2006
02.02.12
✎
10:52
|
(0) > Я хочу чтоб у отчета не было форм и кода в модуле, и чтоб отчет запускался у всех сразу...
похоже на просьбу к деду морозу |
|||
5
Зеленый Кот
02.02.12
✎
10:53
|
:)
|
|||
6
Defender aka LINN
02.02.12
✎
10:53
|
(3) А при запуске в другой базе что будет - ты, видимо, не потрудился подумать по традиции, да?
В конфигураторе - предопределенные данные, в предприятии - пользовательские. Проще этого я даже не знаю что может быть, но средний одинэснег чего-то такую логику никак не осиливает. |
|||
7
badboychik
02.02.12
✎
10:54
|
вы не писали на СКД что ли? В значении параметра можно выбрать только предопределенные значения справочников
|
|||
8
Defender aka LINN
02.02.12
✎
10:54
|
(7) И это правильно.
|
|||
9
Зеленый Кот
02.02.12
✎
10:55
|
>> В значении параметра можно выбрать только предопределенные значения справочников
я так и хнал - где-то нае... |
|||
10
badboychik
02.02.12
✎
10:57
|
Значит клепаем отчеты в наполовину в конфигураторе, наполовину в пользовательском режиме?
|
|||
11
mzelensky
02.02.12
✎
10:58
|
(7) ну если ты хочешь применять "параметры" определенные ВСЕГДА и ты заранее знаешь какие именно, то в чем проблема подставить их ПРОГРАММНО скажем при открытии отчета???
|
|||
12
badboychik
02.02.12
✎
10:59
|
(11) так я этого и хочу избежать
|
|||
13
Maxus43
02.02.12
✎
10:59
|
да, с чем связано дикое желание "ни одной строчки кода"?
|
|||
14
mzelensky
02.02.12
✎
11:01
|
(12) ты видимо меня не понял - не ручками в "отборе", а ПРОГРАММНО в "параметры" при открытии отчета пользователем.
|
|||
15
badboychik
02.02.12
✎
11:02
|
(14) все я понял, я так и делаю
(13) если начинать рулить руками, тогда приходится создавать две формы - управляемую и обычную, в них писать простыню кода СхемаКомпоновки = ПолучитьМакет("Макет"); Настройки = СхемаКомпоновки.НастройкиПоУмолчанию; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки)); // Предварительная установка параметров ПВидыНомДвери = Новый ПараметрКомпоновкиДанных("ВидыНоменклатурыДвери"); ПДоставка = Новый ПараметрКомпоновкиДанных("Доставка"); ПРазгрузка = Новый ПараметрКомпоновкиДанных("Разгрузка"); ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПВидыНомДвери); ЗначениеПараметра.Значение = Справочники.ВидыНоменклатуры.НайтиПоКоду("АБЦ000002"); ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПДоставка); ЗначениеПараметра.Значение = Справочники.Номенклатура.НайтиПоКоду("АБЦ00001545"); ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПРазгрузка); ЗначениеПараметра.Значение = Справочники.Номенклатура.НайтиПоКоду("АБЦ00001548"); // Теперь зададим отборы СписокСкладов = Новый СписокЗначений(); СписокСкладов.Добавить(Справочники.Склады.НайтиПоКоду("АБ1000002")); Настройки.Отбор.Элементы.Очистить(); ОтборПоСкладу = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборПоСкладу.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ОтборПоСкладу.ЛевоеЗначение = НОвый ПолеКомпоновкиДанных("Склад"); ОтборПоСкладу.ПравоеЗначение = СписокСкладов; КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); |
|||
16
Maxus43
02.02.12
✎
11:02
|
(14) а ты не прочитал "Я хочу чтоб у отчета не было форм и кода в модуле"
|
|||
17
Maxus43
02.02.12
✎
11:04
|
кстати, (3) же работает, пофиг что в конфигураторе ты Гуиды видиш, в предприятии то всё норм становится. чем не устраивает?
|
|||
18
mzelensky
02.02.12
✎
11:04
|
(16) а я хочу чтобы ничего не делать, но все работало само и деньги за это отсыпали лопатой!
|
|||
19
Maxus43
02.02.12
✎
11:05
|
(18) это другой вопрос уже)
|
|||
20
Asmody
02.02.12
✎
11:06
|
я один думаю, что за НайтиПоКоду() нужно отрывать руки по ж*пу?
|
|||
21
badboychik
02.02.12
✎
11:07
|
если параметры сделать открытыми и задавать в Предприятии то все формы создаются сами и отчет можно сделать за 10 минут - надо только схему СКД настроить.
А если писать руками, резко возрастает время создания отчета и снижается гибкость форм |
|||
22
mzelensky
02.02.12
✎
11:08
|
(20) а есть другие варианты?
|
|||
23
mzelensky
02.02.12
✎
11:08
|
(22) + предлагаешь по ГУИДУ искать?!
|
|||
24
badboychik
02.02.12
✎
11:08
|
(20) а есть альтернатива ? на форму поле выводить все равно не надо чтоб юзера не пугать
|
|||
25
mzelensky
02.02.12
✎
11:09
|
(21) и как ты себе это представляешь? Данные БАЗЫ в конфигураторе?
|
|||
26
badboychik
02.02.12
✎
11:10
|
+(24)по коду это еще куда ни шло, я в нашей конфиге видел вообще привязку к наименованию
|
|||
27
Asmody
02.02.12
✎
11:10
|
(24) завтра какая-нить "умная" голова придумает перекодировать справочники или РБД появится какая-нибудь. И что будет делать твой отчет?
|
|||
28
Asmody
02.02.12
✎
11:11
|
(23) это без комментариев
|
|||
29
badboychik
02.02.12
✎
11:12
|
(27) РБД есть, а у справочников вроде бы коды по всем узлам РБД совпадают, не?
|
|||
30
badboychik
02.02.12
✎
11:12
|
+ в коде всегда можно выкинуть исключение
|
|||
31
teapot123
02.02.12
✎
11:13
|
(15) в СКД на вкладке Параметры поле Выражение: Справочники.ВидыНоменклатуры.НайтиПоКоду("АБЦ000002")
|
|||
32
badboychik
02.02.12
✎
11:14
|
(31) хммм... ща проверю!! ))
|
|||
33
mzelensky
02.02.12
✎
11:14
|
(28) ну как это бе коментариев?! ТЫ сказал ,что НЕЛЬЗЯ искать по коды - за это ты отрываешь руки, а как тогда нужно?!?!?!
|
|||
34
Asmody
02.02.12
✎
11:15
|
(33) по ссылке
|
|||
35
Maxus43
02.02.12
✎
11:16
|
(33) это неправильно с точки зрения стандартов разработки 1с. в типовых найди такой код попробуй,
всё должно быть гибче, код элемента - не показатель, может меняться, должны быть более четкие критерии характеризующие данный элемент |
|||
36
mzelensky
02.02.12
✎
11:17
|
(34) так тебе же эту самую ссылку найти нужно.
Вот нужно мне в справочнике номенклатуры найти позицию с параметрами: Наименование - Наим1 Код - Кр09898 Артикул - РАВ987У Как мне получить ссылку на этот элемент?! |
|||
37
teapot123
02.02.12
✎
11:17
|
(35) если это редко изменяемый элемент, организация например, и программист всегда под рукой, почему бы и нет?
|
|||
38
badboychik
02.02.12
✎
11:18
|
(31) работает! ))) пасиб, умный человек ))
я выражения использую для задания границ периода, мог бы сам догадаться запихать функцию (( |
|||
39
Дядя Васька
02.02.12
✎
11:18
|
(33) Ты выше сам писал что в конфигураторе можешь выбрать только предопределенные элементы. Как говорил товарищ Винни - это неспроста...
|
|||
40
mzelensky
02.02.12
✎
11:18
|
(35) ну я не против, ради бога...в этом случает ответь на (36)
|
|||
41
Asmody
02.02.12
✎
11:18
|
(36) ссылку не надо искать, ссылку надо хранить! либо см.(35)
|
|||
42
badboychik
02.02.12
✎
11:20
|
+(38) наверно можно и список значений передавать, если в модуле функцию свою описать, которая ищет и возвращает список номенклатур. Буду теперь так всегда делать )
|
|||
43
Maxus43
02.02.12
✎
11:20
|
(40) НайтиПоРеквизиту, Артикул. Куда более гуманно чем найти по коду
|
|||
44
Дядя Васька
02.02.12
✎
11:21
|
(40) Никак не получать. Искать руками в предприятии и сохранять настройку. Когда на основании того же cf сделать новую базу, она у тебя мягко говоря не будет работать.
|
|||
45
mzelensky
02.02.12
✎
11:21
|
(41) где ты собираешься ее хранить???? Пришел прайс от поставщика вида:
Артикул Наименование Мне нужно проверить есть ли такие позиции у нас в базе и отсутствующие создать (ну как вариант задачка). Как ты предлагаешь искать позиции??? ПО ССЫЛКЕ - ПО КАКОЙ ССЫЛКЕ??? или ты всем поставщикам будешь рассылать ссылки элементов своего справочника??? |
|||
46
Дядя Васька
02.02.12
✎
11:21
|
(43) Те же яйца, только в профиль.
|
|||
47
Дядя Васька
02.02.12
✎
11:22
|
(45) Это не та задача. По сабжу конкретный код элемента в модуле прописан, это и неправильно.
|
|||
48
Asmody
02.02.12
✎
11:23
|
(45) как твоя истерика коррелирует с задачей ТС? я в (20) говорил про установку параметров запроса (и вообще, чего-либо), а не про поиск данных вообще
|
|||
49
Maxus43
02.02.12
✎
11:23
|
(46) артикул - условно-постоянная величина вобще, при задаче по прайсам - самое оно.
|
|||
50
badboychik
02.02.12
✎
11:24
|
До меня тут вообще кто-то понаписал несколько отчетов и ВСТРОИЛ ИХ В ИНТЕРФЕЙС О_О
вместо помещения в "доп. обработки", хотя многие отчеты вообще через типовые можно получить, вот за такое я б карал |
|||
51
Дядя Васька
02.02.12
✎
11:26
|
(49) Речь о том что это данные, а не метаданные. Если это загрузка или поиск кода/артикула который ввел пользователь, то все нормально. Но явно в коде его прописывать нельзя. Не будет работать когда сделаешь новую базу.
|
|||
52
Дядя Васька
02.02.12
✎
11:27
|
(50) В этом как раз ничего страшного. При объединении они никуда не денутся, даже если втупую накатывать.
|
|||
53
Maxus43
02.02.12
✎
11:28
|
(51) да я понимаю это всё, в (35) ещё писал)
|
|||
54
badboychik
02.02.12
✎
11:48
|
(52) а когда надо их поменять, приходится обновлять базу, что крайне нежелательно
|
|||
55
badboychik
02.02.12
✎
11:49
|
кстати ГУИДы не работают - в Предприятии заменяются пустыми значениями
|
|||
56
Дядя Васька
02.02.12
✎
12:00
|
(54) Почему нежелательно-то? Они что внешние, что в конфе, все равно отдельный объект, который с типовыми не пересекается.
|
|||
57
Maxus43
02.02.12
✎
12:01
|
(56) наверно потому что РБД, не хочется им лишний раз обновлять впринципе
|
|||
58
badboychik
02.02.12
✎
12:14
|
(56) эээ... как это все равно?? если внешняя я файлик закинул новый и все, никаких обновлений
|
|||
59
Maxus43
02.02.12
✎
12:16
|
(58) только непонятно что мешает выгрузить его из конфы и как внешний отчет прикрепить. и из меню убрать. 1 раз обновиш - и радуйся потом что они внешними стали
|
|||
60
badboychik
02.02.12
✎
12:29
|
(59) воот, так и делаем )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |