|
v7: Как записать скопированный элемент справочника ( 1с 7.7 )? | ☑ | ||
---|---|---|---|---|
0
AlexanderKsl
10.07.15
✎
18:55
|
В справочнике Номенклатура копированием создается новый элемент. Перед тем как добавить этому элементу материалы из подчиненного справочника, необходимо его записать, чтобы использовать код.
|
|||
1
ВРедная
10.07.15
✎
18:58
|
(0) Кнопка "Записать" не помогает?
|
|||
2
DGorgoN
10.07.15
✎
18:59
|
Пр-ра ПриКопировании()
Записать(); |
|||
3
AlexanderKsl
10.07.15
✎
19:00
|
Записать();
{Справочник.Номенклатура.Форма.Модуль(19)}: Данная команда не может выполняться в формуле элемента диалога! |
|||
4
AlexanderKsl
10.07.15
✎
19:08
|
Пр-ра ПриКопировании()
Записать(); Ошибок не выдает, но и не записывает. |
|||
5
Злопчинский
10.07.15
✎
19:10
|
(4) не верю
|
|||
6
Злопчинский
10.07.15
✎
19:11
|
во первых ПриКопировании() - такой предопределенной процедуры нет.. как вы ее вызывааете при копировании нового элемента справочника?
Записать() - относится к кконтексту формы? - а вы где находитесь? |
|||
7
DGorgoN
10.07.15
✎
19:14
|
Процедура ВводНового(<?>,)
Синтаксис: ВводНового(<ПризнКопирования>,<ОбъектКопирования>) Пардон |
|||
8
AlexanderKsl
10.07.15
✎
19:15
|
Так в модуле формы элемента вызываю. Процедура ВводНового( эл_скопирован, эл_родитель).
|
|||
9
AlexanderKsl
10.07.15
✎
19:16
|
(3) - ошибка при вызове в ВводНового( эл_скопирован, эл_родитель)
|
|||
10
DGorgoN
10.07.15
✎
19:18
|
Хм. и ведь точно:
Процедура ВводНового() Записать(); КонецПроцедуры Записать(); {Справочник.Новый1.Форма.Модуль(2)}: Данная команда не может выполняться в формуле элемента диалога! |
|||
11
DGorgoN
10.07.15
✎
19:25
|
"Перед тем как добавить этому элементу материалы из подчиненного справочника"
Вот тут вот делай Записать(); и делов как щеглов (Немного забываю уже клюшки и особенности работы с ними) |
|||
12
AlexanderKsl
10.07.15
✎
19:42
|
(11) Ну так делаю, выводит error`ы, потому и спрашиваю - от безвыходности. Элемент не сохранен, через ТекущийЭлемент() не обратишься, НайтиПоКоду - так нет его еще в справочнике, на СтрокаДействийФормы = "#Записать;" не реагирует и не ругается.
|
|||
13
Duke1C
10.07.15
✎
21:37
|
(12) А в ПриОткрытии() ловить не пробовал и там Записать()?
(в порядке дежурного бреда...) |
|||
14
Wern
10.07.15
✎
21:49
|
Старая ошибка 7.7 в формуле элемента диалога свой контекст отличный от контекста справочника. Обычно обходили через закрытие формы. т.е. в формуле диалога флаг=1; Форма.Закрыть() а при закрытии если флаг=1 тогда записать и отменить закрытие.
|
|||
15
Злопчинский
11.07.15
✎
01:33
|
(14) только вот странно
Что в формуле одного элемента диалога все норм А другого - не норм Чем принципиально отличаются поле выбора и кнопка? |
|||
16
AlexanderKsl
11.07.15
✎
13:04
|
(14) Сохраняет! При вызове Форма.Закрыть(); появляется диалог Сохранить?Да;Нет;Отмена - возможно его скрыть?
Перем флагЗакр; Процедура ВводНового( эл_скопирован, эл_родитель) Если эл_скопирован = 1 Тогда флагЗакр = 1; Форма.Закрыть(); КонецЕсли ... КонецПроцедуры Процедура ПриЗакрытии() Если флагЗакр = 1 Тогда Записать(); флагЗакр = 0; СтатусВозврата(0); КонецЕсли КонецПроцедуры |
|||
17
HawkEye
11.07.15
✎
14:19
|
(16)
Форма.Закрыть(<?>); Синтаксис: Форма.Закрыть(<ЗапрСохр>) Назначение: Закрыть форму. Параметры: <ЗапрСохр> - необязательный параметр. Число: 0 - закрыть форму без вопросов; 1 - если документ, счет, элемент справочника изменен, то будет запрос о сохранении изменений. Значение по умолчанию - 1. Замечание: Действие данного метода не прерывает выполнения текущей процедуры программы, т.е. процедура доработает до конца. Данный метод лишь устанавливает признак, который отрабатывает после окончания выполнения процедуры. Доступ к методу возможен только в контексте Модуля формы через атрибут Форма |
|||
18
AlexanderKsl
11.07.15
✎
14:51
|
(17) Спасибо. Как то упустил этот метод из вида.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |