|
Как сделать правильно? | ☑ | ||
---|---|---|---|---|
0
Jokerman
05.09.12
✎
11:59
|
Здраствуйте переделываю некоторые объекты для тонкого клиента. Загвоздка пошла в том, что нумерация документов идет в разрезе префиксов. Сделал через процедуру в самой форме, где вызываю РеквизитФормыВЗначение ... УстановитьНовыйНомер. Теперь хотелось бы это дело загнать в общий модуль, как это сделать - ума не приложу, если передаю параметром "ЭтаФорма" - ошибка "отсутствует отображение ...". Подскажите как лучше!
|
|||
1
pumbaEO
05.09.12
✎
11:59
|
БСП трудно посмотреть?
|
|||
2
Jokerman
05.09.12
✎
12:00
|
(1) Нету к сожалению
|
|||
3
MrStomak
05.09.12
✎
12:01
|
Общий модуль с галкой "клиент (управляемое приложение)"
|
|||
4
pumbaEO
05.09.12
✎
12:03
|
(2) ИТС нет?
|
|||
5
Jokerman
05.09.12
✎
12:07
|
(3) УстановитьНовыйНомер не доступен на клиенте
(4) есть ссылка? |
|||
6
Jokerman
05.09.12
✎
12:14
|
(4) Нет никакой типовой конфигурации реализованной в тонком клиенте, точнее где с префиксами!
|
|||
7
MrStomak
05.09.12
✎
12:39
|
(5) УстановитьНовыйНомер можно делать в серверной процедуре, которая будет вызываться из общего модуля "клиент (управляемое приложение)"
|
|||
8
MrStomak
05.09.12
✎
12:41
|
А вообще - зачем это реквизитформывзначение в общем модуле? Почему не передавать уже его? Не понимаю что-то
|
|||
9
Jokerman
05.09.12
✎
12:52
|
(8) для минимизации кода
|
|||
10
MrStomak
05.09.12
✎
12:57
|
а добиться то чего надо? Подписка на событие "ПриУстановкеНомера" не подходит?
|
|||
11
Jokerman
05.09.12
✎
13:01
|
(10) Подходит, дело не в этом! Как в контексте УФ установить новый номер документа с определенным префиксом. Нужно же инициировать установки нового номера, т.к. предполагается, что документ может быть записан с одним префиксом, но впоследствии он может поменяться, к примеру если перебивается некий ключевой реквизит!
|
|||
12
Alex_MA
05.09.12
✎
13:06
|
ПриУстановкеНовогоНомера(Префикс) - модуль объекта
|
|||
13
Jokerman
05.09.12
✎
13:06
|
Делал вторым вариантом: передаю параметром ссылку (объект.ссылка)
А в общей процедуре делаю Объект = Ссылка.ПолучитьОбъект(), но в этом реквизите сидит неактуальное значение реквизитов, т.к. данные тянутся с БД, а не формы. Если Передаю сам "Объект", то пишет нельзя изменять реквизит содержащий данные формы, хотя кроме как ДокументОбъект = Объект.Ссылка.ПолучитьОбъект() ничего не делаю! |
|||
14
Jokerman
05.09.12
✎
13:07
|
(12) Есть уже надо пересоздать номер уже существующего дока, пример был ЦУ0000234, стал БУ0000001.
|
|||
15
Alex_MA
05.09.12
✎
13:11
|
(14) На форме разместить поле с даными Объект.Номер - разрешить менять. Записываешь документ ->
Перед записью модуля объекта или подписка - вызов общего модуля, где анализируешь что то... Может так ? |
|||
16
Jokerman
05.09.12
✎
13:14
|
(15) Вариант, но так будут происходить лишние вызовы, а я стараюсь наоборот сократить их!
|
|||
17
Jokerman
05.09.12
✎
13:17
|
Объясните почему в таком коде:
Процедура УстановитьНовыйНомерДокумента(Объект) Экспорт ДокументОбъект = Объект.Ссылка.ПолучитьОбъект(); МетаданныеДокумента = ДокументОбъект.Метаданные(); Префикс = ""; Если ЕстьРеквизитДокумента("ЦентрУчета", МетаданныеДокумента) Тогда Префикс = Ссы.ЦентрУчета.ПрефиксНумерации; ИначеЕсли ЕстьРеквизитДокумента("Организация", МетаданныеДокумента) Тогда Префикс = Объект.Организация.Префикс; Иначе Префикс = "00"; КонецЕсли; ДокументОбъект.УстановитьНовыйНомер(Префикс); ... Происходит ошибка "Нельзя изменять поле, содержащее объект данных формы"? |
|||
18
Jokerman
05.09.12
✎
13:18
|
Точнее так:
Процедура УстановитьНовыйНомерДокумента(Объект) Экспорт ДокументОбъект = Объект.Ссылка.ПолучитьОбъект(); МетаданныеДокумента = ДокументОбъект.Метаданные(); Префикс = ""; Если ЕстьРеквизитДокумента("ЦентрУчета", МетаданныеДокумента) Тогда Префикс = Объект.ЦентрУчета.ПрефиксНумерации; ИначеЕсли ЕстьРеквизитДокумента("Организация", МетаданныеДокумента) Тогда Префикс = Объект.Организация.Префикс; Иначе Префикс = "00"; КонецЕсли; ДокументОбъект.УстановитьНовыйНомер(Префикс); ... |
|||
19
Jokerman
05.09.12
✎
13:50
|
Решение как всего простое: достаточно очистить номер, а в ПриУстановкеНовогоНомера указать префикс, хех ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |