![]() |
![]() |
![]() |
|
Формирование при открытии | ☑ | ||
---|---|---|---|---|
0
se112
09.05.06
✎
22:08
|
Помогите!!!Мне нужно чтобы при открытии программы формировался отчет.
У меня получается только открывать журналы, а как заставить сформировать отчет ОткрытьФорму("Журнал.Торговля.ФормаСписка"); Распахнуть=1; |
|||
1
Стрелок
09.05.06
✎
22:10
|
через параметр метода ОткрытьФорму и ОткрытьФормуМодально ты можешь сделать всё что угодно. В т.ч. и передать в открытую форму отчёта параметр там его получить и соответственно запустить на исполнение
|
|||
2
Ёпрст2
09.05.06
✎
22:11
|
ОткрытьФорму("Отчет.ТотКоторыйНужен");
|
|||
3
Стрелок
09.05.06
✎
22:12
|
(2) ему наверное выполнить надо.... нет?
|
|||
4
kostyak
09.05.06
✎
22:12
|
а может ему нужно не только открыть...но и сформировать сразу?
|
|||
5
se112
09.05.06
✎
22:13
|
и сформировать сразу
|
|||
6
kostyak
09.05.06
✎
22:14
|
Ну допустим в Процедуре ПриОткрытии()
Сформировать(); Нет? |
|||
7
se112
09.05.06
✎
22:16
|
сформировать<<?>>("Отчет.ККМ2");
{Глобальный модуль(1813)}: Процедура не обнаружена (сформировать) |
|||
8
kostyak
09.05.06
✎
22:17
|
Ну у тебя сам отчет какая процедура формирует? ту и пиши в ПриОткрытии
|
|||
9
Стрелок
09.05.06
✎
22:17
|
(5)
Парам=1; ОткрытьФорму("Отчет.ТвойОтчет",Парам); Процедура ПриОткрытии() Если ПустоеЗначение(Форма.параметр)=0 Тогда Если Форма.параметр=1 Тогда Сформировать(); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
10
Стрелок
09.05.06
✎
22:17
|
(7) Программист?
|
|||
11
se112
09.05.06
✎
22:19
|
неа, начинаю тока
|
|||
12
kostyak
09.05.06
✎
22:19
|
(9)это если у него с парам... :))а то сейчас напишет..лишний кусок кода будет..
|
|||
13
Стрелок
09.05.06
✎
22:21
|
(12) Какой кусок лишний в этом коде?
|
|||
14
kostyak
09.05.06
✎
22:25
|
Процедура ПриОткрытии()
Сформировать(); СтатусВозврата(0); Возврат(); КонецПроцедуры (13)все ок. |
|||
15
se112
09.05.06
✎
22:26
|
ПОд параметром подразумевается Название отчета?
|
|||
16
abjurer
09.05.06
✎
22:28
|
(14) Так отчет всегда будет формировать (чего он там должен формировать). Во фрагменте (9) работа отчета опциональна, т.е. есть возможность дать пользователь сделать отчет интерактивно и есть способ сотворить отчет программно
|
|||
17
abjurer
09.05.06
✎
22:29
|
(15) Под параметром подразумеваются данные, которые передаются в контекст отчета.
|
|||
18
kostyak
09.05.06
✎
22:31
|
(14)..да это понятно...
|
|||
19
se112
09.05.06
✎
22:33
|
А нельзя чтобы при открытии отчета автоматически нажималась кнопка сформировать отчет
|
|||
20
Стрелок
09.05.06
✎
22:33
|
(18) А так его открывать не надо будет никогда в жизни?
|
|||
21
Стрелок
09.05.06
✎
22:34
|
(19) не слушай ламеров и делай как в 9
|
|||
22
Стрелок
09.05.06
✎
22:34
|
я всё сказал
|
|||
23
se112
09.05.06
✎
22:35
|
мне надо чтоб он вообще сформировывался незаметно для других и записывался в файл
|
|||
24
abjurer
09.05.06
✎
22:36
|
(23) ну если нужно всегда требование (19) - тогда смотри (14) :)
|
|||
25
kostyak
09.05.06
✎
22:40
|
(23)может у тя обработка???а не отчет??? ну это нев...дак делай всё в Сформировать() только таблицу не показывай....
|
|||
26
Стрелок
09.05.06
✎
22:46
|
(25) я прошу прощения - вы сколько кодите? месяц?
|
|||
27
kostyak
09.05.06
✎
22:50
|
(26) столько сколько нужно.
|
|||
28
Стрелок
09.05.06
✎
22:51
|
(27) да я вижу по вашим советам...... ну ладно... давайте продолжайте..... я понаблюдаю..... себя "зелёным" вспомню.....
|
|||
29
Бубузяка
09.05.06
✎
22:52
|
(0) Мозги людям не морочь, а опиши задачу комплексно. Тогда получишь не только кусок кода, но и рекомендации по оптимальному решению на будущее.
См. Правила::рекомендации п.4 (http://www.forum.mista.ru/rules.htm) ;) |
|||
30
se112
09.05.06
✎
22:52
|
Не у меня точно отчет, по кассе
|
|||
31
kostyak
09.05.06
✎
22:55
|
(28) да мне вообще пофигу... в (0) я не увидел грамотно заданного вопроса...поэтому и гадаю... блин какие-то умные все...
|
|||
32
se112
09.05.06
✎
22:55
|
мне надо чтобы при загрузке 1С программа сама формировала отчет по кассе и сохраняла в какую нить папку на жестком диске, и чтоб лди которые ее открывают не знали что он формируется
|
|||
33
Стрелок
09.05.06
✎
22:55
|
(31) Не правда ваша - всё чётко и ясно стала мне лично к 8 посту.
|
|||
34
Стрелок
09.05.06
✎
22:56
|
(32) Упс.. а вот это сложнее... что дружок? шпиона пишешь? кидай это гиблое дело.... фоновой работф в 1С в обычном понимании этого слова нет. Есть хитрость со стартом отчёта в фоне - но оно тебе не надо...
|
|||
35
se112
09.05.06
✎
22:58
|
щпиона???
|
|||
36
se112
09.05.06
✎
22:58
|
начальство хочет защитить себя от воровства
|
|||
37
Стрелок
09.05.06
✎
22:59
|
(25) А что тебе нужно делать в фоне так, чтобы юзера не знали об этом.
|
|||
38
Стрелок
09.05.06
✎
22:59
|
(36) начальству объясни что 1С не для этого предназначена... пускай охрану наймут
|
|||
39
Стрелок
09.05.06
✎
22:59
|
и уж тем более не новичёк работать должен
|
|||
40
se112
09.05.06
✎
23:00
|
ну чтоб он открывался незаметно для них формировался и сохранялся и закрывался
|
|||
41
se112
09.05.06
✎
23:00
|
просто я примерно представляю как это хочу но как прописать, не очень
|
|||
42
Стрелок
09.05.06
✎
23:00
|
(40) см 9 там всё есть
|
|||
43
se112
09.05.06
✎
23:01
|
(42)хорошо, спасибо буду думать...
|
|||
44
Бубузяка
09.05.06
✎
23:03
|
О, тогда можно на ОЛЕ замахнуться :) Заодно научишься не только формы открывать.
Ага, размести вызов отчета по примеру (9) в процедуре ПриНачалеРаботыСистемы() глоб. модуля, а после выполнения отчета пиши СтатусВозврата(0). Система, не загрузив GUI, завершитработу. |
|||
45
Стрелок
09.05.06
✎
23:04
|
(44) Что по ОЛЕ он открывать будет?
|
|||
46
Бубузяка
09.05.06
✎
23:06
|
А он ничего открывть не будет, он инициализировать будет.
Я так понимаю, что ему, все же, шпион нужен ;) Пусть в произвольной БД пишет отчет с применением ОЛЕ и из этого отчета анициализирует нужную базу. |
|||
47
se112
09.05.06
✎
23:06
|
(44) Так я там (ПриНачалеРаботыСистемы()) и пытаюсь сформировать
|
|||
48
Бубузяка
09.05.06
✎
23:08
|
Что, не формирует? Стрелок привел академический пример, хоть в учебник заноси.
|
|||
49
se112
09.05.06
✎
23:11
|
нет там надо закончить процедуру в глобальном модуле, а там еще есть функции которые должны выполнятсятам много
Процедура ПриНачалеРаботыСистемы() СтатусВозврата(Старт()); ПодготовкаОтборов(); // установка текущего пользователя Если СтрДлина(ИмяПользователя())>0 Тогда Спр=СоздатьОбъект("Справочник.Пользователи"); Если Спр.НайтиПоКоду(ИмяПользователя())=0 Тогда Спр.Новый(); Спр.Код=ИмяПользователя(); Спр.Наименование=ПолноеИмяПользователя(); Спр.ОснФирма=Константа.ОснФирма; Спр.ОснСклад=Константа.ОснСклад; Спр.ОснПокупатель=Константа.ОснПокупатель; Спр.ОснПоставщик=Константа.ОснПоставщик; Если НазваниеНабораПрав()="Администратор" Тогда Спр.Отмена=1; Спр.Удаление=1; Спр.Запись=1; КонецЕсли; Спр.Записать(); Предупреждение("Новый пользователь успешно зарегистрирован."); КонецЕсли; Пользователь=Спр.ТекущийЭлемент(); Спр=0; Иначе Пользователь=""; Предупреждение("Пользователь системы не определен!"); КонецЕсли; ЗаголовокСистемы(ЗаголовокСистемы()+" - ["+Пользователь+"]"); // установка текущей ККМ Спр=СоздатьОбъект("Справочник.ККМ"); Если Спр.НайтиПоНаименованию(ИмяКомпьютера(),0,1)=1 Тогда ТекущаяККМ=Спр.ТекущийЭлемент(); Иначе Спр.Новый(); Спр.Наименование=ИмяКомпьютера(); Спр.Записать(); ТекущаяККМ=Спр.ТекущийЭлемент(); Предупреждение("Новая ККМ успешно зарегистрирована."); КонецЕсли; Парам=1; ОткрытьФорму("Отчет.ТвойОтчет",Парам); Процедура ПриОткрытии() Если ПустоеЗначение(Форма.параметр)=0 Тогда Если Форма.параметр=1 Тогда Сформировать(); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; КонецПроцедуры // Распахнуть=1; Если НазваниеНабораПрав()="Кассир" Тогда |
|||
50
se112
09.05.06
✎
23:11
|
и дальше еще много чего
|
|||
51
kostyak
09.05.06
✎
23:12
|
(50)ясно.
|
|||
52
se112
09.05.06
✎
23:13
|
Но как написать чтоб он сформировал отчет не въезжаю
|
|||
53
se112
09.05.06
✎
23:13
|
разве модено процедуру внутри процедуры?
|
|||
54
Стрелок
09.05.06
✎
23:15
|
(52) у тебя есть два варианта
1. сказать руковосдвту что ты не можешь это сделать и пригласить программиста 2. читать книжки и быть котовым к тому, что нужно время. ты пытаешься перепрыгнуть основы языка и сразу начать кодить круто - так не получится |
|||
55
Стрелок
09.05.06
✎
23:15
|
скажи спасибо что ты это пишешь вечером и не в рабочий день. уже бы отгрёб наверное ;))
|
|||
56
se112
09.05.06
✎
23:16
|
Учится никогда не поздно, на ошибках и методом тыка учатся
|
|||
57
Бубузяка
09.05.06
✎
23:17
|
Похоже ты не понял алгоритм!
1. при начале работы системы отрабатываешь до конца. В конце процедуры вызываешь отчет. 2. В отчете процедуру ПриОТкрытии переписываешь как в примере. Причем, в примере подразумевается, что Сформировать() - запускает выполнение отчета (вызывается по кнопке на форме отчета). Надо не забыть установить параметры отчета и результирующую таблицу не показывать, а сохранять... А вообще см. (54), это самый дельный совет. Начинать надо с простого, и, возможно, бесплатно. |
|||
58
Стрелок
09.05.06
✎
23:17
|
(56) Методом тыка учатся долбо..бы. понял. Нормальные люди учаться анализируя и думая
|
|||
59
Бубузяка
09.05.06
✎
23:17
|
(58) + 1
|
|||
60
se112
09.05.06
✎
23:19
|
(58)все равно даже думая все равно совершает ряд ошибок пока не найдется верное решение
|
|||
61
Любитель XML
09.05.06
✎
23:20
|
(59) ты бы хоть ник себе нормальный придумал
|
|||
62
se112
09.05.06
✎
23:20
|
Общее представление есть так что что нить получиться, спасибо за помощь
|
|||
63
Стрелок
09.05.06
✎
23:21
|
(60) Совершать ошибки можно только думая хоть немного. Ты же не обезьяна, правда? это ту посади за компа и когда нибудь она точно напечатает ЖКК
|
|||
64
Стрелок
09.05.06
✎
23:22
|
(62) общего представления хватит чтобы печатную форму подправить или реквизит в справочник добавить.
|
|||
65
se112
09.05.06
✎
23:23
|
если получится то покажу что я хотел, буду искать кто ищет тот всегда найдет
|
|||
66
Стрелок
09.05.06
✎
23:24
|
(65) Удачи в поиске. а показывать? ну покажешь.... почему нет. новичков надо поддерживать похвалой ;))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |