|
|
|
Измененный документ при открытии | ☑ | ||
|---|---|---|---|---|
|
0
LivingStar
19.04.13
✎
07:50
|
Пользователю не нравится что при открытии документа он становится измененным. По закрытию требует сохранить изменения. Можно ли для документа как то задать, что бы он становился измененным только если в нем произвели какие то изменения?
|
|||
|
1
Wobland
19.04.13
✎
07:50
|
нужно
|
|||
|
2
LivingStar
19.04.13
✎
07:52
|
(1) а как это сделать?
|
|||
|
3
al_zzz
19.04.13
✎
07:52
|
Какие-то реквизиты документа изменяются в процедуре "ПриОткрытии()". Я бы через отладчик поискал какие.
|
|||
|
4
Wobland
19.04.13
✎
07:53
|
(2) избавиться от изменения данных объекта при открытии
|
|||
|
5
LivingStar
19.04.13
✎
07:54
|
(3)
Процедура ПриОткрытии() Организация = Справочники.Организации.НайтиПоНаименованию("ПиН"); ЗаполнениеПолейШапки(Ложь); КонецПроцедуры |
|||
|
6
LivingStar
19.04.13
✎
07:54
|
(4) а где их тогда нужно заполнять?
|
|||
|
7
zak555
19.04.13
✎
07:55
|
(6) в передОткрием
|
|||
|
8
Wobland
19.04.13
✎
07:56
|
(5) не нужно их заполнять, это работа пользователя
|
|||
|
9
LivingStar
19.04.13
✎
07:56
|
(7) Ок, понял! Спасибо!
|
|||
|
10
LivingStar
19.04.13
✎
07:57
|
(8) ну организацию например, сделали замечание что это нужно заполнять программно, если она одна
|
|||
|
11
zak555
19.04.13
✎
07:57
|
ПередОткрытием
|
|||
|
12
zak555
19.04.13
✎
07:57
|
(8) а как быть к реквизитами, заполняемыми по умолчанию ?
|
|||
|
13
Wobland
19.04.13
✎
07:58
|
если ЭтоНовый при создании на сервере
|
|||
|
14
Михаил 1С
19.04.13
✎
08:00
|
(13) Можно даже не на сервере - не важно.
|
|||
|
15
Михаил 1С
19.04.13
✎
08:01
|
(11) Это вообще не важно - ПередОткрытием или ПриОткрытии. Хотя обычно делают как раз ПриОткрытии.
Но делают так, как написал Вобланд! - Если ЭтоНовый()... вот тогда только. |
|||
|
16
zak555
19.04.13
✎
08:04
|
(15) БП 2.0 делает заполнение нового документа в процедуре ПриОткрытии -- итог форма только что открытого документа имеет флаг модифицированности
если бы 1с процедуру заполнения засунула в ПередОткрытием -- флага не было |
|||
|
17
Wobland
19.04.13
✎
08:09
|
(16) не боги БП 2.0 писали. я как-то в своей самописке использовал снятие флага модифицированности для чего-то такого. видать, нашлась необходимость ;)
|
|||
|
18
Михаил 1С
19.04.13
✎
08:12
|
(16) Возможно, что ты и прав. Только зачем это делать? Чтобы всех обмануть?
В примере автора он вообще делает крутую ошибку - при каждом открытии документа заполняется шапка заного, при этом сотрутся все изменения пользователя, которые он делал до этого и сохранил. Уж хорошо будет предупредить его, что что-то поменялось. В примере автора надо делать проверку на новый. Хотя, спасибо, что сказал, буду знать. |
|||
|
19
Wobland
19.04.13
✎
08:15
|
(17) вру. я принудительно взводил
&НаКлиенте Процедура Загрузить(Команда) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Если Диалог.Выбрать() Тогда Модифицированность=Истина; КонецЕсли; КонецПроцедуры |
|||
|
20
Михаил 1С
19.04.13
✎
08:18
|
(19) Я тоже ставил принудительно этот флаг - когда из формы документа заполнял значения Регистра сведений. Поля ввода были настроены на реквизиты Формы, а ПослеЗаписи шла запись из них в регистры. Но надо было, чтобы пользователь нажал на Запись, для этого я ставил модифицированность.
|
|||
|
21
banco
19.04.13
✎
08:22
|
(0) думаю правильнее в обработчике ОбработкаЗаполнения в модуле объекта
|
|||
|
22
zak555
19.04.13
✎
08:23
|
(18) я был невнимателен, что он каждый раз заполняет
я-то думал, что он говорит про "первый" раз =) |
|||
|
23
zak555
19.04.13
✎
08:24
|
(19) (20) в приСозданииНаСервере перенесите
|
|||
|
24
Михаил 1С
19.04.13
✎
08:40
|
(21) Можно и так. Но он не всегда вызывается, не во всех документах он есть.
|
|||
|
25
Михаил 1С
19.04.13
✎
08:40
|
(22) Понятно.
|
|||
|
26
Михаил 1С
19.04.13
✎
08:42
|
(23) Не, не, у меня случай не создания нового, это я уже говорил про обычную работу с формой документа, а она же на клиенте открывается.
|
|||
|
27
Serg_1960
19.04.13
✎
08:49
|
(5) Мда... ТС, ты бы проверил сначала "А надо ли?" Надо ли заполнять организацию всякий раз, когда документ открывается? Эххх...
|
|||
|
28
Михаил 1С
19.04.13
✎
08:56
|
(27) Да он уже перестал читать нашу ветку, обрадовался совету про ПередОткрытием()...
Эхх, влетит он :) |
|||
|
29
LivingStar
19.04.13
✎
09:21
|
(27) Правильное решение делать ПриОткрытии() и проверять ЭтоНовый(), заполнять только если документ создается !!!
|
|||
|
30
Wobland
19.04.13
✎
09:25
|
(29) на здоровье
|
|||
|
31
LivingStar
19.04.13
✎
09:42
|
спасибо!
|
|||
|
32
banco
19.04.13
✎
09:54
|
(24) в каком смысле не всегда вызывается и не во всех документах есть?
не вызывается только при копировании, но для этого есть обработчик ПриКопировании. |
|||
|
33
ICWiner
19.04.13
✎
10:07
|
8 лет опыт, а такое кодят...
Организация = Справочники.Организации.НайтиПоНаименованию("ПиН"); Это самописка? Если нет, то у пользователя укажи по умолчанию организацию. |
|||
|
34
ICWiner
19.04.13
✎
10:08
|
(32) А обработка заполнения случайно не для ввода на основании?..
|
|||
|
35
banco
19.04.13
✎
10:21
|
(34) при вводе на основании, а также при интерактивном вводе нового.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |