![]() |
![]() |
![]() |
|
как наложить фильтр на форму журнала документов | ☑ | ||
---|---|---|---|---|
0
casufi
11.03.04
✎
17:21
|
Если в табличной части документа хочу поменять реквизит которій имеет тип "Документ.НормыЗатрат", то для выбора значения у меня автоматически (ни каких скриптов на клик по данному полю не прописано) появляется форма журнала норм затрат но во первых дата просмотра там установленна на текущую, и я вижу все нормы затрат, хотелось бы чтобы при вызове этой формы дата просмотра устанавливалась в соответсвии с датой документа откуда я ее просматриваю, и были видны только нормы на тот ТМЦ, который прописан в соответствующем реквизите табличной части документа, подскажите пожалуйста методы реализации
|
|||
1
skunk
11.03.04
✎
17:46
|
Процедура ПриНачалеВыбораЗначения(<?>,)
КонецПроцедуры Procedure OnStartValueChoice(<?>,) EndProcedure Синтаксис: ПриНачалеВыбораЗначения(<ИдентЭлемДиалога>,<ФлагСтандОбр>) Назначение: Предопределенная процедура после выбора значения в форме выбора (выбор может быть инициирован в немодальном режиме интерактивно, при помощи элемента диалога с ''педалькой''). <ИдентЭлемДиалога> - идентификатор элемента диалога, которым инициализирован выбор значения. <ФлагСтандОбр> - флаг, изначально, при вызове процедуры равен 1, если в теле процедуры значение этого параметра поменять на 0, то стандартный процесс выбора значения не будет происходить. Замечание: Данная процедура может располагаться только в программном модуле формы. |
|||
2
GrayT
11.03.04
✎
20:48
|
+1 А дальше запросом или перебором в список значений. Это если тебе не принципиально из журнала выбирать.
|
|||
3
AlexMan
11.03.04
✎
23:15
|
Надо передать в открывающуюся форму ОБЩЕГО журнала всего лиш ДатаДок и ТМЦ далее УстановитьИнтервал();
УстановитьОтбор(); Вот и все....... |
|||
4
GrayT
11.03.04
✎
23:23
|
Там еще отбор по виду документа
|
|||
5
AlexMan
11.03.04
✎
23:30
|
(4) Отбор в 1С работает только в "однофильтровом" варианте.... и УстановитьОтбор("ТМЦ",ТМЦ) вполне достаточно (конечно надо не забыть сделать ТМЦ графой отбора и правильно ее настроить).
|
|||
6
GrayT
11.03.04
✎
23:36
|
(5)Из пушки по ...
Я все это знаю. Просто сам сделал бы списком. А там пусть думает. Как лишняя графа отбора на базу влияет? |
|||
7
AlexMan
11.03.04
✎
23:57
|
(6) она не лишняя т.к. реч про спецификации то это скорее всего ПУБ или ИТРП или чтото похожее и там уже есть эта графа отбора (ее только под себя настроить надо если штатная не устраивает)........
|
|||
8
GrayT
12.03.04
✎
00:01
|
Ну тогда, да.
|
|||
9
casufi
12.03.04
✎
00:46
|
вопрос к AlexMan, скажи пожалуйста куда именно впихнуть этот отбор. Теоретически, я могу в процедуре вызова журнала передавать Контекст, а в контексте переменные по которым надо накладывать фильтр, но проблема в том, что процедуры нет как таковой, при добавлении в табличную часть реквизита вида "Журнал.НормыЗатрат" в табличной части появляется колонка, с кнопочкой, если я пытаюсь редактировать элемент этой колонки, форма журнала НормЗатрат вызывается автоматически. Можно было бы просто прописать свою процедуру в свойстве столбца (Формула, но для этого нужно отключить автоматический вызов формы журнала, но я не нашел как это сделать, вопрос может и чайницкий, но у меня нет большого опыта в програмировании для 1С поэтому объясните пожалуйста как для тупого
|
|||
10
GrayT
12.03.04
✎
09:46
|
Что значит реквизит вида Журнал.НормыЗатрат? Хотел сказать документ?
В документе используешь процедуру ПриНачалеВыбораЗначения. В ней отслеживаешь, что выбираемое значение - нужная тебе колонка. Дальше два варианта 1. Открываешь форму общего журнала и передаешь в качестве параметра нужный тебе ТМЦ В форме журнала используешь процедуру ПриОткрытии и по полученному параметру устанавливаешь отбор. 2. Открываешь форму Журнала и при помощи возвращенного контекста формы журнала устанавливаешь отбор. Т.е. не трогаешь модуль журнала Ну и не забудь про "конечно надо не забыть сделать ТМЦ графой отбора и правильно ее настроить" (from 5) |
|||
11
casufi
12.03.04
✎
11:24
|
ок большое спасибо
|
|||
12
casufi
12.03.04
✎
11:28
|
Открываю форму журнала прогррамно, всмысле принудительно??
но для этого нужно отключить автоматическое открытие формы журнала документов, как это сделать ?? |
|||
13
Darkman
12.03.04
✎
11:48
|
См в (1) ФлагСтандартнойОбработки....
|
|||
14
casufi
18.03.04
✎
10:30
|
Вопрос к GrayT
полностью с тобой согласен, что создавать еще один общий журнал, для того, чтобы в форме отобрать нормы по заранее известным параметрам, которые не будут менятся, это как то грубо, но подскажи пожалуйста где именно создатть этот список? Когда я ввожу в табличную часть документа реквизит "Документ.НормыЗатрат" , то поменять его вид на поле с выпадающим списком невозможно, скажи пожалуйста, возможно ли програмно сформировать и показать этот список, или надо делать в конфигураторе специальную форму, если надо делать форму, то где ее делать в журналах, в документах. Возможно вопрос дилетанский, но я оочень начинающий програмист 1С. |
|||
15
casufi
18.03.04
✎
17:16
|
Для GrayT Я вызываю в процедуре ПриНачалеВыбораЗначения форму полного журнала при помощи команды Документ.Выбрать("Выберите норму","Журнал.ПолныйЖурнал"), покажи пожалуйста пример как "при помощи возвращенного контекста формы журнала устанавливаешь отбор. Т.е. не трогаешь модуль журнала " как мне получит этот "возвращенный контекст" и как дописывать в нем свою обработку ??
|
|||
16
Bzzzzz
18.03.04
✎
17:41
|
Используй ОткрытьФорму(...) для открытия журнала документов
|
|||
17
casufi
18.03.04
✎
17:45
|
ээ.... а по подробнее, как для чайника
|
|||
18
Bzzzzz
18.03.04
✎
17:48
|
(17) Для Журнала Документов:
ОткрытьФорму(<?>,) Синтаксис: ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>) Назначение: Открывает визуальную форму журнала документов. Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <ОписательОбъекта> - строковое выражение. ''Журнал.ХХХХХ.YYYYY'', где ХХХХХ - идентификатор журнала документов, YYYYY - идентификатор формы журнала документов. Кроме того, в качестве идентификатора журнала можно указывать идентификатор конкретного вида документа, тогда откроется журнал просмотра документов именно указанного вида; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен). Замечание: Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0. |
|||
19
Bzzzzz
18.03.04
✎
17:50
|
(17) или ОткрытьПодбор(...)
|
|||
20
327
18.03.04
✎
18:20
|
Юзайте вместо журнала или формы справочника обработку.... оформленную как подбор.... и будет вам счастье .... причем полное ....
ТЗ на форме обработки и все прелести в ТЗ..... |
|||
21
gotcha
18.03.04
✎
19:32
|
Да, но только заполняйте ее запросами, ибо ваше счастье может оказаться полным, но медленным :-)
И еще, надо корректно написать обработчики событий типа добавление нового документа, изменение документа. Ну и передачу параметров, соответственно, тоже придется отрабатывать. Между прочим, довольно трудоемко получается А если пользоваться общим журналом, то можно поступить таким странным способом: Описать графы отбора типа Документ1_Графа1, Документ2_графв1, Документi_графа1, и осужествлять отбор двухступенчато - базово - по вид документа, а потом по нужной графе, относящейся только к конкретному виду документа. Громоздко, но работает. |
|||
22
327
18.03.04
✎
19:43
|
Заполнять ТЗ запросами.... хм... медленно будет....
Быстрее перебором определенных доков с условием ... "И еще, надо корректно написать обработчики событий типа добавление нового документа, изменение документа." Если подумать.... то вовсе не надо... Надо просто использовать штатное событие .... "Ну и передачу параметров, соответственно, тоже придется отрабатывать. Между прочим, довольно трудоемко получается" ............. Хе-Хе и еще много раз рыПа Хе....... Обработка подбора работает на ятЪ.... Причем во многих доках она уже есть .... и не просит есть .... |
|||
23
gotcha
18.03.04
✎
23:27
|
Быстрее запросов ничего не придумаешь для такой цели, во всякомслучае - если база под ms sql
Ну естественно, во всем надобно умение. Хотя, в некоторых случаях, может и фильтр проканать, особенно если можно что-то делать по регистрам. У нас тоже есть варианты подбора из обработок, однако - когда речь идет о подборе в документ, а не наоборот. Это, конечно, возможно, нет вопросов, но человеку, который задал такой вопрос, думаю, будет сложноватенько. |
|||
24
gotcha
18.03.04
✎
23:28
|
Кстати, 327, можно поделиться вариантами реализации :)
|
|||
25
casufi
19.03.04
✎
09:50
|
То Bzzz:
после того, как я сделал ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>) GrayT писал что можно ".... и при помощи возвращенного контекста формы журнала устанавливаешь отбор. Т.е. не трогаешь модуль журнала" напишите подробнее как устанавливать отбор оно поймет КонтекстФормы.УстановитьОтбор("ТМЦ.ТМЦ")???? |
|||
26
Bzzzzz
19.03.04
✎
10:12
|
(25) Честно говоря - хз. Я такое не реализовывал еще, не было необходимости. Так что либо жди ответа Gray-я, либо пробуй сам. Только вот для выбора док-та, наверное, все-таки надо использовать ОткрытьПодбор(...)с <ФлагМножВы6ора> = 0.
|
|||
27
gotcha
19.03.04
✎
11:47
|
Дада, подбор и через контекст можно в объекте, из которого открывали побор шевелить чем - то в форме для подбора
|
|||
28
gotcha
19.03.04
✎
11:50
|
Если надо помочь практически - могу это сделать, не проблемв
|
|||
29
casufi
22.03.04
✎
10:19
|
на 26 Bzzzzz: Если делать через "ОткрытьПодбор", то прийдется дописывать обработку в форме журнала, а этого делать не хотелось бы, я еще пробовал сделать это при помощи "Выбрать", но в последнем случае я немогу наложить фильтр на форму журнала
Для gotcha: подскажи пожалуйста как это практически реализовать ?? |
|||
30
Bzzzzz
22.03.04
✎
10:36
|
(29) На ИТС есть методическая конфа 77. В отчете "Движение товаров" реализован выбор док-та из журнала. Остается тебе тока установить отбор и интервал журнала.
|
|||
31
327
22.03.04
✎
11:27
|
По моему, в этой же конфе (если я не путаю) есть и пример обработки в качестве подбора .....
|
|||
32
casufi
22.03.04
✎
13:08
|
При выборе документа из Журнала, появилась такая проблема, в общем журнале возможно установить отбор только по виду документа, и дате, но невозможно установить отбор по реквизитам документа (например ТМЦ для норм затрат).
Если данная проблема не разрешима, то наверное лучше динамически заполнить таблицу значений документами, которые удовлетворяют условиям , и из нее выбрать необходимые документы, вопрос только в том, как визуально отобразить эту таблицу значений, для этого необходимо создать еще один документ, журнал, или как ?? |
|||
33
327
22.03.04
✎
13:17
|
Методическая конфа на ИТС....
Расходная накладная и к ней обработка - ПодборТоваров показывают принцип использования обработки в качестве формы подбора .... Замени товары на документы и будь счастлив ..... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |