Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   8.3 УФ Функ.: ДанныеФормыВЗначение Помогите запустить для внешней обработки, пожалуйста. (http://forums.kuban.ru/f1040/8_3_uf_funk_dannyeformyvznachenie_pomogite_zapustit-_dlya_vneshnej_obrabotki_pozhalujsta-6023870.html)

SergeyK 22.08.2014 09:08

8.3 УФ Функ.: ДанныеФормыВЗначение Помогите запустить для внешней обработки, пожалуйста.
 
УП
Есть команда в модуле формы:

&НаСервере
ОбработкаОбъект = ДанныеФормыВЗначение(Объект, Тип("ОбработкаОбъект.УПЖКХ_ВыгрузкиВОСЗН"));

Для обработки, которая существует в конфигураторе (УПЖКХ_ВыгрузкиВОСЗН)- запустается и работает, создается ОбработкаОбъект.

Пытаюсь запустить эту команду из внешней обработки, пишет:
Тип не определен (ОбработкаОбъект.УПЖКХ_ВыгрузкиВОСЗН_Внеш)


Хорошая функция "ДанныеФормыВЗначение" - позволяет работать с формой как с объектом в УФ. Во внешней обработке ее можно запустить?

Reaper 22.08.2014 10:45

[quote=SergeyK;36275792]Хорошая функция "ДанныеФормыВЗначение" - позволяет работать с формой как с объектом в УФ. [/quote]

Грибной сезон открылся? Уважаемый, вы бредите...

SergeyK 22.08.2014 10:56

(2) Может и брежу, но работа с "ОбработкаОбъект", ведется как с объектом, если эта обработка включена в конфигурацию, точно также можно делать с внешней обработкой?

Uho 22.08.2014 11:01

а причем здесь форма?

VZ 22.08.2014 11:06

2-SergeyK > Кусочек документации:
[em]Объекты конфигурации, которые могут образовывать типы значений конфигурации, в системе «1С:Предприятие» называются типообразующими объектами конфигурации. Такими объектами в системе «1С:Предприятие» являются:

● справочники,

● документы,

● планы видов характеристик,

● планы счетов,

● планы видов расчета,

● планы обмена,

● бизнес-процессы,

● задачи,

● перечисления.

Необходимо обратить внимание, что типообразующие объекты конфигурации образуют тип данных сразу после создания в конфигураторе объекта любого из таких типов. При этом появляются сразу три новых вида типов: Ссылка, Объект и Список. Например, когда в конфигураторе создается новый справочник, то в списке типов данных появляются новые типы данных: СправочникСсылка.<ИмяСправочника>, СправочникОбъект.<ИмяСправочника> и СправочникСписок.<ИмяСправочника>. Такие типы данных могут быть присвоены любому из типизированных объектов конфигурации.[/em]

SergeyK 22.08.2014 11:13

(3) Извиняюсь, форма действительно нипричем.
Но созданный объект "ОбработкаОбъект" позволяет заполнить реквизиты формы, которая находится в обработке "УПЖКХ_ВыгрузкиВОСЗН".

SergeyK 22.08.2014 11:15

(4) VZ Спасибо за подробную консультацию. Но в Вашем перечне нет ВнешнейОбработки.

SergeyK 22.08.2014 11:20

(4) Интересно у внешней обработки есть такой же тип данных как у СправочникСсылка.<ИмяСправочника>?
Можно к внешней обработке применить функцию ДанныеФормыВЗначение(<Объект>, <Тип>)?.
Если можно - то какой надо указать Тип во втором параметре?

VZ 22.08.2014 11:22

6-SergeyK > Это не [b]мой[/b] перечень ;)

VZ 22.08.2014 11:24

7-SergeyK > Обработка (даже не внешняя) [b]данными[/b] быть не может.

SergeyK 22.08.2014 11:32

(8) Извините, в перечне который Вы указали.
Но это не принципиально.
Как создать объект если есть обработка "УПЖКХ_ВыгрузкиВОСЗН" в конфигураторе я знаю.
Вопрос: Можно создать такой объект если обработка указана в дополнительных отчетах и обработках?

VZ 22.08.2014 11:34

10-SergeyK > [url]http://its.1c.ru/db/pubdevguide83#content:550:1[/url]

Uho 22.08.2014 11:52

[quote=SergeyK;36277889]Вопрос: Можно создать такой объект если обработка указана в дополнительных отчетах и обработках? [/quote]а ты думаешь, как в конфигурации доп.обработки вызываются?

ЗЫ. и определись, внешняя обработка или обработка загруженная в дополнительные?

Uho 22.08.2014 11:52

можно также почитать СП на досуге:

ВнешняяОбработка (ExternalDataProcessor)
Свойства:

<Имя реквизита> (<Attribute name>)
<Имя табличной части> (<Tabular section name>)
ИспользуемоеИмяФайла (UsedFileName)
ЭтотОбъект (ThisObject)

Методы:

ПолучитьМакет (GetTemplate)
ПолучитьФорму (GetForm)
ПроверитьЗаполнение (CheckFilling)

События:

ОбработкаПроверкиЗаполнения (FillCheckProcessing)

Описание:

[b]Представляет собой объект внешней обработки[/b]. Используется для получения реквизитов и табличных частей внешней обработки, форм и макетов.

Доступность:

Сервер, толстый клиент, внешнее соединение.
См. также:

ВнешниеОбработкиМенеджер, метод Создать
ВнешняяОбработка, свойство ЭтотОбъект

Reaper 22.08.2014 12:01

вот-вот. А так же посмотреть описание метода "РеквизитФормыВЗначение".

SergeyK 22.08.2014 12:03

(12) Uho -> А Вы думаете если обработка загружена в дополнительные обработки она уже является объектом конфигурации?

(13) Вот тут вы правы! Надо читать ...

Uho 22.08.2014 13:20

15-SergeyK > она не является объектом конфигурации, она является двоичными данными записанными в реквизит элемента справочника

SergeyK 22.08.2014 20:45

(11) VZ > По данной ссылке хорошее описание функции.
Но пример преведенный в этом описании, вот строка из него:
ОбъектТовар = ДанныеФормыВЗначение(ТоварДляМодификации, Тип("СправочникОбъект.Товары"));
- содержит объект конфигурации, как задать тип этого понятно.
Но как задать тип формы, которая не принадлежит конфигурации и указана в дополнительных обработках?

VZ 23.08.2014 00:32

17-SergeyK > Недопонял вопрос... Второй параметр и указывает процедуре, с каким типом данных ей приходится иметь дело.

Morrison 23.08.2014 15:50

2(5) "нипричем." - не при чем.

Насколько я помню, внешняя обработка не позволяет что-либо запускать на сервере. Может конечно мои данные устарели.

SergeyK 23.08.2014 17:11

19 - Моррисон, Спасибо за поправки и ответ. Сильно.
Похоже Вы правы.
Жалко только описание функции "ДанныеФормыВЗначение()" и ее параметров в документации очень скудное, насколько я понимаю - данная функция и создавалась для работы в УФ для передачи параметров на сервер.

Morrison 23.08.2014 17:37

2(20) С функцией все просто - у управляемой формы два слоя - данные формы и интерфейсные элементы. Для того, чтобы поработать с прикладным объектом, необходимо попросить 1С сконвертировать данные формы в прикладной объект. Вроде так :)

Reaper 23.08.2014 18:24

Хватит. Уже. Жрать. Грибы.
Форма - объект системы, представляющий исключительно возможности взаимодействия с пользователем. У формы нет данных. Вообще. Равно как и придуманных в этой теме "слоев". Форма может только отображать данные. Данные, которые форма может отображать - описываются в свойстве "Реквизиты", являющемся коллекцией. Для каждого элемента этой коллекции указывается тип данных. При этом следует запомнить, что форма поддерживает только работу с самыми простыми типами и коллекциями:
* Строка
* Число
* Дата
* Булево
* Массив
* Структура
* Соответствие

Более сложные типы данных всегда конвертируются специальные типы, предназначенные для визуализации данных:
* ДанныеФормыСтруктура
* ДанныеФормыКоллекция
* ДанныеФормыСтруктураСКоллекцией

О применении платформой презентационного типа в формах всегда можно понять по наличию скобок, обрамляющих имя типа реквизита в редакторе диалога управляемой формы.

Методы "ДанныеФормыВЗначение", "РеквизитФормыВЗначение" и обратные им, как нетрудно понять, предназначены для конвертации презентационных типов в реальные и наоборот по требованию разработчика.

И если бы кто-то вместо того, чтобы страдать херней на форуме, воспользовался уже наконец методом "РеквизитФормыВЗначение" - уже бы давно открыл для себя, что ВНЕЗАПНО при сохранении обработки из состава конфигурации как внешней, ее тип меняется с "ОбработкаОбъект" на "ВнешняяОбработкаОбъект".

Morrison 23.08.2014 18:46

2(22) Странно, почему же тогда форма имеет клиентскую часть и серверную? И почему видимостью можно управлять на сервере? Ведь только отображение, так ведь?

Reaper 23.08.2014 19:06

23-Моррисон > Нет никаких частей. Есть 2 экземпляра одной формы, живущие параллельной жизнью. Один живет на сервере, второй на клиенте. Синхронизация состояний происходит во время контекстных серверных вызовов. А управление видимостью на сервере доступно потому, что разработчику может потребоваться разнородная информация для принятие решения о состоянии сразу многих элементов управления. И генерировать последовательность вызовов для установки видимости N элементов - слишком расточительно по отношению к терпению пользователя.

Хотя тут надо признать, что видимость - пережиток обычных форм, который всеми силами стараются искоренить из умов. Для управления отображением нужно использовать условное оформление, роли и функциональные опции, а никак не непосредственную установку свойств.

В более широком смысле серверный экземпляр формы нужен для:
1. упрощения разработки за счет схожести окружения на клиенте и сервере.
2. сокращения трафика самой платформой в тех случаях, когда разработчик не использует голову, ибо для синхронизации состояний между клиентом и сервером передаются только отличия в форме, а не форма целиком.
3. обеспечения комфортной работы с "большими" объемами данных. Рекомендую ознакомиться с функционалом подсчета суммы значений в выделенных ячейках табличного документа формы отчета из состава БСП.

Morrison 23.08.2014 19:10

2(24) Так я тебе об этом и пытаюсь сказать. Но данные введенные пользователем - куда девать? Поэтому необходима конвертация на сервере в прикладной объект.

Меня вот удивляют все эти копипасты. Ты же, надеюсь, не приезжаешь к клиенту и не начинаешь рассказывать что-то про "презентационные данные"? Проще надо быть.

Reaper 23.08.2014 20:09

25-Моррисон > Тебе надо - ты и будь проще. Только бреда больше в интернет не пиши, его здесь и так предостаточно. Я вообще все это начал писать из-за твоих высеров в (19) и (21), чтобы люди об них в последствии не спотыкались.

Morrison 23.08.2014 20:19

2(26) Reaper, я не буду тебя учить конечно снова, но могу сказать только одно - как человек ты сильно испортился. Причем ты был совершенно другим. Вот и сейчас "высеры". "Высеры" это у тебя с "копипастами" , с грибами, с "презентационными", ты скатился уже дальше некуда. Посмотри на себя со стороны - ты выглядишь отвратительно.

Morrison 23.08.2014 20:53

+(27) Напиши хоть один факт, где я был не прав. Вместо того, чтобы "трындеть" голословно.

Morrison 24.08.2014 01:11

+(27) "который всеми силами стараются искоренить из умов." - из каких умов дурачок? Твоих 1с-[filolog]ных[/filolog] мозгов что ли? Меня что поражает в тебе - ты же либераст, за свободу и все прочие демократические завоевания и при этом занимаешься 1С. Ха, это даже не смешно, это трагично. Только не забывай, что та территория, где ты живешь, была расчищена ужасным и тоталитарным моим дедом.

EarlyBird 24.08.2014 07:12

так жаль, что нельзя купить модераторский доступ, хоть на часик...
мне бы даже 5 минут хватило...

Morrison 24.08.2014 17:39

2(30) Мечты это хорошо, мечтай дальше дружок. Лучше спи в своем забвении.


Текущее время: 03:57. Часовой пояс GMT +3.