![]() |
|
v7: Установить время документа при записи (у существующего документа) | ☑ | ||
---|---|---|---|---|
0
mastodont
08.12.16
✎
09:06
|
Подскажите, кто еще помнит 7-ку.
Надо что бы у документа устанавливалось определенное время. Сейчас сделано так, при записи: Если Выбран()=0 Тогда АвтоВремяОтключить(); УстановитьВремя(18,0,0); КонецЕсли; Но иногда пользователь меняет дату у уже существующего документа. Как делать в этом случае? |
|||
1
Масянька
08.12.16
✎
09:08
|
(0) Делать просто при записи (без условия Выбран). Не?
|
|||
2
mastodont
08.12.16
✎
09:09
|
(1) Не. В том то и дело, что ошибку выдает. Для того и условие.
|
|||
3
Масянька
08.12.16
✎
09:12
|
(2) А как пользователь меняет дату? У существующего.
|
|||
4
пипец
08.12.16
✎
09:14
|
через обработку аля переоткрытие закрытие , у существующего - из формы документа - дату время не изменишь
|
|||
5
mastodont
08.12.16
✎
09:14
|
(3) Отменяет проведение. Открывает документ. Ставит дату. Проводит.
|
|||
6
пипец
08.12.16
✎
09:16
|
ваще у существующего есть кнопка в журнале - "изменить время документа" ессно у не проведенного
|
|||
7
пипец
08.12.16
✎
09:17
|
(5) обработкой не проще ? 5-ть срочек основных
|
|||
8
Масянька
08.12.16
✎
09:17
|
(5) На поле даты повесить ПриИзмененииДаты - не?
|
|||
9
пипец
08.12.16
✎
09:19
|
хм проще уж тогда на журнал кнопку повесить и из нее диалог обработки которая и отменить проведение и датувремя установит и проведет обратно
|
|||
10
mastodont
08.12.16
✎
09:19
|
(7) в смысле в журнале сделать кнопку "изменить дату"?
Может и проще, но хотелось универсальности... |
|||
11
mastodont
08.12.16
✎
09:20
|
(7) (9)
5 строчек это слишком оптимистично. Документ же может не провестись, например... |
|||
12
Масянька
08.12.16
✎
09:25
|
(2) И это - на что ругается-то?
|
|||
13
mastodont
08.12.16
✎
09:30
|
В общем пока оставил вот так:
АвтоВремяОтключить(); Если Выбран()=0 Тогда УстановитьВремя(18,0,0); КонецЕсли; У нового устанавливается нужное время, и при изменении даты оно остается. |
|||
14
Ёпрст
гуру
08.12.16
✎
09:31
|
(4) изменишь.
Как минимум, есть 3 способа, как из открытой формы поменять дату уже записанного/проведенного |
|||
15
пипец
08.12.16
✎
09:31
|
(11) и чо ? все сообщения из модуля так и так сообщаться - а уж если он по кнопке не проводится то из формы и подавно не проведется
ЗЫ чо там оптимистичного - универсаьено пишу с колен ПеремДок=лялятекущаястрокаМойдок Док=СоздатьОбъект("Документ."+ПеремДок.Вид()) Док.НайтиДокумент(ПеремДок) Если Док.Проведен()>0 тогда Док.Сделатьнепроведенным() Док.ДатаДок Док.Установитьвремя запесать провести |
|||
16
пипец
08.12.16
✎
09:32
|
(14) переоткрытием - если форма открыта для редактирования то в самой форме дату поменять ? не закрывая ?
|
|||
17
пипец
08.12.16
✎
09:33
|
(16) + у проведенного
|
|||
18
Ёпрст
гуру
08.12.16
✎
09:35
|
(16)
1.переоткрытие из формы обработки 2.фокус с копией документа - пример на синьоре валяется 3.прямым запросом 4.обработкой ожидания |
|||
19
Ёпрст
гуру
08.12.16
✎
09:35
|
красивее всего - 2.
|
|||
20
Ёпрст
гуру
08.12.16
✎
09:35
|
таким способом, хоть владельца у подч. справочника меняй из открытой формы.
|
|||
21
Ёпрст
гуру
08.12.16
✎
09:36
|
ну и любой реквизит дока, в том числе, дату.
|
|||
22
Ёпрст
гуру
08.12.16
✎
09:37
|
||||
23
пипец
08.12.16
✎
09:44
|
(18) именно - абсолютно однофигственные способы - только переоткрытием ... что программно , что как ... уже обсуждалось стопиццот раз
|
|||
24
Ёпрст
гуру
08.12.16
✎
09:46
|
(23) если прямой запрос - нет переоткрытия, если способом с синьоры - тоже нет никакого переоткрытия
|
|||
25
пипец
08.12.16
✎
09:51
|
(24) есть - фактически это не из модуля формы ... это через другие объекты
ЗЫ спорить принципиальные нюансы не буду - для мну - это переоткрытие |
|||
26
Ёпрст
гуру
08.12.16
✎
09:55
|
(25) открой (22) и посмотри - там нет переоткрытия. Если делать update - тоже нет переоткрытия.
|
|||
27
пипец
08.12.16
✎
10:00
|
Если Проведен()=1 Тогда
ОткрытьФорму("Документ."+Вид(),ТекущийДокумент()); СтатусВозврата(0); Возврат; КонецЕсли; Если ПустоеЗначение(Форма.Параметр)=0 Тогда ИсхДок.НайтиДокумент(Форма.Параметр); КопироватьДокумент(Контекст,ИсхДок); Форма.Заголовок(Метаданные.Документ(Вид()).Представление()+" - "+СокрЛП(Строка(ИсхДок.НомерДок))+". "+?(ИсхДок.Проведен()=1,"Проведен.","Не проведен."),0); КонецЕсли; Это чо тогда ? просто буковки ?))))) |
|||
28
Ёпрст
гуру
08.12.16
✎
10:07
|
(27) Ладно, ты просто не догоняешь
|
|||
29
Ёпрст
гуру
08.12.16
✎
10:09
|
+ и если че, в этом коде нет ПЕРЕоткрытия.
|
|||
30
Ёпрст
гуру
08.12.16
✎
10:10
|
просто всегда открывается копия для экранной правки, сам объект при этом, не открывается вообще, тем самым, он не заблокирован никем и его можно править как угодно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |