Ошибка при вызове серверного метода

   Pro-tone

28.07.11 — 09:30

Пытаюсь мутировать на 8.2.14. Решил сделать задачу по УТ на упр. формах.

Ставлю отбор на форме при открытии.

&НаКлиенте

Процедура ПриОткрытии(Отказ)

   //Вставить содержимое обработчика

  ВыбНоменклатураСсылка = Серверный.ПолучитьВсеДокументы(«РасходнаяНакладная»);

  Список.Параметры.УстановитьЗначениеПараметра(«ВыбНоменклатураСсылка»,ВыбНоменклатураСсылка);    

   
   
КонецПроцедуры

«Серверный» — общий модуль. Стоят галки «Сервер» и «Вызов сервера». При открытии заданной формы вываливает:

{Документ.РасходнаяНакладная.Форма.ФормаСписка.Форма(20)}: Ошибка при вызове метода контекста (ПолучитьВсеДокументы)

  ВыбНоменклатураСсылка = Серверный.ПолучитьВсеДокументы(«РасходнаяНакладная»);

по причине:

Ошибка при вызове серверного метода.

по причине:

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

по причине:

Ошибка преобразования данных XDTO:

НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType

по причине:

Ошибка отображения типов:

Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’

Как лечить ?

   Stepa86

1 — 28.07.11 — 09:32

Перенеси этот код в ПриСозданииНаСервере(

Клиентские методы формы могут вызывать только методы этой формы

   Ненавижу 1С

2 — 28.07.11 — 09:33

на форме из клиентского метода нельзя напрямую вызывать серверные объекты, надо передать управление в серверный метод формы и оттуда все делать

почему так они решили? политика партии

ща куча набежит и скажет, что это правильно ))

   Stepa86

3 — 28.07.11 — 09:36

(2) еси чо, меня тоже выбешивает писать методы СделатьЧтоТо и СделатьЧтоТо_Сервер( только изза того, что напрямую сервер нельзя позвать из обработчика команды

   Pro-tone

4 — 28.07.11 — 09:37

(1) сделал так как ты сказал, убрал из ПриОткрытии():

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   
   //Вставить содержимое обработчика

  ВыбНоменклатураСсылка = Серверный.ПолучитьВсеДокументы(«РасходнаяНакладная»);

  Список.Параметры.УстановитьЗначениеПараметра(«ВыбНоменклатураСсылка»,ВыбНоменклатураСсылка);    

   

КонецПроцедуры

та же самая ошибка ((

   Ненавижу 1С

5 — 28.07.11 — 09:38

(3) ну значит есть братья по разуму ))

   Stepa86

6 — 28.07.11 — 09:39

(4) ВыбНоменклатураСсылка не список значений случаем?

   Pro-tone

7 — 28.07.11 — 09:41

(6) таблица значений

   Pro-tone

8 — 28.07.11 — 09:43

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

по причине:

Ошибка преобразования данных XDTO:

НачалоСвойства: v    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType

по причине:

Ошибка преобразования данных XDTO:

НачалоСвойства: QueryParam    Форма: Элемент    Тип: {http://v8.1c.ru/8.1/data-composition-system/core}ParameterValue

по причине:

Ошибка преобразования данных XDTO:

НачалоСвойства: value    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType

по причине:

Ошибка отображения типов:

Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’

   Stepa86

9 — 28.07.11 — 09:45

ты в дин. список таблицу суешь??? я бы тоже огорчился

   Defender aka LINN

10 — 28.07.11 — 09:46

(1)(2) Чего курили?

(7) Молодец.

   Pro-tone

11 — 28.07.11 — 09:47

(9) ну да, отбор запросом дин списка

ВЫБРАТЬ

   ДокументРасходнаяНакладная.Ссылка,

   ДокументРасходнаяНакладная.ПометкаУдаления,

   ДокументРасходнаяНакладная.Номер,

   ДокументРасходнаяНакладная.Дата,

   ДокументРасходнаяНакладная.Проведен,

   ДокументРасходнаяНакладная.Контрагент,

   ДокументРасходнаяНакладная.Проект,

   ДокументРасходнаяНакладная.Товары.(

       Ссылка,

       НомерСтроки,

       Номенклатура

   ),

   ДокументРасходнаяНакладная.МоментВремени

ИЗ

   Документ.РасходнаяНакладная КАК ДокументРасходнаяНакладная

ГДЕ

   ДокументРасходнаяНакладная.Товары.Ссылка В(&ВыбНоменклатураСсылка)

   Pro-tone

12 — 28.07.11 — 09:47

(9)(10) а как правильно ?

   Stepa86

13 — 28.07.11 — 09:48

(10) свое надо иметь…

(11) массивом передавай, и есть подозрение, что в ТЗ лежит что то мутабельное

   Sarmen

14 — 28.07.11 — 09:48

Список значений туда передавай, а не таблицу значений.

   Sarmen

15 — 28.07.11 — 09:49

Да ещё табличную часть зачем выбираешь в запросе?

   Stepa86

16 — 28.07.11 — 09:49

(14) периодически вылезает гемор со списком, лично я его между методами не передаю

   Sarmen

17 — 28.07.11 — 09:50

Делай запрос по табличной части, а не по таблице расходной накладной.

   Defender aka LINN

18 — 28.07.11 — 09:51

(13) Не, у тебя лучше. Это, ять, ТаблицаЗначений! Ты знаешь такой тип в тонком клиенте? Я — нет.

   Pro-tone

19 — 28.07.11 — 09:51

(13) ппц, ок ща попробую. Что означает «мутабельное» ?

(15) это как бы сам 1 с софрмировал такой запрос, я только условие поставил в запрос

   Sarmen

20 — 28.07.11 — 09:54

ВЫБРАТЬ

   Товары.Ссылка.Ссылка,

   Товары.Ссылка.Номер,

   Товары.Ссылка.Дата,

   Товары.Ссылка.ПометкаУдаления,

   Товары.Ссылка.Проведен,

   Товары.Ссылка.СуммаПоДокументу,

   Товары.Ссылка.МоментВремени

ИЗ

   Документ.РасходнаяНакладная.Товары КАК Товары

ГДЕ

   Товары.Номенклатура В (&СписокЗначений)

примерно так …

   Stepa86

21 — 28.07.11 — 09:54

(19) мутабельное, грубо говоря это то, что нельзя с сервера на клиент передавать и обратно… подробнее в гугле

ТЧ порежь лучше, и для таких отборов лучше критерий отбора заюзать

   Pro-tone

22 — 28.07.11 — 09:55

(13) передал массивом стало работать ! спасибо ! Где об этом написано что таблица значений недоступна в запросе по динсписку формы клиента ?

   Pro-tone

23 — 28.07.11 — 09:57

(21) ща попробую через критерий отбора

   Ненавижу 1С

24 — 28.07.11 — 10:00

(10) почему?

   BigRoma

25 — 28.07.11 — 10:00

Между клиентом и сервером нельзя передавать таблицу значений.

Когда делаете Список.Параметры.УстановитьЗначениеПараметра(«ВыбНоменклатураСсылка»,ТаблицаЗначений);

метод развалится, но не сразу, а при передаче формы на клиента.

   Mort

26 — 28.07.11 — 10:04

(24) Вот транслятор свой напишешь, сразу догадаешься.

   BigRoma

27 — 28.07.11 — 10:06

(26) вообще он прав, нельзя на тонком клиенте работать с северными объектами. Например, ДокументОбъект на клиенте не существует, таблица значений на тонком клиенте не существует.

   Ненавижу 1С

28 — 28.07.11 — 10:07

(27) так и не надо, достаточно в тонком клиенте хранить только ссылки на них, а пусть они живут на далеком сервере

   H A D G E H O G s

29 — 28.07.11 — 10:11

(28) Так так и сделано

   BigRoma

30 — 28.07.11 — 10:12

ну… не обязательно ссылки, часть данных хранится в сериализуемых типах самой формы (данныеформыструктура, данныеформыколлеция).

   Mort

31 — 28.07.11 — 10:12

(28) Ссылки и так есть. ТЗ на формах тоже нормально хранятся в коллециях. Чо не нравится-то? То что нельзя на клиенте Ссылка.реквизит написать? Дай такую возможность, сейчас бы 1Сники такого г0внокода написали, все бы от УФ крутили носом.

   Ненавижу 1С

32 — 28.07.11 — 10:14

ладно, пошел писать свою платформу

   Mort

33 — 28.07.11 — 10:15

(32) Блэк джек не забудь впилить. И шлюх.

   Ненавижу 1С

34 — 28.07.11 — 10:17

(33) главное Неопределено выпилить, оставить только NULL

   Pro-tone

35 — 28.07.11 — 10:17

Как я понимаю через критерий отбора (опять же в серверном модуле через вызов сервера с уф) будет примерно так:

Функция ОтборСерверная()

МассивСсылок = КритерииОтбора.ПоНоменклатуре.Найти(ВыбНоменклатура);

Для Каждого Ссылка Из МассивСсылок Цикл

   Сообщить(Ссылка);

КонецЦикла;

Возврат МассивСсылок;

КонецФункции

   H A D G E H O G s

36 — 28.07.11 — 10:17

(32) good speed

   Pro-tone

37 — 28.07.11 — 10:17

Функция ОтборСерверная(ВыбНоменклатура) конечно же

   Stepa86

38 — 28.07.11 — 10:19

(35) вообще то я предлагал прям в запросе обращение к критерию сделать и передавать туда номенклатуру… тока не уверен, что в дин. списке это нормально выглядеть будет

   Pro-tone

39 — 28.07.11 — 10:23

(38)

запрос к дин.списку

ВЫБРАТЬ

   ДокументРасходнаяНакладная.Ссылка,

   ДокументРасходнаяНакладная.ПометкаУдаления,

   ДокументРасходнаяНакладная.Номер,

   ДокументРасходнаяНакладная.Дата,

   ДокументРасходнаяНакладная.Проведен,

   ДокументРасходнаяНакладная.Контрагент,

   ДокументРасходнаяНакладная.Проект,

   ДокументРасходнаяНакладная.Товары.(

       Ссылка,

       НомерСтроки,

       Номенклатура

   ),

   ДокументРасходнаяНакладная.МоментВремени

ИЗ

   Документ.РасходнаяНакладная КАК ДокументРасходнаяНакладная

ГДЕ

   ДокументРасходнаяНакладная.Товары.Номенклатура В(&ВыбНоменклатураСсылка)

И после еще (по нажатию на кнопку ОтборПоНоменклатуре на форме списка)

&НаКлиенте

Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

   //Вставить содержимое обработчика

  Список.Параметры.УстановитьЗначениеПараметра(«ВыбНоменклатураСсылка»,КритерииОтбора.ПоНоменклатуре.Найти(ВыбНоменклатура));    

КонецПроцедуры

   Mort

40 — 28.07.11 — 10:23

Если подходить к коду грамотно, практически никогда не возникает конструкций СделатьЧтоТо и СделатьЧтоТо_Сервер

   Pro-tone

41 — 28.07.11 — 10:25

(38) фиг там, критерий отбора не живет на клиенте (

все равно опять тот же гемор к его получению через серверный модуль

   Stepa86

42 — 28.07.11 — 10:31

(40) если у меня есть метод в серверном модуле, который делает то, что мне надо, как мне «Грамотно» написать команду, которая его вызывает?

   BigRoma

43 — 28.07.11 — 10:33

(42) ВызватьСерверныйМетод(Параметры)

а ещё лучше, по возможности

ВызватьСерверныйМетодБезКонтекста(Параметры)

   Stepa86

44 — 28.07.11 — 10:34

(43) а вот (40) говорит, что так не грамотно

   BigRoma

45 — 28.07.11 — 10:36

(44) честно говоря не понял о чем (4) говорил

   BigRoma

46 — 28.07.11 — 10:36

(44) честно говоря не понял о чем (40) говорил

   Mort

47 — 28.07.11 — 10:39

(44) Да, так не грамотно. Имя функции должно отражать ЧТО она делает, а не где.

   Mort

48 — 28.07.11 — 10:39

С «ГДЕ» прекрасно справляются директивы.

   Stepa86

49 — 28.07.11 — 10:41

есть серверный модуль Серверный и там процедура СоздатьПодчиненныйДокумент(пОсновнойДокумент)

Добавляя кнопку на форму хочу написать:

&НаКлиенте

Процедура СоздатьПодчиненныйДокумент()

Если Не Объект.Ссылка.Пустая() Тогда

Серверный.СоздатьПодчиненныйДокумент(Объект.Ссылка);

КонецЕсли;

КонецПроцедуры

а приходится писать так:

&НаКлиенте

Процедура СоздатьПодчиненныйДокумент()

СоздатьПодчиненныйДокумент_Сервер(Объект.Ссылка);

КонецПроцедуры

&НаСервере

Процедура СоздатьПодчиненныйДокумент_Сервер()

Если Не Объект.Ссылка.Пустая() Тогда

Серверный.СоздатьПодчиненныйДокумент(Объект.Ссылка);

КонецЕсли;

КонецПроцедуры

если я правильно понял (40), то он утверждает, что при грамотной разработке проксирующий метод не нужен… вот мне и интересно как тут грамотно?

   Mort

50 — 28.07.11 — 10:43

(49) Да, грамотно поставить галку «Вызов сервера» на модуль.

   Mort

51 — 28.07.11 — 10:44

А ссылку на пустое значение проверять, например, методом ЗначениеЗаполнено()

   Stepa86

52 — 28.07.11 — 10:44

+(49) Условия можно избежать, если сделать командой на объекте, а не на форме, тем более что в тонком клиенте она отвалится с ошибкой

   BigRoma

53 — 28.07.11 — 10:44

(49) а вот это уже странно, я всегда писал по первому варианту. Можете объяснить, почему он не работает? Казалось бы Объект.Ссылка имеет ссылочный тип и нормально сериализуется.

   Stepa86

54 — 28.07.11 — 10:45

(50) у кого? клиентские методы не видят экспортные серверные методы ни с галочкой ни без

   Stepa86

55 — 28.07.11 — 10:46

(53) Тонкий и веб не видят модуля Серверный

   Defender aka LINN

56 — 28.07.11 — 10:46

(49) а потому что не хочешь ты думать.

Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
    Серверный.СоздатьПодчиненныйДокумент(Объект.Ссылка);
КонецЕсли;
   Defender aka LINN

57 — 28.07.11 — 10:47

(55) А галку «вызов сервера»-то ты поставил?

   Pro-tone

58 — 28.07.11 — 10:49

(34) я вижу у тебя особая страсть к 2м типам «Неопределено» и «Null» =))

   Stepa86

59 — 28.07.11 — 10:49

(56) да даже если без условия, то все равно падает (падало во всяком случае), условие тут не главное

(57) да

   BigRoma

60 — 28.07.11 — 10:51

(59) а процедуру экспортной сделал? )

   Ненавижу 1С

61 — 28.07.11 — 11:01

(58) и пустым ссылкам ))

   BigRoma

62 — 28.07.11 — 11:03

(61) кста вопрос порой задают на собеседованиях чем отличается NULL от Неопределено.

   Defender aka LINN

63 — 28.07.11 — 11:08

(59) У меня не падает. ЧЯДНТ?

   Stepa86

64 — 28.07.11 — 11:10

(63) тонкий клиент клиент-сервера? и какая версия платформы

  

Pro-tone

65 — 28.07.11 — 11:15

(61) и неизвестному объекту еще тогда ))

Студворк — интернет-сервис помощи студентам

Доброго дня всем
1с 8.3 Работаю с бизнес -процессами. Возникла сложность при завершении.
Есть ТЗ: При завершении задачи «Ознакомится с результатом» завершить комплексный бизнес процесс и все незавершенные задачи по нему.

В форме ЗадачиИсполнителя есть кнопка. Команда на кнопке выполняется наКлиенте. В конце выполнения я и решила подпихнуть свою обработку. Которая выполняется в общем модуле.
Вот как я это делаю. Вызов общего (клиент) из команды формы (Параметр: форма задачи)
Вызов

1C
1
2
3
    Если АМ_ОбщийКлиент.ЗавершитьБизнесПроцессПослеВыполненияЗадачиКлиент(ЭтаФорма) Тогда
    Возврат;
    КонецЕсли;

В общем модуле — клиенте переход на Общий (сервер, вызов сервера)

1C
1
2
3
4
5
6
Функция ЗавершитьБизнесПроцессПослеВыполненияЗадачиКлиент(Форма) Экспорт
    Отказ = Ложь;
    Задача = Форма.Объект.Ссылка; 
        АМ_Общий.ЗавершитьБизнесПроцессПослеВыполненияЗадачиОзнакомиться(Задача);
    Возврат Отказ;
      КонецФункции

Ну и в общем модуле я работаю уже непосредственно с задачей, ищу по ней бизнес-процесс, завершаю задачи.

Так вот теперь суть всего вопроса:
После завершения работы на сервере когда уже отладчик стоит на КонецФункции у меня неожиданно все сваливается в ошибку

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{ОбщийМодуль.АМ_ОбщийКлиент.Модуль(8)}: Ошибка при вызове метода контекста (ЗавершитьБизнесПроцессПослеВыполненияЗадачиОзнакомиться)
    АМ_Общий.ЗавершитьБизнесПроцессПослеВыполненияЗадачиОзнакомиться(Задача);
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'СтрокаТаблицыЗначений'

Я не могу понять в чем она заключается. Я вроде бы никакие данные не передаю. Задача — ссылку которой я беру уже завершена и я ее не изменяю.
ЧТо не так то?? Почитала кучу форумов и справок, но не нашла ответа на вопрос. Может кто поможет и опишет корректность выполнения процедур Клиент-Сервер-Клиент. Буду очень признательна за любую информацию по этому вопросу

  

solbadguy

05.07.18 — 08:23

Здравствуйте уважаемые знатоки, проблема следующая —

Создаю конфигурацию, из которой будет цеплять данные мобильный клиент на мобильном устройстве соответственно.  Добился того, что при нажатии на волшебную кнопку данные из мобильного устройства грузит в основную базу. Из центральной базы в мобильное устройство — нет.  

В ступор встал конкретно, изейший вопрос по-любому. Видимо не хватает

Готовый код не прошу, прошу тыкнуть носом. Спасибо.

  

solbadguy

1 — 05.07.18 — 08:25

Имеется общая команда.

&НаКлиенте

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

    Если ВыполнитьСинхронизациюНаСервере() Тогда

        Сообщить(«Синхронизация прошла успешно!»);

    Иначе

        Сообщить(«При синхронизации произошла ошибка!»);

    КонецЕсли          

КонецПроцедуры  

&НаСервере

Функция ВыполнитьСинхронизациюНаСервере()

    Попытка

        ВСОпределение = новый WSОпределения(«http://192.168.111.108/Web/ws/WebОбмен.1cws?wsdl»;);

        ВСервис = ВСОпределение.Сервисы.Получить(«Data», «WebОбмен»);

        ВТочкаВхода = ВСервис.ТочкиПодключения.Получить(«WebОбменSoap»);

        ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить(«Синхронизация»);

        Данные = новый ХранилищеЗначения(ЗарегистрироватьВыгрузку(), новый СжатиеДанных(9));

        

        ДанныеXDTO = ВСОпределение.ФабрикаXDTO.Создать(ВОперация.Параметры.Получить(«Данные»).Тип, Данные);

        ВСПрокси = новый WSПрокси(ВСОпределение, «Data», «WebОбмен», «WebОбменSoap»);

        Ответ = ВСПрокси.Синхронизация(ДанныеXDTO);

        ПринятьИзмененияПоПлану(Ответ.Получить());

        Возврат Истина

    Исключение

        Сообщить(ОписаниеОшибки());

        Возврат Ложь;

    КонецПопытки;

КонецФункции

&НаСервере

Процедура ПринятьИзмененияПоПлану(СтрокаСообщения)

    ЧтениеХМЛ = Новый ЧтениеXML;

    ЧтениеХМЛ.УстановитьСтроку(СтрокаСообщения);

    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();

    ЧтениеСообщения.НачатьЧтение(ЧтениеХМЛ);

    

    Пока ВозможностьЧтенияXML(ЧтениеХМЛ) Цикл

        Данные = ПрочитатьXML(ЧтениеСообщения.ЧтениеXML);

        Если НЕ Данные = Неопределено Тогда

            Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;

            Данные.ОбменДанными.Загрузка = Истина;

            Данные.Записать();

        КонецЕсли;

    КонецЦикла;

    ЧтениеСообщения.ЗакончитьЧтение();

КонецПроцедуры

&НаСервере

Функция ЗарегистрироватьВыгрузку()

    

ЗаписьХМЛ = новый ЗаписьXML;

//ЗаписьХМЛ.ОткрытьФайл(ЗаписьХМЛ);

ЗаписьХМЛ.УстановитьСтроку();

ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();

Узел = ПланыОбмена.МобильныйОбмен.НайтиПоКоду(«ЦБ»);

ЗаписьСообщения.НачатьЗапись(ЗаписьХМЛ, Узел);

ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(Узел, ЗаписьСообщения.НомерСообщения);

Пока ВыборкаИзменений.Следующий() Цикл

    ОбъектОбмена = ВыборкаИзменений.Получить();

    ЗаписатьXML(ЗаписьХМЛ, ОбъектОбмена);

КонецЦикла;

ЗаписьСообщения.ЗакончитьЗапись();

Возврат ЗаписьХМЛ.Закрыть();

КонецФункции

  

butterbean

2 — 05.07.18 — 08:25

Пожалуйста, а в чем конкретно проблема-то?

  

Не кассир

3 — 05.07.18 — 08:26

(1) И?

  

solbadguy

4 — 05.07.18 — 08:26

{ОбщаяКоманда.ВыполнитьСинхронизациюСБД.МодульКоманды(61)}: Ошибка при вызове метода контекста (НачатьЗапись): Недопустимое значение параметра (параметр номер ‘2’)

  

Не кассир

5 — 05.07.18 — 08:27

(4) Какие буквы не понятны?

  

solbadguy

6 — 05.07.18 — 08:27

Узел = ПланыОбмена.МобильныйОбмен.НайтиПоКоду(«ЦБ»);

ЗаписьСообщения.НачатьЗапись(ЗаписьХМЛ, Узел);

вот этот кусок неправильный. Ещё заметил что в обратную сторону обмен тож идёт, однако работает только со справочниками у которых стандартные реквизиты.  Алсо создаёт автоматом код ЦБ0001, ЦБ0002, …

  

Не кассир

7 — 05.07.18 — 08:29

(6) И?

  

solbadguy

8 — 05.07.18 — 08:29

Пробовал добавил ещё 1 переменную, найти покоду МУ (мобильноеустройство) и в плане обмена 2 кода прописать. Не работает вообщем.   Признаюсь делал не сам — стоит задача, цепляю из сети. Однако с десяток примеров уже разобрал, каждый раз доходит до этой ошибки — дальше не могу сдвинуться.

Вот нервы сдали — зарегистрировался.

  

Не кассир

9 — 05.07.18 — 08:30

(8) Поздравить с регистрацией?

  

butterbean

10 — 05.07.18 — 08:31

(8) отладчиком пользоваться умеешь? посмотри что у тебя во втором параметре (Узел). Скорее всего там ничего, т.к. по коду ничего не найдено

  

Не кассир

11 — 05.07.18 — 08:31

(10) зачем интригу ломаешь?

  

solbadguy

12 — 05.07.18 — 08:37

(10) Точно — пусто. А как бы так назначить параметр если код автоматически ставится ЦБ0000001, ЦБ0000002 (точный регистр сейчас указал, не повторение)

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

  

solbadguy

13 — 05.07.18 — 08:38

т.е как я понимаю он берёт моё «ЦБ» и добавляет н-ное кол-ви нулей, но понимания это не особо даёт

  

Не кассир

14 — 05.07.18 — 08:38

(12) Ты перечитай, что написал. И учись четко формулировать.

  

solbadguy

15 — 05.07.18 — 08:48

не догоняю, ну никак. Посоветуйте где почитать хотя бы если вам всё ясно

  

Не кассир

16 — 05.07.18 — 08:49

(15) Читай где угодно, разницы нет. А вот , что ты хочешь почитать?

  

1Сергей

17 — 05.07.18 — 08:59

Смотри планы обмена

  

solbadguy

18 — 06.07.18 — 04:24

разобрался, кнопка на платформе-сервере с этим кодом и не должна работать. Другой вопрос, существует ли похожая процедура — «При открытии мобильного клиента» ?

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

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

  

Не кассир

19 — 06.07.18 — 05:47

(18) Можно попробовать еще поучиться прежде чем писать.

  

solbadguy

20 — 06.07.18 — 06:23

(19) Спасибо Кэп!  

А если серьёзно, неужели никто не сталкивался?

О нюансах работы в 1С с ЗначениеВРеквизитФормы и ошибке Недопустимое значение параметра (параметр номер ‘2’).

ЗначениеВРеквизитФормы выполняется на сервере. Разработчики платформы автоматизировали процесс передачи данных на клиент — вручную на клиенте присваивать значение полю не нужно.

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

Если что-то не так — получите ошибку Недопустимое значение параметра (параметр номер ‘2’).

Чтобы исправить ошибку «Недопустимое значение параметра (параметр номер ‘2’)» нужно проверить:

1. Тип данных реквизита на форме должен совпадать с типом данных который хотите присвоить реквизиту (ДеревоЗначений, ТаблицаЗначений).

Формирование ДеревоЗначений:

Запрос.Выполнить.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам)

Формирование ТаблицаЗначений:

Запрос.Выполнить.Выгрузить()

2. Количество и имена колонок в результате запроса должны совпадать с количеством и именами в табличном поле на форме.

3. Имя реквизита на форме должно совпадать с именем указанном в методе ЗначениеВРеквизитФормы и иметь тип Строка. Рекомендую копировать текст и вставлять в места где он должен совпадать.

Если ошибка сохраняется — перепроверьте все пункты в отладчике.

Чтобы научиться работать с методом ЗначениеВРеквизитФормы нужен определенный опыт. Со временем вы обязательно научитесь пользоваться им без ошибок.

Здравствуйте!
1С:Предприятие 8.3 (8.3.15.1656)Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.73.38)
Заполняла зарплатный проект и лицевые счета сотрудников. После этого перестал открываться один сотрудник с ошибкой Недопустимое значение параметр № 2. Тех поддержка с официального сайта просит прислать информационную базу. Директор категорически против. Как исправить эту ошибку?

г. Московская область6 221 балл

Сложно удалённо диагностировать
1) Сравните данные с другим сотрудником (например с помощью универсального отчёта).
чем введённые данные по этому сотруднику отличаются о других ?
2) Попробуйте посмотреть журнал регистрации 1С — может так есть расширенная подсказка
3) Пригласите программиста очно

Заполнить и подать уведомление об исчисленных суммах налогов и взносов

Цитата (ОльгаVl):1С:Предприятие 8.3 (8.3.15.1656)

Попробуйте запустить программу под предыдущей платформой.

Kamushek, спасибо, как это сделать?

В окне выбора базы выбираете базу.
Далее нажимаете кнопку «Изменить» и «Далее».
В строке версия 1С Предприятие указываете номер версии платформы которой хотите открыть базу. По умолчанию там должно стоять «8.3», что означает последняя установленная версия платформы.

Заполняйте платежки с актуальными на сегодня КБК, кодами дохода и другими обязательными реквизитами

В окне запуска явно прописать предыдущий ехе-ник.
Установленные ехе-ники можно посмотреть в Панели управления — Программы и компоненты — какие у вас есть?

Kamushek,

Kamushek, я прописала в окне запуска предыдущую версию, попробовала даже не одну. Ничего не помогло. Удалила и создала заново базу в окне запуска. Эффекта тоже ноль.
Далее запустила отладчик в конфигураторе, попробовала снова открыть сотрудника и появилась вот такая развернутая ошибка

Помогите пожалуйста заставить работать документ «Приходная накладная» с подхватом цен из регистра сведений «ЦеныТоваровВПрайсеПоставщика». Ссылка на базу: Буду невероятно благодарен тем, кто поможет исправить ошибку. Уже несколько дней парюсь с этим документом, вечно что-то не так, а сдавать уже совсем скоро. help *crying*.

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

{ОбщийМодуль.РаботаСоСправочниками.Модуль}: Ошибка при вызове метода контекста (ПолучитьПоследнее)          ЗначенияРесурсов = РегистрыСведений.ЦеныТоваровВПрайсеПоставщика.ПолучитьПоследнее(АктуальнаяДата, Отбор); по причине: Недопустимое значение параметра (параметр номер ‘2’) Недопустимое значение параметра (параметр номер ‘2’)

а теперь покажи как отбор формируется

делаю этот КП под руководством преподавателя, она говорит такая ошибка у многих и сама не знает как ее решить так что на вас вся надежда ;)

что такое ЭлементПрайсыПоставщиков?

и структуру регистра сведений покажи

Вангую. Или измерение не «Цена» называется, или оно там не одно.

Точно там измерения «Цена» нет, судя по возвращаемому значению функции.

это справочник, из которого я выбираю товар, а к нему, из регистра сведений должна подставляться цена. это все происходит в документе «приходная накладная» и еще сумма должна считаться. структура регистра ЦеныТоваровВПрайсеПоставщика:

Тогда нафига отбор по цене делать пытаетесь? Синтаксис-помощник кто-то там у вас читать умеет?

исправил на «Товар», запускаю конфигурацию, документ, выбираю товар, и на моменте когда по сути должна подставляться цена из регистра вылетает ошибка «Ошибка отображения типов: Отсутствует отображение для типа ‘ДанныеФормыЭлементКоллекции’ Если подробно, то: {Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (РассчитатьСумму)     РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти); по причине: Ошибка при вызове серверного метода. по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства ‘param’:     форма: Элемент     имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа ‘ДанныеФормыЭлементКоллекции’

покажи модуль РаботаСДокументами.РассчитатьСумму

ссылку кинул авторизованную. Вы хоть немного отражайте, что кидаете :) Требуется разрешение Хотите просмотреть файл? Свяжитесь с его владельцем или войдите в аккаунт с правом доступа. Подробнее… А оно мне надо? :)

Попробуй понять, Что есть сервер, и что есть Клиент :) Какие данные можно передать на сервер и Клиенту. Запусти отладчик, он вам подскажет :)

Да ТС не понимает, почему нельзя просто так работать с реквизитами формы на сервере :)

в том то и дело, надо ж подсказать ))

мы тут уже учительницу нагнули я так понял ))

Всё, спасибо всем, особенно ЧеловекуДуши и GROOVY. Да, причина была в том что «цена» вместо «товар» и общий модуль «РаботаСДокументами» стоял на сервере. Храни вас 1c:бог :)

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Доброе время суток всем ! Проблема в следующем. Из 1С 7.7 по ОЛЕ подключаюсь в 1С 8.2 где хочу выполнить код из общего модуля (запрос) и вернуть выборку в 1С 7.7 Сделал такое при подключении из 1С 7.7 в 1С 8.2  Бухгалтерия предприятия, редакция 2.0 (2.0.37.14) — все работает отлично. Запрос выполнялся и в 1С 7.7 возвращалась выборка с которой далее работал. У пользователя ОЛЕ в 1С 8.2 в БП 2.0 ставил в правах «Полные права» «Дополнительное право внешнего подключения (соединения)» Возникла необходимость подключиться из 1С 7.7 в 1С 8.2 Управление торговлей, редакция 11.0 (11.0.9.12) но база ФАЙЛОВАЯ. В серверном варианте базу использовать нельзя — нет лицензий на MS SQL нужной версии. У пользователя ОЛЕ в 1С 8.2 поставил в правах «Администратор системы» «Полные права» Подключение из 1С 7.7 в 8.2 в УТ 11 происходит. Но при попытке выполнить запрос получаю сообщение Подключение к базе 8.2 установлено … Выборка = БазаБух.АСУП_ОЛЕ.ВернутьВыборку(ТекстЗапроса); 1C:Enterprise 8.2.16.352: Ошибка при вызове серверного метода. Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. Ошибка преобразования данных XDTO: Запись значения свойства ‘ret’: имя: { Ошибка отображения типов: Отсутствует отображение для типа ‘ВыборкаИзРезультатаЗапроса’ Вопрос — можно ли как-то при использовании файловой базы 1С 8.2 подключится к ней по OLE из 1С 7.7, выполнить по OLE запрос и вернуть выборку (на серверной базе это отлично получается) ? Поиск в Гугле ничего не дал.

почему же на серверной базе все работает ?

Потому что бухгалтерия 2.0 — обычное приложение, а Ут 11 — управляемое с четким разделением клиента и сервера.

я на сервере получаю а ВыборкаИзРезультатаЗапроса доступна же <Сервер, толстый клиент, внешнее соединение (то есть OLE)>

УТ11 работает под тонким клиентом. Выборка на клиенте не может существовать.

уверен ? директива запуска какая у твоей функции ?

Тебе надо вернуть данные в 7.7 с клиента.

ну да. не пойму — в чем проблема ? ВыборкаИзРезультатаЗапроса доступна же и в клиенте OLE и в 1С 7.7

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more…

closed

Исправлена ошибка обработки исключения в серверном выполнении алгоритма при наличии недопустимых символов XML в значениях параметров


Description

При этом также портились значения параметров

Текст XML содержит недопустимый символ в позиции 24 :
{"S","PP5050500m12""!m21m32""!m4@{""S"",""{""""S"""",""""0005""""}""}    2    0"}
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(1021)}:        КонтекстВыполнения.ВыполнитьАлгоритм(ТекстДляВыполнения, СтруктураПараметров);
{ИнструментыРазработчикаTormozit Обработка.ирКонсольКода.Форма.Форма.Форма(460)}:            ирОбщий.ВыполнитьАлгоритмВКонтекстеЛкс(ТекстДляВыполнения, СтруктураПараметров, КонтекстВыполнения = "Сервер" Или КонтекстВыполнения = "Фоновый", РежимВнешнейОбработки,
{(1)}:КонтекстВыполнения.ВыполнитьЛокально(ТекстДляВыполнения, ЛиСинтаксическийКонтроль)
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(4758)}:        ИнформацияОбОшибке = Вычислить("КонтекстВыполнения." + МетодВыполнения + "(ТекстДляВыполнения, ЛиСинтаксическийКонтроль)");
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.МодульОбъекта(2115)}:        мПлатформа.ВыполнитьПрограммныйКодВКонтексте(КонтекстВыполнения, МетодВыполнения, ТекстДляВыполнения);
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.МодульОбъекта(873)}:            ВыполнитьПрограммныйКод();
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.МодульОбъекта(816)}:    Результат = ВыполнитьКоманду(Команда);
{ИнструментыРазработчикаTormozit Обработка.ирКонсольКода.Форма.Форма.Форма(95)}:    РезультатНажатия = ПолеВстроенногоЯзыка.Нажатие(Кнопка);

по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
    форма: Элемент
    имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка при записи XDTO
по причине:
Текст XML содержит недопустимый символ в позиции 24 :
{"S","PP5050500m12""!m21m32""!m4@{""S"",""{""""S"""",""""0005""""}""}    2    0"}


Files

  • Category set to Консоль кода
  • Subject changed from При наличии недопустимых символов XML в клиент-серверном вызове возникает ошибка и значения параметров портятся to Исправлена ошибка обработки исключения в серверном выполнении алгоритма при наличии недопустимых символов XML в значениях параметров
  • Description updated (diff)
  • Status changed from New to Closed
  • Sprint/Milestone changed from Разработка to 5.74

Also available in: Atom
PDF

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове операции сервиса
  • Ошибка при вызове обработчика события
  • Ошибка при вызове не указан указанный модуль
  • Ошибка при вызове метода объекта компоненты
  • Ошибка при вызове метода обновитьиндекс