Вход | Регистрация


1С:Предприятие ::

Метки:

как наложить фильтр на форму журнала документов

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

ТЗ на форме обработки и все прелести в ТЗ.....
   gotcha
 
21 - 18.03.04 - 19:32
Да, но только заполняйте ее запросами, ибо ваше счастье может оказаться полным, но медленным :-)
И еще, надо корректно написать обработчики событий типа добавление нового документа, изменение документа.
Ну и передачу параметров, соответственно, тоже придется отрабатывать. Между прочим, довольно трудоемко получается

А если пользоваться общим журналом, то  можно поступить таким странным способом:

Описать графы отбора типа Документ1_Графа1, Документ2_графв1, Документi_графа1, и осужествлять отбор двухступенчато - базово - по вид документа, а потом по нужной графе, относящейся только к конкретному виду документа. Громоздко, но работает.
   327
22 - 18.03.04 - 19:43
Заполнять ТЗ запросами.... хм... медленно будет....
Быстрее перебором определенных доков с условием ...


"И еще, надо корректно написать обработчики событий типа добавление нового документа, изменение документа."

Если подумать.... то вовсе не надо... Надо просто использовать штатное событие ....


"Ну и передачу параметров, соответственно, тоже придется отрабатывать. Между прочим, довольно трудоемко получается" .............

Хе-Хе  и еще  много раз рыПа Хе....... Обработка подбора работает на ятЪ.... Причем во многих доках она уже есть .... и не просит есть ....
   gotcha
 
23 - 18.03.04 - 23:27
Быстрее запросов ничего не придумаешь для такой цели, во всякомслучае - если база под ms sql
Ну естественно, во всем надобно умение.
Хотя, в некоторых случаях, может и фильтр проканать, особенно если можно что-то делать по регистрам.
У нас тоже есть варианты подбора из обработок, однако - когда речь идет о подборе в документ, а не наоборот. Это, конечно, возможно, нет вопросов, но человеку, который задал такой вопрос, думаю, будет сложноватенько.
   gotcha
 
24 - 18.03.04 - 23:28
Кстати, 327, можно поделиться вариантами реализации :)
   casufi
 
25 - 19.03.04 - 09:50
То Bzzz:
после того, как я сделал ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>)
GrayT писал что можно
".... и при помощи возвращенного контекста формы журнала устанавливаешь отбор. Т.е. не трогаешь модуль журнала" напишите подробнее как устанавливать отбор оно поймет
КонтекстФормы.УстановитьОтбор("ТМЦ.ТМЦ")????
   Bzzzzz
 
26 - 19.03.04 - 10:12
(25) Честно говоря - хз. Я такое не реализовывал еще, не было необходимости. Так что либо жди ответа Gray-я, либо пробуй сам. Только вот для выбора док-та, наверное, все-таки надо использовать ОткрытьПодбор(...)с <ФлагМножВы6ора> = 0.
   gotcha
 
27 - 19.03.04 - 11:47
Дада, подбор и через контекст можно в объекте, из которого открывали побор шевелить чем - то в форме для подбора
   gotcha
 
28 - 19.03.04 - 11:50
Если надо помочь практически - могу это сделать, не проблемв
   casufi
 
29 - 22.03.04 - 10:19
на 26 Bzzzzz: Если делать через "ОткрытьПодбор", то прийдется дописывать обработку в форме журнала, а этого делать не хотелось бы, я еще пробовал сделать это при помощи "Выбрать", но в последнем случае я немогу наложить фильтр на форму журнала
Для gotcha: подскажи пожалуйста как это практически реализовать ??
   Bzzzzz
 
30 - 22.03.04 - 10:36
(29) На ИТС есть методическая конфа 77. В отчете "Движение товаров" реализован выбор док-та из журнала. Остается тебе тока установить отбор и интервал журнала.
   327
31 - 22.03.04 - 11:27
По моему, в этой же конфе (если я не путаю) есть и пример обработки в качестве подбора .....
   casufi
 
32 - 22.03.04 - 13:08
При выборе документа из Журнала, появилась такая проблема, в общем журнале возможно установить отбор только по виду документа, и дате, но невозможно установить отбор по реквизитам документа (например ТМЦ для норм затрат).
Если данная проблема не разрешима, то наверное лучше динамически заполнить таблицу значений документами, которые удовлетворяют условиям ,  и из нее выбрать необходимые документы, вопрос только в том, как визуально отобразить эту таблицу значений, для этого необходимо создать еще один документ, журнал, или как ??
   327
33 - 22.03.04 - 13:17
Методическая конфа на ИТС....
Расходная накладная и к ней обработка - ПодборТоваров

показывают принцип использования обработки в качестве формы подбора ....

Замени товары на документы и будь счастлив .....
 
  Рекламное место пустует



Список тем форума
  Рекламное место пустует
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует