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


#0 by Vika_Vika
Изучаю восьмерку по книжке Радченко. Дошла до документа "НачисленияСотрудникам". Не понравилось, что надо его заполнять вручную, решила часть данных запихнуть в справочник Сотрудники. Затык случился, когда я решила сделать такую схему: в шапке задается ВидРасчета (варианты - оклад, премия, невыходы), а в зависимости от этого вида в качестве исходных данных должен в строке подставляться или извлеченный из справочника оклад (если вид расчета - оклад), или процент премии (если вид расчета - премия). И тут программа мне заявила, что она не в курсе, что такое ПланыВидовРасчета.ОсновныеНачисления.Оклад Все прочее нормально занеслось. Текст процедуры выглядел так: Я поразмыслила, пришла к выводу, что причина в том, что процедура выполняется на клиенте, а ПланыВидовРасчета.ОсновныеНачисления.Оклад принадлежит глобальному контексту, и решила это условие выкинуть в общий модуль, который будет выполняться на сервере. сделала такую процедуру в общем модуле Процедура ДанныеСотрудников(СтрокаТабличнойЧасти) Экспорт и вызвала ее из модуля формы вместо условия ПроведениеРасчетов.ДанныеСотрудников(СтрокаТабличнойЧасти); Тут у меня получилось такое сообщение -------------------- {Документ.НачисленияСотрудникам.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (ДанныеСотрудников)    ПроведениеРасчетов.ДанныеСотрудников(СтрокаТабличнойЧасти); по причине: Ошибка при вызове серверного метода. по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param':    форма: Элемент    имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции' ------------------------------ Насколько я поняла, значение СтрокаТабличноеЧасти у меня получилось какое-то некачественное, незапомненное, что ли. Но как сделать правильно, до меня не доходит. Перепробовала кучу вариантов, не получается ничего. Умные люди, посоветуйте, плиз, как выходить из такой ситуации.
#1 by lubja
а если сделать ДанныеСотрудников функцией, возвращающей истину, ложь или, вообще, неопределенно, если вид расчета и не оклад, и не премия. в эту функцию передавать не строку, а СтрокаТабличнойЧасти.ВидРасчета. а в процедуре ОсновныеНачисленияСотрудникПриИзменении обрабатывать.
#2 by Vika_Vika
Получилось! Спасибо.
#3 by Vika_Vika
Но все-таки интересно, почему вся строка передаваться не хочет.
#4 by lubja
скорее всего с клиента на сервер просто так не передашь строку тч, нужно слегка извратиться.
#5 by Vika_Vika
А как извратиться?
#6 by lubja
лучше дождаться завтрашнего дня и апнуть ветку, когда проснутся умы форума)
#7 by Axel2009
данныеформывзначение
#8 by lubja
+ а я сналету не скажу, лезть проверять нужно...
#9 by Vika_Vika
to Axel2009. объясните подробнее, пожалуйста. Я только учусь.
#10 by Axel2009
ищи в СП описание данной функции
#11 by Vika_Vika
Штука в том, что в другом документе эта самая строка тихо-мирно передавалась и все вычислялось. Вот ПриходнаяНакладная. В модуле формы: И в общем модуле: Разница только в том, что сейчас прежде чем обратиться в общий модуль, я ее пишу данные в строчку. Это такая определяющая вещь? Видимо, я чего-то не понимаю? Пожалуйста, кто-нибудь может объяснить?
#12 by Vika_Vika
Народ, откликнитесь, плиз!
#13 by lubja
сравни галочки в свойствах этих 2 общих модулей
#14 by Vika_Vika
Предложение хорошее, правильное. Дело, безусловно, именно в этом. Ситуация такая: Общий модуль, где вычисляется сумма, он помечен галочкой Клиент (управляемое пр-е). Но если поместить мою первую процедуру в него, получается та же ошибка, что и при работе в модуле формы. Он не знает что такое ПланыВидовРасчета. Поэтому она находится в модуле, помеченном Сервер, и соответственно дает ту ситуацию, которую я описала вначале. Вот такая зараза.
#15 by Hostess_of_Love
была у меня похожая проблема. выкрутилась изменив тип значения в свойствах реквизита
#16 by Vika_Vika
То есть эта фигня никак не решается? Можно только выкрутиться?
#17 by Hostess_of_Love
говорю же, тип значения в свойствах измени. на какой именно сказать не могу, экспериментируй. главное чтобы на другие механизмы не влеяло
#18 by Vika_Vika
В свойствах чего? Какого реквидита?
#19 by Hostess_of_Love
А вот этого я уже сказать не могу... Я меняла у реквизита формы, в который заносила данные с сервера. Вместо неопределенно поставила СправочникСсылка. Можешь попробовать поставить тип Строка
#20 by Vika_Vika
М-да. Надеялась, что кто-то сможет объяснить. lubja - спасибо. Остальным - не знаю, что сказать. Как-то иначе я представляла себе здешний форум.
#21 by acsent
Есть замечательная функция ПредопределенноеЗначение
#22 by Vika_Vika
Верю. И чем она замечательна?
#23 by Vika_Vika
Ее к моему вопросу можно применить? Если да, то как?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям