0
ktu78
29.08.15
✎
12:59
|
Добрый день, коллеги.
У меня задача - документ Расходная накладная, управляемая форма документа:
В форме документа есть ТаблицаЗначений.
При выборе ТМЦ в табличной части документа в таблице значений должны отобразиться партии, в котором есть это ТМЦ.
На клиенте в событии ПриИзменении колонки "ТМЦ" запускается функция ВыборПартийТМЦ, в которой запросом получаем данные с регистра накопления ТМЦ сведения о ТМЦ, партиях и цене партии (см. код)
Затем конструкцией Таблица = Запрос.Выполнить().Выгрузить();
выгружаю данные в таблицу и передаю на клиент. Вот весь код:
&НаКлиенте
Процедура ТМЦТМЦПриИзменении(Элемент)
ТабСтрока = Элементы.ТМЦ.ТекущиеДанные;
ТабСтрока.Цена = РасчетыОбщий.ПолучиЦену(ТабСтрока.ТМЦ, Объект.ВидЦены);
ТабСтрока.ЕдиницаИзмерения = ПолучиЕдиницуИзмерения(ТабСтрока.ТМЦ);
ТабСтрока.УчЦена = ПолучиУчЦену(ТабСтрока.ТМЦ);
// установка счета ТМЦ в зависимости от Вида ТМЦ (Справочник Вид ТМЦ)
ТабСтрока.СчетТМЦ = ПолучиСчетТМЦ(ТабСтрока.ТМЦ);
ТабСтрока.Сумма=ТабСтрока.Цена*ТабСтрока.Количество;
ТабСтрока.УчСумма=ТабСтрока.УчЦена*ТабСтрока.Количество;
Элементы.ТаблПартий.Вывод=ВыборПартийТМЦ(Объект.Дата,Объект.Склад,ТабСтрока.ТМЦ);
КонецПроцедуры
&НаСервере
Функция ВыборПартийТМЦ(ДатаСписания,Склад,ВыбраннаяТМЦ)
// запросом выбираем из спр. "Партии" партии с нашим складом и выбранным ТМЦ
Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ТМЦОстатки.ТМЦ,
| ТМЦОстатки.Партия,
| ТМЦОстатки.Партия.Дата КАК Дата,
| ТМЦОстатки.Партия.Цена КАК Цена,
| ТМЦОстатки.КоличествоОстаток КАК Количество
|ИЗ
| РегистрНакопления.ТМЦ.Остатки(
| &Дата,
| Склад = &Склад
| И ТМЦ = &ТМЦ) КАК ТМЦОстатки";
Запрос.УстановитьПараметр("Дата",ДатаСписания);
Запрос.УстановитьПараметр("Склад",Склад);
Запрос.УстановитьПараметр("ТМЦ",ВыбраннаяТМЦ);
Таблица = Запрос.Выполнить().Выгрузить();
Возврат Таблица;
КонецФункции
ПРи запуске 1С:Предприятие при добавлении ТМЦ в Расходной накладной выдается ошибка. Пожалуйста помогите, удачи Вам в Вашем деле!
{Документ.РасходнаяНакладная.Форма.ФормаДокумента.Форма(14)}: Ошибка при вызове метода контекста (ВыборПартийТМЦ)
Элементы.ТаблПартий.Вывод=ВыборПартийТМЦ(Объект.Дата,Объект.Склад,ТабСтрока.ТМЦ);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{'
|
|