|
Запись (только запись!) уже проведенного документа без повторного перепроведения | ☑ | ||
---|---|---|---|---|
0
wmonref
09.09.15
✎
22:13
|
Здравствуйте. 1с 8.3, формы обычные. Хочу изменить номер проведенного документа и записать его, БЕЗ перепроведения. Нажимаю на стандартную кнопку "Записать" (та у которой действие Записать) но документ перепроводиться...
В модуле объкта в процедуре ПередЗаписью() вставил: Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Сообщить(РежимЗаписи); КонецПроцедуры и при записи документа сначала сообщается "Проведение" а потом "Запись". Как сделать чтоб документ только записывался, без перепроведения? |
|||
1
Кадош
09.09.15
✎
22:15
|
||||
2
wmonref
09.09.15
✎
22:44
|
Блин...
При вызове метода Записать() вызываются обработчики ПередЗаписью() и ПриЗаписи(), правильно?. В обеих процедурах пусто. Поставил точку останова в теле процедуры ОбработкаПроведения(Отказ, РежимПроведения) и смотрю стек вызовов - там только эта процедура... Что еще может вызывать ОбработкаПроведения() при записи документа??? |
|||
3
Кадош
09.09.15
✎
22:48
|
(2) обработчик события
|
|||
4
wmonref
09.09.15
✎
22:50
|
Гмм.. есть несколько процедур (экспортных) в одном из общих модулей типа ПередЗаписьюДокумента ( ДокументОбъект, Отказ, РежимЗаписи, РежимПроведения ) и при записи документа эти процедуры тоже вызываются, но не пойму как...
|
|||
5
wmonref
09.09.15
✎
22:53
|
(3) В обработчках событий стоят стандартные ПередЗаписью(), ПриЗаписи(), ПослеЗаписи() и все они пустые....
|
|||
6
palsergeich
09.09.15
✎
22:57
|
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
режимЗаписи = РежимЗаписиДокумента.Запись; КонецПроцедуры |
|||
7
palsergeich
09.09.15
✎
22:59
|
ПередЗаписью(<Отказ>, <РежимЗаписи>, <РежимПроведения>)
Параметры: <РежимЗаписи> Тип: РежимЗаписиДокумента. В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи. |
|||
8
Kolls
09.09.15
✎
23:01
|
РежимОбменаДанными-загрузка-истина, не?
|
|||
9
palsergeich
09.09.15
✎
23:06
|
(4) Подписки на события
|
|||
10
itlikbez
09.09.15
✎
23:06
|
Есть еще подписки на события.
|
|||
11
Defender aka LINN
09.09.15
✎
23:07
|
(0) Вообще, у обычных людей все наоборот.
Делай программно. |
|||
12
palsergeich
09.09.15
✎
23:10
|
Судя по всему сейчас подвергается вскрытию какая то типовая конфа. Та самая магия когда в обработчике пусто, а выполняется код в общих модулях называется Подписка на событие. Общие->Подписки на события
|
|||
13
wmonref
09.09.15
✎
23:12
|
(12) Да, так оно и есть...
(9) А по подробнее можно? |
|||
14
palsergeich
09.09.15
✎
23:19
|
Смотри что у тебя делается в подписке на событие, анализируй, что туда нужно засунуть, что бы была именно запись, а не проведение.
режимЗаписи = РежимЗаписиДокумента.Запись; Пробовал? |
|||
15
palsergeich
09.09.15
✎
23:20
|
Так же попробуй Док.ОбменДанными.Загрузка = Истина;
В типовых при обмене данными убираются проверки..... |
|||
16
wmonref
09.09.15
✎
23:21
|
(14) Вот сейчас этим и занимаюсь... :)
Подскажите пожалуйста где искать " РежимОбменаДанными-загрузка-истина"? |
|||
17
palsergeich
09.09.15
✎
23:38
|
тебе для разовой обработки? или это будет жить в конфе постоянно?
|
|||
18
palsergeich
09.09.15
✎
23:43
|
если тупо разово для определенного документа, тогда можно в модуле формы воткнуть следующее
&НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ОбменДанными.Загрузка = Истина; КонецПроцедуры потом сделать то что надо с нужными документами, и потом удалить. В рабочей конфе такой порнографии быть не должно. Но как костыль для разовой операции сойдет |
|||
19
palsergeich
09.09.15
✎
23:47
|
Даже можно перестраховаться
&НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ОбменДанными.Загрузка = Истина; ПараметрыЗаписи = Новый Структура; ПараметрыЗаписи.Вставить("РежимЗаписи",РежимЗаписиДокумента.Запись); КонецПроцедуры Предупреждаю - Сферический г..внокод в ваккуме, который целесообразен для разового костыля, посл использования удалить, увидит кто, по рукам надает |
|||
20
Mankubus
10.09.15
✎
06:00
|
(0) >>Нажимаю на стандартную кнопку "Записать" (та у которой действие Записать) но документ перепроводиться...
вероятно у формы установлено свойство ПриЗаписиПерепроводить |
|||
21
Devourer
10.09.15
✎
06:55
|
(18) Лучше перестраховаться и вынести это во внешнюю обработку. Тогда конфигурацию не придется менять.
Да и работать это будет только если в модуле объекта предусмотрены возвраты в процедурах при таком режиме записи. (0) Конфигурация или документ типовые хотя бы? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |