![]() |
![]() |
![]() |
|
Как изменить текст на форме из модуля документа? | ☑ | ||
---|---|---|---|---|
0
Паланик
08.12.08
✎
12:00
|
В момент проведения нужно изменить текст на форме. По аналогии как из модуля формы:
Форма.Превышено.Заголовок(КусокМяса); или через невидимый реквизит на форме передавать? Подскажите, пжлст. |
|||
1
ДенисЧ
08.12.08
✎
12:02
|
В момент проведения документа формы может не быть. Поэтому забей.
|
|||
2
Паланик
08.12.08
✎
12:06
|
Тогда сделать КусокМяса невидимым реквизитом формы и передовать в него значение из проведения, а потом в ПриЗаписи() уже выдать в текст на форме?
|
|||
3
Euguln
08.12.08
✎
12:07
|
Навешать на кнопку ОК свой обработчик, который будет проводить и все что надо делать
|
|||
4
ДенисЧ
08.12.08
✎
12:07
|
Повторяю. В момент проведения нет никаких реквизитов формы. Поэтому ищи другой способ.
|
|||
5
Паланик
08.12.08
✎
12:11
|
(3) Как это реализовать? Прописать в формулу свою функцию из в которой бедт исполняться "#Записать Провести? Закрыть" и мой код?
|
|||
6
Ёпрст
гуру
08.12.08
✎
12:13
|
(5) нет, смотреть на параметры в методе Провести и Обработка проведения...
И ..получить потом граблей по-лбу при любом программном проведении/перепроведении документа. |
|||
7
Эльниньо
08.12.08
✎
12:14
|
(0) Зачем?
|
|||
8
Паланик
08.12.08
✎
12:17
|
В конце проведения в модуле дока включается моя процедура (там проверяется лимит) и потом нужно выдать на форму, что лимит превышен. Затем, чтоб при открытии этого дока было видно, что лимит превышен.
|
|||
9
ДенисЧ
08.12.08
✎
12:18
|
(8) Проверяй при открытии докумнта.
|
|||
10
Torquader
08.12.08
✎
12:18
|
Есть стандартная функция Сообщить(Message), которая прекрасно работает из модуля проведения. Если уж очень хочется, чтобы на форме что-то появилось, то при проведении документа можно записать значение в глобальную переменную (объявленную в глобальном модуле с признаком Export), а потом на форме из неё что-то читать. В этом случае, при отсутствии формы переменая всё равно будет.
|
|||
11
Паланик
08.12.08
✎
12:20
|
У меня выводится сообщение о превышении. Нужно, чтобы при повторном открытии было ясно, по какой причине не был проведен этот док. Воспользуюсь глобальной переменной, спасибо всем!
|
|||
12
ДенисЧ
08.12.08
✎
12:21
|
Мда... Глобальная переменная - это самый лучший подход. Пиши больше, раздавай шире! Нам больше работы будет! :-)
|
|||
13
Паланик
08.12.08
✎
12:27
|
(9) При открытии документа не получится, т.к. мне нужно проверять лимит с движениями этого документа тоже. Какие еще варианты могут быть? (не хочу добавлять вам работы)))
|
|||
14
ДенисЧ
08.12.08
✎
12:29
|
(13) при открытии документа не видно движений? О_о дайте два...
|
|||
15
Паланик
08.12.08
✎
12:31
|
В окрытом доке меняют данные и проводят...
|
|||
16
ДенисЧ
08.12.08
✎
12:32
|
Текст на форме. В тексте функция, которая считает нужное и возвращает текст.
|
|||
17
Ёпрст
гуру
08.12.08
✎
12:33
|
(15) в модуле формы посмотреть, проведен али нет и поиметь всё что надо.
|
|||
18
Паланик
08.12.08
✎
12:33
|
Надо подумать над вариантом ПриЗакрытии() тогда...
|
|||
19
Ёпрст
гуру
08.12.08
✎
12:37
|
(18) смотри во всех типовых на изменяемый Заголовок....
|
|||
20
Паланик
08.12.08
✎
12:39
|
Прверку лимита нужно хоть как делать после отработки процедуры проведения. Это либо в модуле документа, либо в модуле формы в ПриЗакрытии().
(17) Проведен или нет, это мне ничего ж не даст. |
|||
21
Ёпрст
гуру
08.12.08
✎
12:41
|
(20) Биомать а ? Какое нах ПриЗакрытии? ...
Ладно, читаем (16,17,19) думаем. |
|||
22
Деметрио
08.12.08
✎
12:46
|
чота я не понял механизма работы с документом.
его открывают, изменяют, проводят, закрывают - в какой момент надпись смотрят? |
|||
23
КонецЦикла
08.12.08
✎
12:48
|
(20) Да вы просто рутинер, милейший!
|
|||
24
КонецЦикла
08.12.08
✎
12:48
|
Изучайте типовые
|
|||
25
Паланик
08.12.08
✎
12:50
|
Надпись нужно выдать после проведения дока. Если док открыт повторно, то надпись пишется от последнего проведения- проверки.
|
|||
26
Ёпрст
гуру
08.12.08
✎
12:54
|
(25) см. 24 ... там всё есть.
|
|||
27
Деметрио
08.12.08
✎
12:57
|
//положил бы в реквизит, чтобы не рассчитывать заново при каждом открытии.
|
|||
28
d_malyshev
08.12.08
✎
13:00
|
А если определить какую-нибудь Глобальную переменную "СообщениеПроведенияДок1"?
По умолчанию там "". И пусть на форме отображается значение этой переменной. Если возникает ошибка - присваеваем этой глобальной переменной все, что нам нужно. |
|||
29
Sadovnikov
08.12.08
✎
13:01
|
(28) Ипануться... Шедевр...
|
|||
30
Паланик
08.12.08
✎
13:01
|
(27) Мне так и надо. Я предложил через реквизит, либо через гл пер. Но мне посоветовали этим не заниматься...
|
|||
31
Паланик
08.12.08
✎
13:07
|
(28) Почему-то спецами не приветствуется использование собственных глобальных переменных, почему - никто толком не говорит.))
|
|||
32
Irbis
08.12.08
✎
13:13
|
>> Прверку лимита нужно хоть как делать после отработки процедуры проведения.
Никогда бы не подумал: сначала грузим потом лимит проверяем? Куда катится мир?! ИМХО: Все лимиты в программе, за исключением, может быть самых критических и связанных с работоспособностью самой программы, должны носить чисто информативный характер. Ибо тупость пользователей и глупость их деяний ничем не ограничены. А пытаться с помощью програмных методов лечить административные заморочки, действие заранее обреченное на неудачу, типа как цирроз печени "Боржоми" пользовать. По сабжу: если нужно что-то важное, или не очень, сообщить пользователю в процессе проведения - есть Сообщить(), пользователь читает и думает. Или не думает и "забивает" на сообщение. Но решение принимает пользователь. Смысл отражать состояние в документе нулевой, сдвинут его в пределах дня на пару минут или еще один документ вобьют, и состояние лимита может поменяться. |
|||
33
Паланик
08.12.08
✎
13:16
|
(32) Согласен. В том -то и дело, что информативный, чтобы менеджер или его нач-к открыл непроведенную накладную и увидел, почему она не проведена. В момент проведения у меня выводится предупреждение, всё пучком. Но вот надо им еще ляпнуть об этом на доке, им чем больше всяких информашек - тем круче.
|
|||
34
Ёпрст
гуру
08.12.08
✎
13:17
|
"В момент проведения у меня выводится предупреждение"
Полный ПЭ.. |
|||
35
Vitello
08.12.08
✎
13:17
|
(33)им чем больше всяких информашек - тем круче.
FAIL. Информации должно быть ровно столько, сколько нужно. Иначе глаза разъезжаться будут. |
|||
36
Паланик
08.12.08
✎
13:20
|
(32)Никогда бы не подумал: сначала грузим потом лимит проверяем? Куда катится мир?!
В типовом решении, когда проверяется наличие товара на складе, разве иначе? Я планирую отражать в накладной текущий долг менеджера. |
|||
37
Irbis
08.12.08
✎
13:21
|
(33) Документ (номер, дата) не проведен. Причина: превышен лимит.
Чего еще пользователю надо? Максимум текущее состояние, на основании чего был сделан такой вывод. дело начальства согласовать или нет с превышением, а не разбираться по чему именно тот или иной документ не проведен. P.S. А предупреждение из проведения убери, равно как и все интеракивные действия пользователей. |
|||
38
Деметрио
08.12.08
✎
13:21
|
можно в комментарий писать - вроде он есть в типовой...
|
|||
39
Паланик
08.12.08
✎
13:22
|
(34) В конце типового проведения стоит вызов моей процедуры проверки лимита. Что тут полноПЭшного?
|
|||
40
Ёпрст
гуру
08.12.08
✎
13:22
|
(39) "В момент проведения у меня выводится ПРЕДУПРЕЖДЕНИЕ"
|
|||
41
Sadovnikov
08.12.08
✎
13:23
|
Это я один не понимаю: "Прверку лимита нужно хоть как делать после отработки процедуры проведения" и "открыл непроведенную накладную и увидел..." ?
|
|||
42
Ёпрст
гуру
08.12.08
✎
13:23
|
Автор, типовые в глаза вообще видел ?
Там всё есть, и долг клиентоса текущий, и изменение статуса отображенное в заголовке самой формы .... |
|||
43
Irbis
08.12.08
✎
13:24
|
(41) Ты не одинок. См (32).
|
|||
44
Sadovnikov
08.12.08
✎
13:24
|
(43) Уфф... Сразу полегчало... :)
|
|||
45
Паланик
08.12.08
✎
13:25
|
(41) Что не так?
(42) Я и завел ветку, чтобы услышать ваши варианты. Скорее всего лучше было бы в заголовок формы писать. |
|||
46
Паланик
08.12.08
✎
13:28
|
"открыл непроведенную накладную и увидел..."
непроведенную из-за предыдущей неудачной попытки проведения документа из-за превышения суммы лимита. Чо тут непонятного? |
|||
47
foxey
08.12.08
✎
13:28
|
(45) Да лучше всего при проведении получить отрицательный отстаток и Ведомость по отстаткам ТМЦ манагеру на экран хлопсь с нужным разрезом. Вот тут будет полная информативность.
|
|||
48
Irbis
08.12.08
✎
13:31
|
(45) Лучше всего до момента проведения проверить лимит, может и проводить-то нельзя. Предупредить пользователя, и при ингорировании предупреждения провести. Ну всяческие оповещалки для начальства расписывать не буду, тут уж пусть у тебя фантазия работает.
|
|||
49
Паланик
08.12.08
✎
13:39
|
(48) Можно и до проведения, тогда все равно придется с учетом суммы этого документа считать. Вообще, изначально идет заявка от покумателя, если она превышает лимит, то док проводится и выдается сообщение. в форму заявки пишу строку, мол, превышено. Началник продаж видит заявку и принимает решение. Когда уже отгружаем "товарной накл" и проверка фиксирует превышение лимита, тогда уже нельзя проводить.
|
|||
50
Деметрио
08.12.08
✎
13:41
|
как я понял, нужно, чтобы в непроведенном документн хранилась информация о том, почему он непроведен.
|
|||
51
Паланик
08.12.08
✎
13:43
|
(50) так точно! Вижу 3 способа: реквизит, ГП, заголовок формы... думаю последний заюзать)
|
|||
52
smaharbA
08.12.08
✎
13:44
|
Провести(,Форма.МойРеквизит)
|
|||
53
Irbis
08.12.08
✎
13:48
|
(51) Если исходить из того, что документ должен сам в любой момент времени знать о своем состоянии, то "Заголовок формы" и "ГП" мало подходят для такой цели.
|
|||
54
Паланик
08.12.08
✎
13:51
|
в (52) как раз в реквизите инфу нужную сохранить и выдавать. Других проведений, кроме как руками, не предусмотрено.
|
|||
55
Irbis
08.12.08
✎
13:53
|
(54) Кем не предусмотрено? Сам еще не раз запустишь групповую обработку документов, в том числе и провести. Так, что не зарекайся.
|
|||
56
Паланик
08.12.08
✎
13:59
|
Ок. Чем грозит, кроме как потерей заголовков? Прошлые документы уже не так важны будут, они в итоге все равно проведутся все, без превышений лимитов.
|
|||
57
Torquader
08.12.08
✎
22:14
|
Реквизит хорош тем, что его смогут увидеть и с другого клиента.
Заголовок и глобальную переменную же будут созерцать только в одном рабочем сеансе. P.S. глобальные переменные плохи с точки зрения переносимости кода. Если мы переносим какой-то документ из одной конфы в другую, то "глобалки" придётся переносить ручками. Если же мы готовим что-то общее для всех документов, то глобальные переменные как нельзя кстати (или допихивать реквизит в документ каждого типа). А вообще, полезно полистать типовые особенно по поводу частичного проведения. |
|||
58
lals2
08.12.08
✎
23:24
|
(54) Всетаки реквизит всего надежней. Если не проведен то реквизит = " непроведен по причине превышения лимита"
Иначе реквизит = " проведен и очень хорошо" |
|||
59
Злопчинский
09.12.08
✎
03:01
|
все гуано... причем как верно отметили выше - сам подход...
При проведении тупо пиши инфу о всяких лимитах и о всем прочем в тривиальный текстовый файл, который клади в определенное место, имя файла = номеру дока (номердока.txt), в конце процедуры проведения - вываливай текстовый документ на просмотр (или преобразуй его в красивый моксель), при закрытии мокселя _по спецкнопке_ - файл с текстовым содержимым переименовывается в "Показан_НомерДока.txt", при закрытии любым другим способом - файл остается как был номердока.txt. При начале любого сеанса 1 показываешь все "непросмотренные" доки-сообщения - при закрытии _спецкнопочкой_ и т.д..... работы - часа на полтора-два с условием наваяния ЦУПа по управлению информационными файлами... |
|||
60
Паланик
09.12.08
✎
06:25
|
Всем большое спасибо за советы! (59) Хорошая идея, но почему в ёксель переводить? Почему не признаком в начале файла: 1, 0? Спасибо за идею. Думаю вести лог-файл со всеми превышениями лимитов за день, который будет расшарен для начальника, который будет смотреть периодически. Или вообще можно замутить отсылку письма начальнику по событию или чего-нить подобного, но это уже с перебором))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |