Имя: Пароль:
1C
 
Не работает подбор на тонком клиенте
0 Tolstiy Beremenniy
 
15.09.18
11:03
На толстом клиенте здесь выбранное значение в форме подбора

ВыбранноеЗначение.ОсновноеСредство

На тонком ошибка, поле не обнаружено. Почему так? Как сделать что бы работало на тонком клиенте?





&НаКлиенте
Процедура ЗемельныеУчасткиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    ТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(ВыбранноеЗначение.ОсновноеСредство);
1 Cyberhawk
 
15.09.18
11:21
На сервер уходить надо
2 Tolstiy Beremenniy
 
15.09.18
11:36
(1) Сделал так,

&НаСервере
Функция ПолучитьОСНаСервере(ВыбранноеЗначение)
    Возврат ВыбранноеЗначение.ОсновноеСредство;
КонецФункции


Но сейчас пишет, -

{Документ.ИзменениеПараметровЗемельногоУчастка.Форма.ФормаДокумента.Форма(43)}: Ошибка при вызове метода контекста (ПолучитьПоляДляЗаполненияТчДокумента)
    ТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(ОС);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'



Как там это обойти?
3 Tolstiy Beremenniy
 
15.09.18
11:38
Структуру передавать на сервере?
4 hhhh
 
15.09.18
11:40
(3) что такое ОС?
5 Cyberhawk
 
15.09.18
11:41
ТЗ нельзя. Преобразовывай в массив структур и обратно
6 Tolstiy Beremenniy
 
15.09.18
11:42
(4)

    ОС    = ПолучитьОСНаСервере(ВыбранноеЗначение);
    ТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(ОС);

Хочу получить основное средство на сервере, что бы передать его в запрос параметром
7 Tolstiy Beremenniy
 
15.09.18
11:44
(5) можете по коду подсказать?
8 hhhh
 
15.09.18
11:53
(7) ТзВТЧ делаешь реквизит формы типа таблицы значений

тогда будет типа

ПолучитьПоляДляЗаполненияТчДокумента(ОС);

а тз пишешь внутри процедуры
9 Tolstiy Beremenniy
 
15.09.18
12:11
не получается

    Структ = Новый Структура;
    Структ.Вставить("РЕГЗапись", ВыбранноеЗначение);
    Масс   = Новый Массив;
    Масс.Добавить(Структ);
    //
    МасОС    = ПолучитьОСНаСервере(Масс);
    ТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(МасОС[0].ОС);


&НаСервере
Функция ПолучитьОСНаСервере(Масс)
    Структ = Новый Структура;
    Структ.Вставить("ОС", Масс[0].РЕГЗапись.ОсновноеСредство);
    Масс   = Новый Массив;
    Масс.Добавить(Структ);
    Возврат Масс;
КонецФункции
10 Tolstiy Beremenniy
 
15.09.18
12:17
{Документ.ИзменениеПараметровЗемельногоУчастка.Форма.ФормаДокумента.Форма(49)}: Ошибка при вызове метода контекста (ПолучитьПоляДляЗаполненияТчДокумента)
    ТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(МасОС[0].ОС);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
11 Cyberhawk
 
15.09.18
12:34
(7) Вряд ли
12 Darych
 
15.09.18
12:47
(10) в (2) и (9) те же шары только утоптанные в структуру и массив.
13 Tolstiy Beremenniy
 
15.09.18
12:51
на сервер передал

    Структ = Новый Структура;
    Структ.Вставить("РЕГЗапись", ВыбранноеЗначение);
    Масс   = Новый Массив;
    Масс.Добавить(Структ);
    ////
    //МасОС    = ПолучитьОСНаСервере(Масс);
    //ТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(МасОС[0].ОС);
    МассТзВТч = ПолучитьПоляДляЗаполненияТчДокумента(Масс);


как вернуть Тз с сервера?


&НаСервере
Функция ПолучитьПоляДляЗаполненияТчДокумента(ОбъектЭксплуатации)
    Запрос       = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
        |    РегистрацияЗемельныхУчастков.ОсновноеСредство                                           КАК ОсновноеСредство,
        |    РегистрацияЗемельныхУчастков.КБК                                                        КАК КБК,
        |    РегистрацияЗемельныхУчастков.КодКатегорииЗемель                                         КАК КодКатегорииЗемель,
        |    РегистрацияЗемельныхУчастков.НалоговаяСтавка                                            КАК НалоговаяСтавка,
        |    РегистрацияЗемельныхУчастков.НалоговаяЛьготаПоНалоговойБазе                             КАК НалоговаяЛьготаПоНалоговойБазе,
        |    РегистрацияЗемельныхУчастков.КадастроваяСтоимость                                       КАК КадастроваяСтоимость,
        //
        |    РегистрацияЗемельныхУчастков.ВключатьВНалоговуюБазу                                     КАК ВключатьВНалоговуюБазу,
        |    РегистрацияЗемельныхУчастков.ДатаНачалаПроектирования                                     КАК ДатаНачалаПроектирования,
        |    РегистрацияЗемельныхУчастков.ДатаРегистрацииПравНаОбъектНедвижимости                     КАК ДатаРегистрацииПравНаОбъектНедвижимости,
        |    РегистрацияЗемельныхУчастков.ДоляВПравеОбщейСобственностиЗнаменатель                     КАК ДоляВПравеОбщейСобственностиЗнаменатель,
        |    РегистрацияЗемельныхУчастков.ДоляВПравеОбщейСобственностиЧислитель                         КАК ДоляВПравеОбщейСобственностиЧислитель,
        |    РегистрацияЗемельныхУчастков.ДоляНеОблагаемойНалогомПлощадиЗнаменатель                     КАК ДоляНеОблагаемойНалогомПлощадиЗнаменатель,
        |    РегистрацияЗемельныхУчастков.ДоляНеОблагаемойНалогомПлощадиЧислитель                     КАК ДоляНеОблагаемойНалогомПлощадиЧислитель,
        |    РегистрацияЗемельныхУчастков.ЖилищноеСтроительство                                         КАК ЖилищноеСтроительство,                      
        |    РегистрацияЗемельныхУчастков.КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395 КАК КодНалоговойЛьготыОсвобождениеОтНалогообложенияПоСтатье395,
        |    РегистрацияЗемельныхУчастков.КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391       КАК КодНалоговойЛьготыУменьшениеНалоговойБазыПоСтатье391,
        |    РегистрацияЗемельныхУчастков.КодПоОКАТО                                                 КАК КодПоОКАТО,
        |    РегистрацияЗемельныхУчастков.КодПоОКТМО                                                 КАК КодПоОКТМО,
        |    РегистрацияЗемельныхУчастков.Комментарий                                                 КАК Комментарий,
        |    РегистрацияЗемельныхУчастков.НалоговыйОрган                                             КАК НалоговыйОрган,
        |    РегистрацияЗемельныхУчастков.НеОблагаемаяНалогомСумма                                     КАК НеОблагаемаяНалогомСумма,
        |    РегистрацияЗемельныхУчастков.ОбщаяСобственность                                         КАК ОбщаяСобственность,
        |    РегистрацияЗемельныхУчастков.ПостановкаНаУчетВНалоговомОргане                             КАК ПостановкаНаУчетВНалоговомОргане,
        |    РегистрацияЗемельныхУчастков.ПроцентУменьшенияСуммыНалога                                 КАК ПроцентУменьшенияСуммыНалога,
        |    РегистрацияЗемельныхУчастков.СниженнаяНалоговаяСтавка                                     КАК СниженнаяНалоговаяСтавка,
        |    РегистрацияЗемельныхУчастков.СуммаУменьшенияСуммыНалога                                 КАК СуммаУменьшенияСуммыНалога,
        |    РегистрацияЗемельныхУчастков.УменьшениеНалоговойБазыНаСумму                             КАК УменьшениеНалоговойБазыНаСумму,
        |    РегистрацияЗемельныхУчастков.УменьшениеНалоговойБазыПоСтатье391                         КАК УменьшениеНалоговойБазыПоСтатье391
        |
        |ИЗ
        |    РегистрСведений.РегистрацияЗемельныхУчастков КАК РегистрацияЗемельныхУчастков
        |ГДЕ
        |    РегистрацияЗемельныхУчастков.ОсновноеСредство = &ОбъектЭксплуатации
        |    И РегистрацияЗемельныхУчастков.ВидЗаписи = ЗНАЧЕНИЕ(Перечисление.ВидЗаписиОРегистрации.Регистрация)";
    Запрос.УстановитьПараметр("ОбъектЭксплуатации", ОбъектЭксплуатации[0].РЕГЗапись.ОсновноеСредство);
    ТзВТч = Запрос.Выполнить().Выгрузить();
    //
    Структ = Новый Структура;
    Структ.Вставить("ТзВТч", ТзВТч);
    Масс   = Новый Массив;
    Масс.Добавить(Структ);
    //
    Возврат Масс;
КонецФункции
14 Tolstiy Beremenniy
 
15.09.18
12:54
(12) ну и как делать?
15 Tolstiy Beremenniy
 
15.09.18
12:56
(12) Так написано так же делать,б почему не работает?
16 Darych
 
15.09.18
12:58
(13) Запрос.Выполнить().Выгрузить() - в топку
обходи запрос, заполняй структуру полями записи (это будет строка тз), структуру в массив.

Либо ТзВТч реквизитом формы с названиями столбцов как в запросе поля. И потом значениевреквизитформы()
17 Tolstiy Beremenniy
 
15.09.18
12:59
(16) Лучше структуру, полями записи.
18 hhhh
 
15.09.18
14:34
(16) если ТзВТч - реквизит формы типа ТЗ с названиями столбцов как в запросе поля, то можно еще

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