|
v7: Как НЕ записывать значения периодических реквизитов если они не заполнены? | ☑ | ||
---|---|---|---|---|
0
aptemywka
15.10.15
✎
11:19
|
Дано:
Интерактивно создается новый элемента справочника. При записи записываются все периодические реквизиты. Требуется: НЕ записывать значения периодических реквизитов если они не заполнены (ПустоеЗначение(ПериодическийРеквизитN) = 1). Подскажите, пожалуйста, как это можно сделать? |
|||
1
NikVars
15.10.15
✎
15:26
|
(0) Смотри типовые конфигурации.
Для примера - Бух 7.7, справочник Валюты, форма элемента, процедура ПриЗаписи(). |
|||
2
aptemywka
15.10.15
✎
16:16
|
Посмотрел. Там все тоже самое.
Интерактивно создаю новый элемент справочника Валюты. При записи записываются все периодические реквизиты, даже если они пустые. |
|||
3
mikecool
15.10.15
✎
16:22
|
(2) вопрос "сохранять значения периодики" есть?
|
|||
4
aptemywka
15.10.15
✎
16:50
|
(3) Нет. Вопросов про периодику нет.
|
|||
5
mikecool
15.10.15
✎
16:58
|
(4) смотри в модуле формы, есть метод(забыл как звать), который отвечает за автозапись периодики
у него в параметрах еще будет (0) в приоткрытии скорее всего будет |
|||
6
NikVars
15.10.15
✎
17:28
|
(2) Так проверку сделай по аналогии.
|
|||
7
aptemywka
15.10.15
✎
17:37
|
(5) В процедуре ПриОткрытии() есть вызов метода СохранениеПериодическихРеквизитов(2, "*");
Я с этим методом протрахался кучу времени, толку от него - ноль. Все равно при записи нового элемента записываются все периодические реквизиты, даже если они пустые. |
|||
8
SleepyHead
гуру
15.10.15
✎
17:45
|
(7) Заходишь в свойства периодического реквизита и отключаешь установку вручную, оставляешь только документом.
И устанавливай только документом. |
|||
9
NikVars
15.10.15
✎
17:52
|
(8) Хороший вариант! Что не исключает проверки документа на запись на заполняемость периодики.
|
|||
10
aptemywka
16.10.15
✎
09:11
|
(8) Действительно хороший вариант. Это было первое о чем я подумал. Но этот вариант не уместен. Пользователи привыкли. Выкрутился я из этой ситуации следующим образом:
Создал процедуру локЗаписать() и вместо #Записать прописал вызов своей процедуры. Процедура локЗаписать() Записать(); Если Выбран() = 1 Тогда Если ВводНового = 1 Тогда ПР = СоздатьОбъект("Периодический"); ПР.ИспользоватьОбъект("ИмяПериодическогоРеквизита", ТекущийЭлемент()); Если ПР.ВыбратьЗначения() = 1 Тогда Пока ПР.ПолучитьЗначение() = 1 Цикл Если ПустоеЗначение(ПР.Значение) = 1 Тогда ПР.Удалить() КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры Согласен не очень изящно и все дела но зато работает. |
|||
11
NikVars
16.10.15
✎
09:48
|
(10) Комменты только ставь, что это ты ковырялся (типа копирайта для быстрого поиска) и дату укажи. Потом будет проще обновления накатывать.
|
|||
12
aptemywka
16.10.15
✎
11:01
|
(11) Это не типовая конфигурация. Сами написали, сами обновляем.
|
|||
13
NikVars
16.10.15
✎
11:04
|
(12) Ну тогда вообще можно как зря! Это ж для себя!
|
|||
14
Сияющий в темноте
16.10.15
✎
12:19
|
в параметрах процедуры при записи передаётся список изменяемых периодических реквизитов
для чего то же он передаётся |
|||
15
HawkEye
16.10.15
✎
13:40
|
(0) в любой типовой это реализовано, зачем свой велосипед изобретать?
|
|||
16
Eeakie
16.10.15
✎
14:56
|
||||
17
aptemywka
16.10.15
✎
16:43
|
(14) При сохранении нового элемента справочника этот список пустой.
|
|||
18
aptemywka
16.10.15
✎
16:45
|
(15) Если не сложно, приведите, пожалуйста, конкретный пример какой реквизит в каком справочнике в какой конфигурации?
|
|||
19
aptemywka
16.10.15
✎
16:47
|
(16) Это не подходит смотрите (8) и (10).
|
|||
20
aptemywka
16.10.15
✎
16:52
|
Кстати по поводу (10).
Не выполняется вызов ПриЗаписи() Думаю дальше. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |