Не находится по наименованию элемент справочника в управляемых формах |
Я |
sidalexsandr
16.02.18 — 13:50
Пишу
&НаСервере
Функция СоздатьНовыйДокумент(ДокументРеал)
К = Справочники.Контрагенты.НайтиПоНаименованию(«ИВАН ФЕДОРОВ»,,,);
КонецФункции
Выдает ошибку:отсутствует отображение для типа ComОбъект
Darych
1 — 16.02.18 — 14:08
ты что-то недоговариваешь.. и вообще темы одна за одной. а инфу из тебя клещами нужно тащить… короче иди кури
Рэйв
2 — 16.02.18 — 14:13
(0)А что там с COM соединением связано ты конечно, как настоящий партизан, решил утаить?
Lexey_
3 — 16.02.18 — 14:19
(0) «ИВАН ФЕДОРОВ»,,,
а зачем 3 запятых поставил?
Defender aka LINN
4 — 16.02.18 — 14:30
(0) Тут нужен для начала учебник русского языка.
Ну или внимательность, чтобы заметить, что ошибка с поиском по наименованию никак не связана.
sidalexsandr
5 — 16.02.18 — 14:49
(1) Вот полный тескт
&НаСервере
Функция СоздатьНовыйДокумент(ДокументРеал)
НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
//НовРеал.Номер = «М0000000159»;
НовРеал.Дата = ТекущаяДата();
//НовРеал.СписокВидовОперацийЗначение =
К = Справочники.Контрагенты.НайтиПоНаименованию(«ИВАН ФЕДОРОВ»,,,);
//НовРеал.Контрагент = К;
НовРеал.Записать();
Возврат НовРеал.ссылка;
КонецФункции
sidalexsandr
6 — 16.02.18 — 14:53
Исходная процедура
&НаКлиенте
Процедура Запустить(Команда)
Соединение = Новый COMОбъект(«V83.Application»);
//База = Новый COMObject(«V82.Application»);
//connection = Соединение.Connect(«File=»»C:1c-star-baza»»»+СокрЛП(«Старая»)+»»»;Usr=»»»+СокрЛП(«Репнин Александр»)+»»»;Pwd = «»» + СокрЛП(«9985») + «»»;»);
//Для варианта клиент — сервер
//СтрокаСоединения = «Srvr = «»192.168.90.113″»;Ref = «»Старая»»; Usr = Репнин Александр; Pwd = 9985″;
//Для варианта файлового режима:
СтрокаСоединения = «File = C:1c-star-baza; Usr = РепнинАлександр; Pwd = 9985»;
//СтрокаСоединения = «192.168.90.113;Ref=~SQL Сервис-Центр~;usr=Репнин Александр;pwd=9985»;
Попытка
Соединение.Connect(СтрокаСоединения);
Сообщить(«Подключился к базе»);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = «Не удалось подключиться к базе» + ОписаниеОшибки(); Сообщение.Сообщить();
КонецПопытки;
//ДокументРеал = Подключение.Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
//Подключение.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Реал = Соединение.Документы.РеализацияТоваровУслуг;
//Реал = Подключение.Документы.РеализацияТоваровУслуг;
ДокументРеал = Реал.Выбрать(‘20130101’, ‘20140110’ );
////ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, КонецДня(ТекущаяДата()) ); 09.01.2014
//ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
Сообщить(«ТекДата = «+ТекущаяДата());
Пока ДокументРеал.Следующий()=1 Цикл
Сообщить(«Документ = «+ДокументРеал.Дата);
МойНовыйДок = СоздатьНовыйДокумент(ДокументРеал);
КонецЦикла;
КонецПроцедуры
Defender aka LINN
7 — 16.02.18 — 14:54
(6) А для за каким органом ты передаешь COM-объект на сервер?
sidalexsandr
8 — 16.02.18 — 14:59
(7) У меня управляемые формы. И я так понимаю создавать документы я могу только НаСервере. Вообще стоит задача перенисти документы РеализацияТоваровУслуг из УТ в БУХ.
Defender aka LINN
9 — 16.02.18 — 15:01
(8) Я не спрашивал у тебя, что ты и где создаешь. Я спросил, зачем ты передаешь на сервер объект, которым даже не пользуешься?
Ну и если стоит задача перенести данные — КД в зубы и вперед.
silent person
10 — 16.02.18 — 15:07
(9) он видимо выучил что с объектами БД работают только на сервере, вот и передает СОМ объект на сервер.
вот еще один такой же был http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=572492&print=1
(8) не надо ничего не куда передавать. работай с СОМ объектами на клиенте.
Darych
11 — 16.02.18 — 15:09
«смешались в кучу кони, люди..»
drcrasher
12 — 16.02.18 — 15:12
(9) дык уже лет пицот из ут в бп данные передаются «из коробки». даже кд в зубы не нужна
sidalexsandr
13 — 16.02.18 — 15:46
(12) У меня Ут 10 и БП 3. В стандартных обработках Ут нет Бух 3
drcrasher
14 — 16.02.18 — 15:51
(13) значит нужно обновиться до последней версии
sidalexsandr
15 — 16.02.18 — 15:52
Как НаСервере получить доступ к документам которые были выбранны НаКлиенте через Оле?
sidalexsandr
16 — 16.02.18 — 15:55
(14) Предыдущий программист 1с сказал, что конфигурация сильно измененная и поэтому типовыми средствами не перенести.
Darych
17 — 16.02.18 — 15:58
(15) выбирай на сервере или передавай на сервер с клиента нужную инфу, а не выбранные по оле объекты
sidalexsandr
18 — 16.02.18 — 16:11
Попробовал всю большую процедуру выполнять на сервере и убрал вызов из клиентской процедуры процедуры серверной.
В результате получилась одна большая серверная процедура, вот:
&НаСервере
Процедура Запустить(Команда)
Соединение = Новый COMОбъект(«V83.Application»);
//База = Новый COMObject(«V82.Application»);
//connection = Соединение.Connect(«File=»»C:1c-star-baza»»»+СокрЛП(«Старая»)+»»»;Usr=»»»+СокрЛП(«Репнин Александр»)+»»»;Pwd = «»» + СокрЛП(«9985») + «»»;»);
//Для варианта клиент — сервер
//СтрокаСоединения = «Srvr = «»192.168.90.113″»;Ref = «»Старая»»; Usr = Репнин Александр; Pwd = 9985″;
//Для варианта файлового режима:
СтрокаСоединения = «File = C:1c-star-baza; Usr = РепнинАлександр; Pwd = 9985»;
//СтрокаСоединения = «192.168.90.113;Ref=~SQL Сервис-Центр~;usr=Репнин Александр;pwd=9985»;
Попытка
Соединение.Connect(СтрокаСоединения);
Сообщить(«Подключился к базе»);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = «Не удалось подключиться к базе» + ОписаниеОшибки(); Сообщение.Сообщить();
КонецПопытки;
//ДокументРеал = Подключение.Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
//Подключение.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Реал = Соединение.Документы.РеализацияТоваровУслуг;
//Реал = Подключение.Документы.РеализацияТоваровУслуг;
ДокументРеал = Реал.Выбрать(‘20130101’, ‘20140110’ );
////ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, КонецДня(ТекущаяДата()) ); 09.01.2014
//ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
Сообщить(«ТекДата = «+ТекущаяДата());
Пока ДокументРеал.Следующий()=1 Цикл
Сообщить(«Документ = «+ДокументРеал.Дата);
// МойНовыйДок = СоздатьНовыйДокумент(ДокументРеал.Ссылка);
// МойНовыйДок = СоздатьНовыйДокумент();
//*********************************************************************************
НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовРеал.Дата = ТекущаяДата();
Контр = ДокументРеал.Контрагент.Наименование;
К = Справочники.Контрагенты.НайтиПоНаименованию(Контр);
НовРеал.Контрагент = К;
Ф = Справочники.Организации.НайтиПоНаименованию(«Медресурс»);
НовРеал.Организация = Ф;
НовРеал.Записать();
КонецЦикла;
КонецПроцедуры
Вопросы:
1)почему на сервере не создается документ
2) какой функкцией пользоваться НаСерввере для отладки вместо функции Сообщить()?
Darych
19 — 16.02.18 — 16:15
1) откуда знаешь, что не создается?
2) отладчиком
Cyberhawk
20 — 16.02.18 — 16:16
(16) Что за предыдущий? Ты там в штате что ли?
sidalexsandr
21 — 16.02.18 — 16:16
(20) Да в штате.
sidalexsandr
22 — 16.02.18 — 16:18
Сделал
&НаСервере
Процедура ЗапуститьРаб()
// Тест программы с Оле
КонецПроцедуры
&НаКлиенте
Процедура Запустить(Команда)
ЗапуститьРаб();
КонецПроцедуры
Теперь работает
Вафель
23 — 16.02.18 — 16:20
Типовые средстваа можно и доработать, что гораздо легче чем свой обмен писать
sidalexsandr
24 — 16.02.18 — 16:39
(23) А что сложного написать. Подключился по Оле и цикл по документам и создание новых документов, а дальше в цикле заполнение у созданного документа табличной части
hhhh
25 — 16.02.18 — 16:51
(24) ну там у документа 50 реквизитов. И 30 в табличной части, и какждый реквизит вы должны разобрать, как его присваивать, что туда писать. Представьте каког нереального объема заполнение вы должны замутить. А типовой он уже есть, можно его использовать.
Cyberhawk
26 — 16.02.18 — 16:52
(24) Это когда один вид документа и правила обмена просты. А когда 500 видов справочников и 200 видов документов — зае*ешься по Оле писать ))
sidalexsandr
27 — 16.02.18 — 17:01
(26) Согласен. У меня ограниченное число видов документов.
hhhh
28 — 16.02.18 — 17:34
(27) ну даже если 10 видов документов, умножим на 80 реквизитов, получается 800 процедур вам надо написать минимум. Это если у вас на всё про всё меньше 2х месяцев, то вы подумайте.
Джинн
29 — 16.02.18 — 17:41
Дайте ТС яду. Пусть не мучается человек.
Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’
Описание ошибки:
Ошибка при программировании, конфигурировании кода в 1С 8:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ЭлементСпискаЗначений’
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘value’:
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}value
Найденные решения:
Нажатие на изображении увеличит его
Возникла при написании кода индивидуальной конфигурации. Но, как оказалось, может подстерегать программиста из-за его невнимательности и при конфигурировании в других конфигурациях. Итак, в чем же причина возникновения данной ошибки. В управляемой форме был создан реквизит типа «СписокЗначений». При открытии формы по коду срабатывает обработчик заполнения этого списка значений. Т.е. в коде создается переменная с помощью конструктора «Новый СписокЗначений», значение которой потом и устанавливается реквизиту формы. Но, перед тем как это происходит, в коде список значений изменяется — в частности выполняется его дополнительная сортировка. Конечно, ошибка «Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’» может возникнуть у Вас не только в такой ситуации. Сейчас разберемся в чем ее суть.
Как было отмечено в этой частной задаче выполняется сортировка исходного заполненного списка значений. Но, т.к. в этой частной задаче не подходило использование метода «СортироватьПоЗначению(<Направление>)«, т.к. сортировка более сложная (по текстовым данным с разделителями порядка, содержащих разделитель «.», пример: 1.1, 2.2, 2.2.1, 2.2.2, 3.1, 3.2, 3.3.1, 3.3.2). Поэтому сортировка выполнялась программно с созданием новой переменной типа «СписокЗначений» и ее заполнением по данным исходного списка.
После сохранения кода и попытки проверки появилась ошибка, текст которой приведен в начале страницы. Анализ данных через предмет отладки неявно, но показал ошибку.
Нажатие на изображении увеличит его
Не смотря на то, что в методической информации «Синтакс-помощника» 1С 8 указано, что значение элемента списка значений может быть любым (произвольным), все-таки для случая использования в управляемой форме в качестве реквизита накладывается ограничение по типу. И нельзя в значение такого списка значений поместить «ЭлементСискаЗначений» другого списка значений.
Т.е. для моего случая использования списка значений в управляемой форме в качестве реквизита ошибка была в коде, где происходило заполнение значений нового списка по данным исходного при сортировке.
Нажатие на изображении увеличит его
Было выполнено исправление в коде для обращения к значениям и передачи их в качестве значений нового списка значений.
Нажатие на изображении увеличит его
В данном случае значениями списка были значения примитивного тип «Строка», поэтому дальнейшая работа доработанного кода стала возможной. И это все-таки позволило реализовать задачу. Если у Вас будут другие типы, например ссылки, то продумывайте заранее, как будете упорядочить, возможно придется через другие универсальные объекты, например использование таблицы значений, и потом заполнять конечный список значений. Другие примитивные типы не проверялись, но предполагаю, что они так же подойдут для корректной работы в управляемой форме. в качестве значений списка. Поэтому учитывайте это, если столкнетесь с данной ошибкой при Вашем конфигурировании — подбирайте по возможности простой тип для значений списка.
Нажатие на изображении увеличит его
Таким образом на примере данной частной ситуации возникновения ошибки при конфигурировании в 1С 8 «Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа» извлекаем вывод о том, что нужно быть внимательным и не заполнять значения объекта «Список значений» элементами другого списка значений. А передавать значения элемента списка значений, если одна переменная типа «СписокЗначений» заполняется за счет другой подобной.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
16-03-2022
Журавлев А.С.
(Сайт azhur-c.ru)
Добрый день при вызове клиентской процедуры из серверной выходит ошибка {Документ.ЗаказПокупателя.Форма.ФормаДокументаУпр.Форма}: Ошибка при вызове метода контекста (ПриИзмененииНоменклатуры) ПриИзмененииНоменклатуры(Элементы.Товары.ТекущиеДанные); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства ‘param’: форма: Элемент имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа ‘ДанныеФормыЭлементКоллекции’ Вот эти процедуры ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// После отображения ошибки поле номенклатура заполняется выбранным товаром.
на толстом клиенте встречался, баг платформы, перезапуск службы помогал. какая платформа?
да причем тут баг? он передает в процедуру не тот параметр
да хз, на толстом видел такой именно баг)
платформа 8.2.14.519, конфигурация УПП 1.2 не типовая
перевожу конфу на управляемое приложение, не подскажите про параметр?
про имя процедуры и указание параметров в вызове процедуры на клиенте?
про тип параметра, пилять
теперь выдало ошибку Документ.ЗаказПокупателя.МодульОбъекта(2944)}: Поле объекта не обнаружено (Цена) Привожу саму процедуру из общего модуля
ау есть кто-нибудь? прошу помощи,помогите разобраться с ошибкой
вот что ты передаешь туда?
пытаюсь обратиться к экспортной процедуре и передать строку таб части, но так не получается СтрокаТабличной Части или Элементы.Товары.ТекущиеДанные, так не предусмотрено это в серверной части
[пытаюсь обратиться к экспортной процедуре и передать строку таб части] ну и где ты пытаешься? все что ты передаешь не Строка таб части
///////////////////////////////////////////////////////////////////////// выдает ошибку {Документ.ЗаказПокупателя.Форма.ФормаДокументаУпр.Форма}: Недостаточно фактических параметров МодульОбъекта.ПриИзмененииНоменклатурыТоваров; как в серверной части можно обратиться к табличной части документа?
потому что ты без параметров обращаешься
а что указать в качестве параметра?
если указать Элемент или имя табличной части то выходит ошибка
нужно передать строку таб части — очевидно же, что ни Элементы ни Имя ТЧ не являются строкой ТЧ
Для ТС — это не очевидно. Для ТС — проще спросить и ныть потом о помощи, чем подумать. p.s.: ТС уже ничего не поможет, и не знаю то ли мама с папой не старались, то ли перестарались.
, СтрокаТабличнойЧасти=Элементы.Товары.ТекущиеДанные; единственное что приходит на ум, добавить в серверной части
+ опять же СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти
//////////////////////////////////////////////////////////////// вышла ошибка «Ошибка при получении значения атрибута контекста (ТекущиеДанные) СтрокаТабличнойЧасти=Элементы.Товары.ТекущиеДанные;»
объясните пожалуйста значение ошибки, дополнительно к Ошибка при получении значения атрибута контекста (ТекущиеДанные) СтрокаТабличнойЧасти=Элементы.Товары.ТекущиеДанные; Текущие данные таблицы недоступны на сервере
ну нет на сервере текущих данных Элементов
это я тоже понял, а как можно передать параметры табличной части на сервере? через Объект?
это я тоже понял, а как можно передать параметры табличной части на сервере? через Объект?
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Данная ошибка возникает в тот момент, когда Вы пытаетесь вызвать серверный метод и передаете ему в качестве параметра управляемую форму.
Рассмотрим следующий модуль управляемой формы:
&НаСервере Функция ТестВызоваСервера(Форма) Форма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ТестВызоваСервера(ЭтаФорма); КонецПроцедуры
Дело в том, что в контексте модуля управляемой формы переменная ЭтаФорма
доступна всегда (как на клиенте, так и на сервере) и дополнительно ее передавать не требуется (если только вы не вызываете процедуру или функцию, перед которой указана директива &НаСервереБезКонтекста
). Правильным будет следующий код:
&НаСервере Функция ТестВызоваСервера() ЭтаФорма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //вызов контекстной серверной функции ТестВызоваСервера(); КонецПроцедуры
Аналогичное замечание относится к серверным вызовам. Вы не можете передать содержимое переменной ЭтаФорма
на сервер. Вы можете только запросить необходимую информацию на сервере и изменить форму в контексте клиента, либо реализовать это через серверный метод самой формы. Например, такой код работать не будет:
&НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ОбщийМодульСервер.Тест(ЭтаФорма); КонецПроцедуры
Подумайте сами, чем можно заменить такой вызов
Здравствуйте. В собственной конфигурации есть документ «ОбъектныйГрафик» с Тч «Задания». в которую входят реквизиты: ВыдающийОтдел — СправочникСсылка.Подразделения, Задание — СправочникСсылка.ЗаданияШаблон, ДеньВыдачи -целое число.
Справочник ЗаданияШаблон имеет структуру: Наименование содержит наименование задания, ДеньВыдачи(целое число) — порядковый номер рабочего дня выдачи задания. Хочу сделать, чтобы при добавлении строки в ТЧ при изменении реквизита «Задание» автоматически выводился День выдачи для этого задания. Делаю так:
1C | ||
|
В режиме предприятия я при изменении задания вылетает ошибка:
{Документ.ОбъектныйГрафик.Форма.ФормаДокумента.Фор ма(140)}: Ошибка при вызове метода контекста (ПолучитьДеньВыдачи)
ТекущаяСтрока.ДеньВыдачи=ПолучитьДеньВыдачи(Текуща яСтрока.ВыдающийОтдел,ТекущаяСтрока.Задание);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’
Что делаю не так? помогите пожалуйста.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Сергей
Местный
Сообщений: 8
Баллов: 15
Регистрация: 26.06.2022
#10
0
28.06.2022 13:36:40
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = РаботаСоСпискамиДокументовКлиент.ПолучитьДанныеТекущейСтрокиСписка(
Элементы.Список, Элементы.Список.ТекущаяСтрока);
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если Поле = Элементы.Файлы Тогда
ОткрыватьЗакладкуФайлы=ПроверкаОткрытияЗаклФайлы(ЭтаФорма)
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуФайлы», ТекущиеДанные.Ссылка, ОткрыватьЗакладкуФайлы);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.ПодписанЭП Тогда
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуЭП», ТекущиеДанные.Ссылка, Истина);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.Задачи Тогда
ОткрытьФорму(«ОбщаяФорма.ПроцессыИЗадачи»,
Новый Структура(«Предмет», ТекущиеДанные.Ссылка),
ЭтаФорма);
Возврат;
КонецЕсли;
Если Поле = Элементы.ЕстьКатегории Тогда
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуКатегории», ТекущиеДанные.Ссылка, Истина);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.СостояниеКонтроля Тогда
КонтрольКлиент.ОбработкаКомандыКонтроль(ТекущиеДанные.Ссылка, ЭтаФорма);
Возврат;
КонецЕсли;
ПараметрыОткрытия = Новый Структура(«Ключ», ТекущиеДанные.Ссылка);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
КонецПроцедуры
bless18 |
|
||
---|---|---|---|
|
Доброе утро!
Пока такие варианты, но запрос выдает ошибку |
Yandex |
|
||
---|---|---|---|
|
bless18 |
|
||
---|---|---|---|
|
Попробовала реализовать по-другому:
Выходит ошибка: |
bless18 |
|
||
---|---|---|---|
|
А если с директивой &НаСервере создать функцию, то ошибка {Документ.СписаниеКниг.Форма.ФормаДокумента.Форма(47)}: Ошибка при вызове метода контекста (КонтрольОстатков) |
Adara |
|
||
---|---|---|---|
|
Попробуй так:
Получишь в «Результат» Таблицу с остатками по твоим «Наименование»… Должно получится. Изменено 24.08.12 12:46:45 |
Adara |
|
||
---|---|---|---|
|
Выгрузить в массив:Код 1C v 8.2 УП
|
bless18 |
|
||
---|---|---|---|
|
Спасибо! Получилось! |
Adara |
|
||
---|---|---|---|
|
Изменено 24.08.12 17:23:12 |
Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху) |
Оба типа не доступны для передачи между сервером и клиентом в Тонком клиенте. В клиентской процедуре вызываю серверную функцию которая должна вернуть XDTO объект, но получаю ошибку — Ошибка отображения типов: Отсутствует отображение для типа ‘ОбъектXDTO’. И в толстом клиенте ошибки нет. И функция-обработчик передает и принимает примитивные типы… При вызове с клиента тип будет приведен в самой функции к типу ТаблицаЗначений.
По серверной ходил. Ответ по запросу есть. Но при передаче в клиент путем Возврат, выходит ошибка. Версия 1с 8.3 Проблема: в документе у меня 2 реквизита: КонтрагентВалюты и НомерПаспорта КонтрагентВалюты — ссылочный тип на Справочник «КонтрагентыВалюты» НомерПаспорта — строка 10 знаков. Расчет производится в серверном методе ЗаполнитьТаблицуМесяцев(Год, тзМесяцыГода=Неопределено), где тзМесяцыГода имеет тип ДанныеФормыКоллекция при вызове с сервера.
Но это все очень нездоровый подход, рекомендую все таки пересмотреть архитектуру и передавать с сервера на клиент только необходимые данные, например — конечные результаты расчетов. И почему-то невозможна его передача на клиент, причем только в боевом режиме (в отладке все нормально). Я выставил в Конфигураторе запуск 1С Предприятия как Тонкий клиент. Да действительно нельзя передавать таблицу значений с сервера на клиент.
понедельник, 25 августа 2014 г.
Перед этим киврялся и пытался передать значения на другую форму. Начала выходить ошибка. Потом эту Другую форму удалил……но результат с ошибкой сохранился. Справочник.Справочник1.Форма.ФормаСписка.Форма(7)}: Ошибка при вызове метода контекста (СозданиеСписка) МойМассив = СозданиеСписка(); по причине: Ошибка передачи данных между клиентом и сервером. Выдает ошибку: «Недопустимое значение параметра (параметр номер ‘2’)». Хотя, если верить синтакс-помощнику, все вроде верно делаю…
Обычно желание передать непередаваемое сигнализирует об архитектурном промахе — что где обрабатывается, на сервере и на клиенте. Так, например, объект XDTO никак не может быть обработан на веб-клиенте. В этом примере используется глобальная фабрика конфигурации.
Я тоже рекомендую 1С все-таки организовать надежную и однозначную передачу объектов с клиента на сервер, раз уж работает она с так называемыми «объектами».
Объект — в структуру или массив? Не считая того, что там, куда будут передавать — не будет даже ссылок, которые есть здесь в объекте, — засунуть какой-либо объект в примитивы — это та еще задачка. Получается, что невозможно вернуть с Сервера на Клиент ТаблицуЗначений… Но почему в отладке всё работает???
В настройках запуска конфигурации в стартовом окне установлено запускать как Тонкий клиент). Всё ясно, на тонком клиенте ТаблицаЗначений существовать не может. Блин, а я то думал, что коли СписокЗначений существует на тонком клиенте, то и ТаблицаЗначений может существовать.
суббота, 25 февраля 2012 г.
Мутабельные переменные не передаются между серверным и клиентским контекстом. Попробуйте максимально перенести логику выполнения на сервер, а на клиенте получайте уже готовый результат.
То есть вы имеете ввиду, что можно использовать объект «Хранилище значений» для передачи таблицы значений? Не смотря на то, что на клиенте при нажатии кнопки Пересчитать в ЗаполнитьТаблицуМесяцев второй параметр не передается, но он все равно участвует в получении данных от сервера.
Думал потому что xdto схема грузится из макета, но после переноса xdto схему в конфигурацию результат остался таким же. Эти ли способы вернуть из серверной функции XDTOОбъект в клиентскую. Если же все таки очень хочется, то необходимо использовать свою собственную сериализацию. И вот пусть и сделает механизм их передачи. Вот. И что теперь делать? И в документации написано, что таблица значений сериализуется в/из XDTO. Значит, таблица должна нормально передаваться.
Чем мы можем вам сегодня помочь?
Доступность: Сервер, толстый клиент, внешнее соединение. И помнил же, что на тонком должно работать. Передача параметров происходит по ссылке, серверный код использует параметр тзМесяцыГода потом возвращает его измененного на клиента. Здесь ясно видно, что зa тем склоном трaвa более зеленaя и сочнaя. Пожaлуйстa! Есть три мaршрутa. По этому мaршруту, срaзу отвечaю, вaм идти нельзя: видите, здесь волки. Из остaвшихся двух этот короче, знaчит — вaм по нему. В кaчестве гонорaрa я зaбирaю одну овцу…
Этот подход будет работать, если при сериализации и десериализации используется одинаковая ФабрикаXDTO, знающая про типы создаваемых объектов. Вроде всюду пишут, что массив как раз можно передавать — не понимаю, в чем тогда ошибка.
Еще интересное:
Не находится по наименованию элемент справочника в управляемых формах |
Я |
16.02.18 — 13:50
Пишу
&НаСервере
Функция СоздатьНовыйДокумент(ДокументРеал)
К = Справочники.Контрагенты.НайтиПоНаименованию(«ИВАН ФЕДОРОВ»,,,);
КонецФункции
Выдает ошибку:отсутствует отображение для типа ComОбъект
1 — 16.02.18 — 14:08
ты что-то недоговариваешь.. и вообще темы одна за одной. а инфу из тебя клещами нужно тащить… короче иди кури
2 — 16.02.18 — 14:13
(0)А что там с COM соединением связано ты конечно, как настоящий партизан, решил утаить?
3 — 16.02.18 — 14:19
(0) «ИВАН ФЕДОРОВ»,,,
а зачем 3 запятых поставил?
4 — 16.02.18 — 14:30
(0) Тут нужен для начала учебник русского языка.
Ну или внимательность, чтобы заметить, что ошибка с поиском по наименованию никак не связана.
5 — 16.02.18 — 14:49
(1) Вот полный тескт
&НаСервере
Функция СоздатьНовыйДокумент(ДокументРеал)
НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
//НовРеал.Номер = «М0000000159»;
НовРеал.Дата = ТекущаяДата();
//НовРеал.СписокВидовОперацийЗначение =
К = Справочники.Контрагенты.НайтиПоНаименованию(«ИВАН ФЕДОРОВ»,,,);
//НовРеал.Контрагент = К;
НовРеал.Записать();
Возврат НовРеал.ссылка;
КонецФункции
6 — 16.02.18 — 14:53
Исходная процедура
&НаКлиенте
Процедура Запустить(Команда)
Соединение = Новый COMОбъект(«V83.Application»);
//База = Новый COMObject(«V82.Application»);
//connection = Соединение.Connect(«File=»»C:1c-star-baza»»»+СокрЛП(«Старая»)+»»»;Usr=»»»+СокрЛП(«Репнин Александр»)+»»»;Pwd = «»» + СокрЛП(«9985») + «»»;»);
//Для варианта клиент — сервер
//СтрокаСоединения = «Srvr = «»192.168.90.113″»;Ref = «»Старая»»; Usr = Репнин Александр; Pwd = 9985″;
//Для варианта файлового режима:
СтрокаСоединения = «File = C:1c-star-baza; Usr = РепнинАлександр; Pwd = 9985»;
//СтрокаСоединения = «192.168.90.113;Ref=~SQL Сервис-Центр~;usr=Репнин Александр;pwd=9985»;
Попытка
Соединение.Connect(СтрокаСоединения);
Сообщить(«Подключился к базе»);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = «Не удалось подключиться к базе» + ОписаниеОшибки(); Сообщение.Сообщить();
КонецПопытки;
//ДокументРеал = Подключение.Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
//Подключение.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Реал = Соединение.Документы.РеализацияТоваровУслуг;
//Реал = Подключение.Документы.РеализацияТоваровУслуг;
ДокументРеал = Реал.Выбрать(‘20130101’, ‘20140110’ );
////ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, КонецДня(ТекущаяДата()) ); 09.01.2014
//ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
Сообщить(«ТекДата = «+ТекущаяДата());
Пока ДокументРеал.Следующий()=1 Цикл
Сообщить(«Документ = «+ДокументРеал.Дата);
МойНовыйДок = СоздатьНовыйДокумент(ДокументРеал);
КонецЦикла;
КонецПроцедуры
7 — 16.02.18 — 14:54
(6) А для за каким органом ты передаешь COM-объект на сервер?
8 — 16.02.18 — 14:59
(7) У меня управляемые формы. И я так понимаю создавать документы я могу только НаСервере. Вообще стоит задача перенисти документы РеализацияТоваровУслуг из УТ в БУХ.
9 — 16.02.18 — 15:01
(8) Я не спрашивал у тебя, что ты и где создаешь. Я спросил, зачем ты передаешь на сервер объект, которым даже не пользуешься?
Ну и если стоит задача перенести данные — КД в зубы и вперед.
10 — 16.02.18 — 15:07
(9) он видимо выучил что с объектами БД работают только на сервере, вот и передает СОМ объект на сервер.
вот еще один такой же был http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=572492&print=1
(8) не надо ничего не куда передавать. работай с СОМ объектами на клиенте.
11 — 16.02.18 — 15:09
«смешались в кучу кони, люди..»
12 — 16.02.18 — 15:12
(9) дык уже лет пицот из ут в бп данные передаются «из коробки». даже кд в зубы не нужна
13 — 16.02.18 — 15:46
(12) У меня Ут 10 и БП 3. В стандартных обработках Ут нет Бух 3
14 — 16.02.18 — 15:51
(13) значит нужно обновиться до последней версии
15 — 16.02.18 — 15:52
Как НаСервере получить доступ к документам которые были выбранны НаКлиенте через Оле?
16 — 16.02.18 — 15:55
(14) Предыдущий программист 1с сказал, что конфигурация сильно измененная и поэтому типовыми средствами не перенести.
17 — 16.02.18 — 15:58
(15) выбирай на сервере или передавай на сервер с клиента нужную инфу, а не выбранные по оле объекты
18 — 16.02.18 — 16:11
Попробовал всю большую процедуру выполнять на сервере и убрал вызов из клиентской процедуры процедуры серверной.
В результате получилась одна большая серверная процедура, вот:
&НаСервере
Процедура Запустить(Команда)
Соединение = Новый COMОбъект(«V83.Application»);
//База = Новый COMObject(«V82.Application»);
//connection = Соединение.Connect(«File=»»C:1c-star-baza»»»+СокрЛП(«Старая»)+»»»;Usr=»»»+СокрЛП(«Репнин Александр»)+»»»;Pwd = «»» + СокрЛП(«9985») + «»»;»);
//Для варианта клиент — сервер
//СтрокаСоединения = «Srvr = «»192.168.90.113″»;Ref = «»Старая»»; Usr = Репнин Александр; Pwd = 9985″;
//Для варианта файлового режима:
СтрокаСоединения = «File = C:1c-star-baza; Usr = РепнинАлександр; Pwd = 9985»;
//СтрокаСоединения = «192.168.90.113;Ref=~SQL Сервис-Центр~;usr=Репнин Александр;pwd=9985»;
Попытка
Соединение.Connect(СтрокаСоединения);
Сообщить(«Подключился к базе»);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = «Не удалось подключиться к базе» + ОписаниеОшибки(); Сообщение.Сообщить();
КонецПопытки;
//ДокументРеал = Подключение.Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
//Подключение.Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Реал = Соединение.Документы.РеализацияТоваровУслуг;
//Реал = Подключение.Документы.РеализацияТоваровУслуг;
ДокументРеал = Реал.Выбрать(‘20130101’, ‘20140110’ );
////ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, КонецДня(ТекущаяДата()) ); 09.01.2014
//ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(‘20130101’, ‘20140110’ );
Сообщить(«ТекДата = «+ТекущаяДата());
Пока ДокументРеал.Следующий()=1 Цикл
Сообщить(«Документ = «+ДокументРеал.Дата);
// МойНовыйДок = СоздатьНовыйДокумент(ДокументРеал.Ссылка);
// МойНовыйДок = СоздатьНовыйДокумент();
//*********************************************************************************
НовРеал = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовРеал.Дата = ТекущаяДата();
Контр = ДокументРеал.Контрагент.Наименование;
К = Справочники.Контрагенты.НайтиПоНаименованию(Контр);
НовРеал.Контрагент = К;
Ф = Справочники.Организации.НайтиПоНаименованию(«Медресурс»);
НовРеал.Организация = Ф;
НовРеал.Записать();
КонецЦикла;
КонецПроцедуры
Вопросы:
1)почему на сервере не создается документ
2) какой функкцией пользоваться НаСерввере для отладки вместо функции Сообщить()?
19 — 16.02.18 — 16:15
1) откуда знаешь, что не создается?
2) отладчиком
20 — 16.02.18 — 16:16
(16) Что за предыдущий? Ты там в штате что ли?
21 — 16.02.18 — 16:16
(20) Да в штате.
22 — 16.02.18 — 16:18
Сделал
&НаСервере
Процедура ЗапуститьРаб()
// Тест программы с Оле
КонецПроцедуры
&НаКлиенте
Процедура Запустить(Команда)
ЗапуститьРаб();
КонецПроцедуры
Теперь работает
23 — 16.02.18 — 16:20
Типовые средстваа можно и доработать, что гораздо легче чем свой обмен писать
24 — 16.02.18 — 16:39
(23) А что сложного написать. Подключился по Оле и цикл по документам и создание новых документов, а дальше в цикле заполнение у созданного документа табличной части
25 — 16.02.18 — 16:51
(24) ну там у документа 50 реквизитов. И 30 в табличной части, и какждый реквизит вы должны разобрать, как его присваивать, что туда писать. Представьте каког нереального объема заполнение вы должны замутить. А типовой он уже есть, можно его использовать.
26 — 16.02.18 — 16:52
(24) Это когда один вид документа и правила обмена просты. А когда 500 видов справочников и 200 видов документов — зае*ешься по Оле писать ))
27 — 16.02.18 — 17:01
(26) Согласен. У меня ограниченное число видов документов.
28 — 16.02.18 — 17:34
(27) ну даже если 10 видов документов, умножим на 80 реквизитов, получается 800 процедур вам надо написать минимум. Это если у вас на всё про всё меньше 2х месяцев, то вы подумайте.
Джинн
29 — 16.02.18 — 17:41
Дайте ТС яду. Пусть не мучается человек.
Автор Истребитель, 22 июл 2015, 17:48
0 Пользователей и 1 гость просматривают эту тему.
При попытке создать COM объект Excel.Application вылезает стандартная ошибка:
Ошибка получения объекта COM: -2147467262(0x80004002): No such interface support
Однако, если открыть диспетчер задач, то приложение excel.exe запускается!
Приложение excel x32, 1Cка тоже x32.
В списках классов (HKLMSoftwareClasses) класс Excel.Application присутствует.
Права на Distributed COM дал своему юзеру, перелогинился, не помогло, дал всем (Everyone), не помогло.
База файловая.
Попробуйте так
Попытка
ОбъектЭксель = ПолучитьCOMОбъект(СокрЛП(ФайлЗагрузки));//ФайлЗагрузки - путь к файлу. строка
Исключение
Сообщить("Неудачная попытка открытия файла:"+СокрЛП(ФайлЗагрузки));
Возврат;
КонецПопытки;
КомОбъектЗагрузки = ОбъектЭксель.WorkSheets(1);
Очень забавно. Если перед вызовом функции с параметрами (Путь,Excel.Application) вызвать её без указания Excel.Application то повторный вызов уже с указанием Excel.Application работает!
Т.е. так работает:
ПолучитьCOMОбъект(ИмяФайла,)
ПолучитьCOMОбъект(ИмяФайла,"Excel.Application")
Так не работает:
ПолучитьCOMОбъект(ИмяФайла,"Excel.Application")
В любом случае, в дальнейшем вылезает вообще непонятная ошибка:
{Форма.Форма.Форма(47)}: Ошибка при вызове метода контекста (ПрочитатьЛистExcel)
ПрочитатьЛистExcel(,ПолучитьCOMОбъект(ИмяФайла));
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'
Поздравляю, походу вы открыли для себя впервые особенности управляемого приложения.
Ок, где мне почитать про эти «особенности» чтобы разобраться как выполнить такое простое задание, как чтение excel файла?
Путем проб и ошибок
Пробуйте «&НаСервере» всё это делать
Помогли — Скажи спасибо! Решил сам — поделись решением!
Не сочтите за издевательство: http://v8.1c.ru/metod/faq2/
&НаКлиенте — это только форма, видимость,доступность, условное офомление и т.д.
&НаСервере — это работа с объектами. Добавить строки, заполнить объект и т.д.
С клиента можно вызывать сервер, наоборот — нельзя.
Все прочие особенности = интернет большой, уверен справитесь
Дааа. Простейшие вещи теперь хрен сделаешь. Почитал я это. Замечательно! Погуглил даже. Простейшая задача, неясно как решать.
Я хочу создать программно документ, заполнить его на основании данных из экселя, и открыть.
На клиенте я это сделать не могу, на клиенте «Документы» неопределена (нельзя создать документ). На сервере тоже не могу, нельзя открыть форму. На клиент нельзя передать ссылку на документ (когда пытаюсь сделать «Возврат Док», где Док это новый документ, вылезает ошибка передачи данных). Гугл «1с 8.3 передача документа с сервера на клиент» ничего не дал.
Что делать?
Остается сесть в углу и плакать.
На клиенте формируете структуры с простыми данными (строки, даты и т.д.) передаете на сервер. Создаете/ищите документ на сервере и возвращаете ссылку на документ.
-
При передаче результата запроса функции через Возврат в Клиент, выходит ошибка «Отсутствует отображение для типа ‘ВыборкаИзРезультатаЗапроса‘».
При совершении таких же манипуляций с кодом, ошибок не возникало. На ошибки все проверил.
Какой тут может быть подводный камень?На клиенте:
Процедура РаскладкаПКОтПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.Раскладка.ТекущиеДанные; ПКДо = СтрокаТабличнойЧасти.ПКОт + СтрокаТабличнойЧасти.Длина; Результат = РаскладкаТрубы.ПересеченияРаскладки(СтрокаТабличнойЧасти.ПКОт, ПКДо); КонецПроцедуры
НаСервере
Функция ПересеченияРаскладки(От,До)Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТрубаРаскладка.ПКОт, | ТрубаРаскладка.ПКДо, | ТрубаРаскладка.ТрубаНом, | ТрубаРаскладка.ТрубаНом.Длина КАК Длина |ИЗ | РегистрСведений.ТрубаРаскладка КАК ТрубаРаскладка |ГДЕ | ТрубаРаскладка.ПКОт <= &ПКОт И ТрубаРаскладка.ПКДо >= &ПКОт |УПОРЯДОЧИТЬ ПО ТрубаРаскладка.ПКОт |"; Запрос.УстановитьПараметр("ПКОт", От); Запрос.УстановитьПараметр("ПКДо", До); Результат = Запрос.Выполнить().Выбрать(); Возврат Результат; КонецФункции
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Почитайте про Выбрать() и про его область видимости — На клиенте, На сервере…
-
А почему точно в таких же запросах из клиента в сервер все работает? Разница только в другой таблице.
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Потому что:
РезультатЗапроса (QueryResult)
Выбрать (Select)
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).ВыборкаИзРезультатаЗапроса (QueryResultSelection)
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). -
Одинаковая ошибка как из Тонкого клиента, так из Толстого.
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
А где вы параметры запросу задаете ? Вернее их значения ?
— Объединение сообщений, 2 июн 2016 —
А, увидел
— Объединение сообщений, 2 июн 2016 —
Отладчиком проходились по серверной функции ? Попадает туда ?
-
По серверной ходил. Ответ по запросу есть. Но при передаче в клиент путем Возврат, выходит ошибка.
Перед этим киврялся и пытался передать значения на другую форму. Начала выходить ошибка. Потом эту Другую форму удалил……но результат с ошибкой сохранился.
Могло это как-то повлиять? -
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Вроде как результат запроса на клиента нельзя передать, обрабатывайте на сервере все.

16.01.202013.05.2023Ошибки
Данная ошибка возникает в тот момент, когда Вы пытаетесь вызвать серверный метод и передаете ему в качестве параметра управляемую форму.
Рассмотрим следующий модуль управляемой формы:
&НаСервере Функция ТестВызоваСервера(Форма) Форма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ТестВызоваСервера(ЭтаФорма); КонецПроцедуры
Дело в том, что в контексте модуля управляемой формы переменная ЭтаФорма
доступна всегда (как на клиенте, так и на сервере) и дополнительно ее передавать не требуется (если только вы не вызываете процедуру или функцию, перед которой указана директива &НаСервереБезКонтекста
). Правильным будет следующий код:
&НаСервере Функция ТестВызоваСервера() ЭтаФорма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //вызов контекстной серверной функции ТестВызоваСервера(); КонецПроцедуры
Аналогичное замечание относится к серверным вызовам. Вы не можете передать содержимое переменной ЭтаФорма
на сервер. Вы можете только запросить необходимую информацию на сервере и изменить форму в контексте клиента, либо реализовать это через серверный метод самой формы. Например, такой код работать не будет:
&НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ОбщийМодульСервер.Тест(ЭтаФорма); КонецПроцедуры
Подумайте сами, чем можно заменить такой вызов
Поделиться страницей в соц.сетях
Метки: Метки Управляемые формы