|
открыть форму() - не соображу как | ☑ | ||
---|---|---|---|---|
0
on2
11.11.09
✎
15:15
|
ОткрытьФОрму("Документ.ВхКонтроль",)
вопрос такой эта строчка открывает новый док. а мне надо открыть существующий в справке написано что должно быть так ОткрытьФорму("Документ.ВхКонтр", Значание) а что такое значение? что я должна передавать туда? Это у меня в отчете. |
|||
1
Fragster
11.11.09
✎
15:16
|
ссылку на открываемый док
|
|||
2
zak555
11.11.09
✎
15:16
|
(0) контекст
|
|||
3
v_rtex
11.11.09
✎
15:17
|
ОткрытьФорму(Значение);
|
|||
4
GedKo
11.11.09
✎
15:18
|
(0) нужно передавать туда 100 баксов. при каждой попытке.
|
|||
5
TrTrTr
11.11.09
✎
15:18
|
Процедура ПриВыбореСтроки()
ОткрытьФорму(ИмяТаблицы.УказательНаДок,1); КонецПроцедуры |
|||
6
XLife
11.11.09
✎
15:19
|
(3) +1
(0) за фотку 5+! |
|||
7
Эльниньо
11.11.09
✎
15:26
|
(5) ?
|
|||
8
Волесвет
11.11.09
✎
15:39
|
если формируем документ тоды записываем и
ОткрытьФорму(ДокЗаказ.ТекущийДокумент()); если какой то определенный то сначала находим его а потом тож самое если в отчете выводим список документов и нужно "кликнуться чтоб открыть" тоды кури Расшифровка |
|||
9
on2
12.11.09
✎
07:45
|
в общем у меня выводится по запросу список документов по нажатию на которых я должна их открыть (через отчет).
обьясните мне что такое ссылка на открываемый документ. Если искать в запросе то где это?=))))) тут вообще вроде как очень просто только я не поняла... так ...как выиащить ссылку на открываемый документ ??? |
|||
10
Rie
12.11.09
✎
07:49
|
(9) Покажи код вокруг того места, где хочешь открыть документ.
|
|||
11
Рэйв
12.11.09
✎
07:52
|
(9)Поидее ты для составления списка должна поместить туда ссылки. Вопрос в обработке выбора? То есть двойного клика по списку?
|
|||
12
los_hooliganos
12.11.09
✎
07:52
|
Да просто сунь переменную содержащую документ в свойство ячейки Расшифровка.
|
|||
13
Diter
12.11.09
✎
07:53
|
(6) ты дикий? никогда девушку в купальнике не видел? ;)
|
|||
14
PaulBC
12.11.09
✎
07:54
|
(9) куда выводится список документов? СЗ на форме, ТЗ, в таблицу, ВыбратьЗначение()?
|
|||
15
on2
12.11.09
✎
08:06
|
у меня запрос выполняется.и производится 4 группировки.
Документы выводятся в отчет. (отчет сделан без такого понятия как создать обьект(таблица) но вывожу секции) свойсва формы -"пустая" в расшифровке написала "докум" в коде пишу%(в обработке ячейки) Если значение=Докум тогда ОткрфтьФорму("Документ.НазваниеДокумента",) конецЕсли |
|||
16
on2
12.11.09
✎
08:08
|
(9) да Рейв мне надо понять как ссылки получить
|
|||
17
supremum
12.11.09
✎
08:11
|
тзДок=СоздатьОбъект("ТаблицаЗначений");
тзДок.НоваяКолонка("ДокТакойто"); докТакойто=СоздатьОбъект("Документ.Какойто") //Дата1, Дата2 - переменные типа даты докТакойто.ВыбратьДокументы(Дата1,Дата2); Пока докТакойто.ПолучитьДокумент() Цикл //вот это как раз и будет ссылкой на документ //докТакойто.ТекущийДокумент() тзДок.НоваяСтрока(); тзДок.ДокТакойто=докТакойто.ТекущийДокумент(); //Получили ссылку на документ и сохранили ее в иаблице значений КонецЦикла; Долее можно открыть документ. Открыть документ можно через "ОткрытьФорму(СсылкаНаДокумент)". Пример: если мы спозиционировались на какой то строке таблицы значений, то можно получить соответсвенно ссылку на документ ОткрытьФорму(тзДок.ДокТакойто) |
|||
18
Рэйв
12.11.09
✎
08:11
|
(16)Если СписокЗначений то
СЗ.Получить(СЗ.ТекущаяСтрока()) Или у тебя в чем то другом список хранится? |
|||
19
Rie
12.11.09
✎
08:18
|
(15) Это где находится?
В ОбработкаЯчейкиТаблицы? Там один из параметров - это и есть расшифровка. Пусть он и называется у тебя Значение. Тогда безо всяких Если ОткрытьФорму(Значение); Предполагается, что Докум в расшифровке - это и есть документ, который нужен. Покажи, что присваивается Докум. |
|||
20
Белоконь
12.11.09
✎
08:26
|
(16) Для начала надо научиться запятые в предложениях расставлять!
|
|||
21
on2
12.11.09
✎
08:28
|
перем конДата,начДата,тзУсловия,выбТовар,НомерДок;
Процедура Сформировать() Таблица.Очистить(); Таблица.ВывестиСекцию("Кнопки"); ТЗнч = СоздатьОбъект("ТаблицаЗначений"); Запрос = СоздатьОбъект("Запрос"); ВыбТОвар = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Товар"); ВыбПоставщик = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Поставщик"); ВыбСклад = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Склад"); ВыбПредостНаВхК = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Дата1"); ВыбПринятоНаВхК = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Дата2"); ВыбДатЗав = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Дата3"); ВыбЗабраносВх = глПолучитьЗначениеТаблицыУсловий(тзУсловия,"Дата4"); ТекстЗапроса=" |Период С НачДата По КонДата; |Товар = Документ.ВхКонтр.Товар; |КолВо = Документ.ВхКонтр.колво; |ЕдИз = Документ.ВхКонтр.ЕдИз; |ДатаДок = Документ.ВхКонтр.Датадок; |Родитель = Документ.ВхКонтр.Товар.Родитель; |ДатЗав = Документ.ВхКонтр.ДатЗав; |Ордер = Документ.ВхКонтр.Ордер; |Заказ = Документ.ВхКонтр.Заказ; |ВидПродукции = Документ.ВхКонтр.ВидПродукции; |РезВхКонтр = Документ.ВхКонтр.РезВхКонтр; |НомерДок = Документ.ВхКонтр.НомерДок; |ПринятоНаВхК = Документ.ВхКонтр.ПринятоНаВхК; |Изделие = Документ.ВхКонтр.Изделие; |ПредостНаВхК = Документ.ВхКонтр.ПредостНаВхК; |АктНесоответствия = Документ.ВхКонтр.АктНесоот.НомерДок; |ДокАктНесоот = Документ.ВхКонтр.АктНесоот; |ТоварнНакл = Документ.ВхКонтр.товарнНакл; |Примечание = Документ.ВхКонтр.Примечание; |Склад = Документ.ВхКонтр.Склад; |Поставщик = Документ.ВхКонтр.Поставщик; |КтоПредостНаВхК = Документ.ВхКонтр.КтоПредостНаВхК; |КемПроведен = Документ.ВхКонтр.КемПроведен; |КолВоП = Документ.ВхКонтр.КолВоП; |КолВоД = Документ.ВхКонтр.КолВоД; |ПроисхИзд = Документ.ВхКонтр.ПроисхИзд; |Партия = Документ.ВхКонтр.Партия; |НомКР = Документ.ВхКонтр.НомКР; |НомР = Документ.ВхКонтр.НомР; |КатНСоотв = Документ.ВхКонтр.КатНСоотв; |ЗабраносВх = Документ.ВхКонтр.ЗабраносВх; |ПредВ = Документ.ВхКонтр.ПредВ; |зДокумент = Документ.ВхКОнтр.ТекущийДокумент; |ПредД = Документ.ВхКонтр.ПредД; |КолВоОтдано = Документ.ВхКонтр.КолВоОтдано; |КомуОтданЭлемент = Документ.ВхКонтр.КомуОтданЭлемент; |Группировка ТоварнНакл; |Группировка Документ; |Группировка строкаДокумента; |Условие (Товар в ВыбТовар); |Условие (Поставщик в ВыбПоставщик); |Условие (Склад в ВыбСклад); |"; Если ПустоеЗначение(ВыбПредостНаВхК)=0 Тогда ДопУсловиеВыбПредостНаВхК=?(ВыбПредостНаВхК=Да,"Условие (ПустоеЗначение(ПредостНаВхК)=0);","Условие (ПустоеЗначение(ПредостНаВхК)=1);"); иначе ДопУсловиеВыбПредостНаВхК=""; КонецЕСли; //принято на вх контроле Если ПустоеЗначение(ВыбПринятоНаВхК)=0 Тогда ДопУсловиеВыбПринятоНаВхК=?(ВыбПринятоНаВхК=Да,"Условие ((ПустоеЗначение(ПринятоНаВхК)=0)и(ПустоеЗначение(ЗабраносВх)=1)и(ПустоеЗначение(ДатЗав)=1));","Условие (ПустоеЗначение(ПринятоНаВхК)=1);"); иначе ДопУсловиеВыбПринятоНаВхК=""; КонецЕСли; //завершен контроль Если ПустоеЗначение(ВыбДатЗав)=0 Тогда ДопУсловиеВыбДатЗав=?(ВыбДатЗав=Да,"Условие ((ПустоеЗначение(ДатЗав)=0) и (ПустоеЗначение(ЗабраносВх)=1));","Условие (ПустоеЗначение(ДатЗав)=1);"); иначе ДопУсловиеВыбДатЗав=""; КонецЕСли; //забрано Если ПустоеЗначение(ВыбЗабраносВх)=0 Тогда ДопУсловиеВыбЗабраносВх=?(ВыбЗабраносВх=Да,"Условие (ПустоеЗначение(ЗабраносВх)=0);","Условие (ПустоеЗначение(ЗабраносВх)=1);"); иначе ДопУсловиеВыбЗабраносВх=""; КонецЕСли; ТекстЗапроса = ТекстЗапроса +ДопУсловиеВыбПредостНаВхК +ДопУсловиеВыбПринятоНаВхК +ДопУсловиеВыбДатЗав +ДопУсловиеВыбЗабраносВх; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли; Таблица.Опции(0,0,3,0); Таблица.ВывестиСекцию("Шапка"); Нпп=0; ТоварнНакл = Запрос.ТоварнНакл; Пока Запрос.Группировка(1)=1 цикл Примечаниех = Запрос.Примечание;//"повторно"; Если СокрЛП(ПРимечаниех)="повторно" тогда перемен ="АКТ"; ТоварнНакл = Запрос.ТоварнНакл; склад = Запрос.Склад; автор = Запрос.ПредВ; Поставщик = Запрос.Поставщик.ПолнНаименование; ДатаОрдера = Запрос.Ордер.ДатаДок; Изделие = Запрос.Изделие; АктНесоответствия = Запрос.АктНесоответствия; ДокАктНесоот = Запрос.ДокАктНесоот; Таблица.ВывестиСекцию("документ2"); иначе перемен="Накладная"; ТоварнНакл = Запрос.ТоварнНакл; склад = Запрос.Склад; автор = Запрос.ПредВ; Поставщик = Запрос.Поставщик.ПолнНаименование; ДатаОрдера = Запрос.Ордер.ДатаДок; Изделие = Запрос.Изделие; АктНесоответствия = Запрос.АктНесоответствия; ДокАктНесоот = Запрос.ДокАктНесоот; Таблица.ВывестиСекцию("документ"); конецесли; Пока Запрос.Группировка(2)=1 цикл Пока Запрос.Группировка(3)=1 цикл Нпп = Нпп+1; Товар = Запрос.Товар; КолВо = Запрос.Колво; ДатЗАв = Запрос.ДатЗав; ПринятоНаВхК = Запрос.ПринятоНаВхК; ПредостНаВхК = Запрос.ПредостНаВхК; ЗабраноСВх = Запрос.ЗабраноСВх; ПредД = Запрос.ПредД; ЕдИз = Запрос.ЕдИз; Таблица.ВывестиСекцию("данные"); КолВоОтдано = СокрЛП(ЗАпрос.КолВоОтдано); Если Прав(КолВоОтдано,1)="0" тогда КолВоОтдано=""; иначе КолВоОтдано = СокрЛП(ЗАпрос.КолВоОтдано); КонецЕсли; КомуОтданЭлемент= ЗАпрос.КомуОтданЭлемент; конеццикла; конеццикла; конеццикла; Таблица.ВывестиСекцию("подвал"); Таблица.ТолькоПросмотр(1); Таблица.Показать(); КонецПроцедуры Процедура ПриОткрытии() Таблица.ВывестиСекцию("Кнопки"); тзУсловия = СоздатьОбъект("ТаблицаЗначений"); глСформироватьТаблицуУсловий(тзУсловия); глНовоеУсловие(тзУсловия,"МиКИ" ,"Товар" ,,"Справочник","МиКИ"); глНовоеУсловие(тзУсловия,"Поставщик" ,"Поставщик" ,,"Справочник","Контрагенты"); глНовоеУсловие(тзУсловия,"Склад" ,"Склад" ,,"Справочник","Склады"); глНовоеУсловие(тзУсловия,"МиКИ, переданные на вх.контроль" ,"Дата1" ,,"Перечисление","Булево"); глНовоеУсловие(тзУсловия,"МиКИ на вх.контроле" ,"Дата2" ,,"Перечисление","Булево"); глНовоеУсловие(тзУсловия,"МиКИ, прошедшие вх.контроль" ,"Дата3" ,,"Перечисление","Булево"); глНовоеУсловие(тзУсловия,"МиКИ, полученные с вх.контроля" ,"Дата4" ,,"Перечисление","Булево"); //Таблица.ВывестиСекцию("Описание"); Таблица.ВывестиСекцию("шапка"); Таблица.ТолькоПросмотр(1); Таблица.Опции(0,0,4,0); Таблица.ОбластьПечати(2); Таблица.Показать(); начДата = ТекущаяДата(); КонДата = ТекущаяДата(); КОнецПроцедуры Процедура ОбработкаЯчейкиТаблицы(Значение,Флаг) /// Если ТипЗначенияСтр(Значение) = "Данные" Тогда Если Значение = "Обновить" Тогда Сформировать(); КонецЕсли; Если Значение = "Закрыть" Тогда Форма.Закрыть(); КонецЕсли; Если Значение = "Условия" Тогда //ОткрытьФормуМодально("Обработка.УсловияВхК"); ОткрытьФормуМодально("Обработка.ЗадатьУсловия",тзУсловия); КонецЕсли; Если Значение = "Период" Тогда глЗадатьПериод(начДата,КонДата); КонецЕсли; Если Значение = "Входник" Тогда ссылка=СоздатьОбъект("Документ.ВхКонтр"); ОткрытьФорму("Документ.ВхКонтр",ссылка); КонецЕсли; Если Значение = "Акт" Тогда ОткрытьФОрму("Документ.АктНесоотв",); КонецЕсли; Флаг=0; КонецПроцедуры |
|||
22
on2
12.11.09
✎
08:30
|
в общем вот листинг. в РАсшифровке написано "Входник"
как видите сделано по запросу |
|||
23
Мутабор
12.11.09
✎
08:31
|
(22) Солнушко, тута в ветке походу тока твои поклонники. :)))
|
|||
24
on2
12.11.09
✎
08:32
|
(15) вот в процедуре ОбработкаЯчейкиТаблицы(Значение,Флаг) там есть условие
Если Значение = "Входник" Тогда ссылка=СоздатьОбъект("Документ.ВхКонтр"); ОткрытьФорму("Документ.ВхКонтр",ссылка); КонецЕсли; это как раз меня и интересует |
|||
25
on2
12.11.09
✎
08:32
|
спасибки мальчики...я будущая хакершща по 1с гЫЫЫЫ
|
|||
26
Rie
12.11.09
✎
08:37
|
(21) В ОбработкаЯчейкиТаблицы - не серия Если, а ИначеЕсли. После выполнения оператора из Если при истинном условии - выполнение пойдёт дальше.
(24) Если ты хочешь создать новый документ - ты его создаёшь. Если же хочешь открыть существующий - в расшифровке соответствующей ячейки напиши Запрос.Документ (или какой документ ты открывать хочешь). Когда перепишешь условия в ОбработкаЯчейкиТаблицы по человечески - ставь Флаг=0 только для тех условий которые обрабатываешь, оставляя его 1 для всего остального. Документ тогда откроется сам собой. |
|||
27
PaulBC
12.11.09
✎
08:37
|
вообще не надо ОткрытьФорму()
в расшифровку помещай ссылку на документ, тогда при клике на ячейку он и откроется без всякой обработкиячейки |
|||
28
Rie
12.11.09
✎
08:40
|
(27) У неё не откроется, пока будет Флаг=0;
|
|||
29
PaulBC
12.11.09
✎
08:42
|
значит Флаг=0; надо засунуть в Если КонецЕсли;
|
|||
30
supremum
12.11.09
✎
08:43
|
(24) Как вариант так
Если Значение.Вид() = "Входник" Тогда ОткрытьФорму(Значение); КонецЕсли; |
|||
31
on2
12.11.09
✎
08:52
|
так мальчики сейчас я попробую ;)
|
|||
32
on2
12.11.09
✎
09:29
|
supermum и Rie огромное вам спасибо =) все получилось!!!
опыта мало сами понимаете... я учусь только. в следущий раз буду знать как это делается %) Остальным кто так же помогал и шутил=) огромный респект! ну а теперь вы посмейтесь=) я 2 дня думала как это сделать=)))))))))))) |
|||
33
Mikeware
12.11.09
✎
09:33
|
(32) Думать - это хорошо. Правда, можно посмотреть в любом отчете из типовых конфигураций как это реализовано - облегчит жизнь.
|
Форум | Правила | Описание | Реклама | Секции | Поиск | Книга знаний | Вики-миста |