|
Перечисление возвращается строкой | ☑ | ||
---|---|---|---|---|
0
Сильф
04.02.13
✎
10:23
|
Выдрал из БСП общий модуль ДополнительныеОтчетыИОбработки, в нём есть функция ПолучитьВидОбработкиПоСтроковомуПредставлениюВида, из которой происходит возврат значения перечисления, например
Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.ЗаполнениеОбъекта; Так вот, при работе в демобазе БСП функция возвращает, как и должна, значение типа "ПеречислениеСсылка.ВидыДополнительныхОтчетовИОбработок". А в УПП 1.3, в которую я перенёс этот общий модуль, выдаётся строковое значение перечисления, т.е., в данном случае "Заполнение объекта". В чём может быть дело? |
|||
1
Сильф
04.02.13
✎
10:29
|
Как быстро улетают темы вниз...
|
|||
2
Defender aka LINN
04.02.13
✎
10:31
|
(0) Тут главное что - не смотреть в процедуру ни за какие коврижки.
|
|||
3
Сильф
04.02.13
✎
10:35
|
(2) Не понял, если честно, ирония это или нет. Процедура примитивнейшая: Если (условие) Тогда Возврат (значение перечисления) ИначеЕсли ... КонецЕсли.
|
|||
4
Maxus43
04.02.13
✎
10:36
|
(3) перевожу - отладчик то что говорит?
|
|||
5
Reset
04.02.13
✎
10:39
|
"выдаётся строковое значение перечисления" - как определил?
|
|||
6
Сильф
04.02.13
✎
10:45
|
Внутри упомянутой функции перечисление является перечислением. После выхода из процедуры возвращаемое значение в разных конфигурациях имеет разный тип.
(5) ну как? отладчиком и определил. |
|||
7
Maxus43
04.02.13
✎
10:47
|
скрин процедуры с точкой останова отладчика и окна с возвращаемым значением. иначе не понять, чудеса
|
|||
8
Reset
04.02.13
✎
10:51
|
(6) Не верю.
Давай подробности. |
|||
9
Сильф
04.02.13
✎
10:51
|
Ещё раз, развёрнуто. Это функция общего модуля ДополнительныеОтчетыИОбработки:
Функция ПолучитьВидОбработкиПоСтроковомуПредставлениюВида(СтроковоеПредставление) Экспорт Если СтроковоеПредставление = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта() Тогда Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.ЗаполнениеОбъекта; ИначеЕсли СтроковоеПредставление = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет() Тогда Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет; ИначеЕсли СтроковоеПредставление = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма() Тогда Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма; ИначеЕсли СтроковоеПредставление = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиСозданиеСвязанныхОбъектов() Тогда Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.СозданиеСвязанныхОбъектов; ИначеЕсли СтроковоеПредставление = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка() Тогда Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка; ИначеЕсли СтроковоеПредставление = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет() Тогда Возврат Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет; КонецЕсли; КонецФункции //-------------------------- А вот вызов этой функции из модуля управляемой формы ДополнительныеОтчетыИОбработки, процедура ПриСозданииНаСервере: ... ВидОбработок = ДополнительныеОтчетыИОбработки.ПолучитьВидОбработкиПоСтроковомуПредставлениюВида(ВидОбработокСтрока); ... И вот в результате этого вызова переменная ВидОбработок в демоБСП имеет тип "ПеречислениеСсылка", а в УПП 1.3 — "Строка"... |
|||
10
Сильф
04.02.13
✎
10:51
|
Минутку, сейчас будут скриншоты.
|
|||
11
Reset
04.02.13
✎
10:52
|
ВидОбработок - реквизит поди с типом строка?
|
|||
12
Сильф
04.02.13
✎
10:56
|
(11) Бинго!! Спасибо!! Ушёл посыпать голову пеплом...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |