Имя: Пароль:
1C
1С v8
правильное написание значение формы в значение
Ø (Pro-tone 13.04.2016 10:45)
0 desaint08
 
13.04.16
09:27
доброе утро,мне нужна помощь,просьба какахами на голову не сыпать,я только учусь 1с и у меня есть вопрос,по поводу решения проблемки, у меня 1с 8.2 обычная форма ,я делаю так чтоб пользователь в таб части вводит номер и на основании его происходит запрос,запрос сделал в модуле обьекта,как мне передать значениевведенное пользователем,в параметр запроса,я думал что мне нужно сделать вот так Инвномер=ДанныеФормыВЗначение("инвентарныйномер",ЭлементыФормы.Перемещение.Колонки.ИнвентарныйНомер.Данные);а потом инвномер передавать в запрос,но я неправильно это написл как сделать верно?
1 FIXXXL
 
13.04.16
09:35
приложение обычное?
тогда Функция в модуле обьекта должна выглядеть типа:

Функция ПоискПоНомеру(НомерДляПоиска) ЭКСПОРТ

Запрос = .....;

Возврат Результат;

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

в процедуре формы просто обращаешься к функции поиска:
Процедура ПриИзмененииНомера()

результатПоиска = ПоискПоНомеру(НомерИзТабЧасти)

КонецПроцедуры
2 desaint08
 
13.04.16
09:41
а если у меня результат это несколько колонок,и я должен их выгружать чтоб потом из модуля формы мог к ним обратиться?
Запрос.УстановитьПараметр("номер", номер);

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

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
          
        
    КонецЦикла;

    
          Возврат  ВыборкаДетальныеЗаписи;    
это правильНо?
3 desaint08
 
13.04.16
09:43
я в цикле ничего не делаю его наверно можно убрать? чтоб вот так было?
Запрос.УстановитьПараметр("номер", номер);

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

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    

    
          Возврат  ВыборкаДетальныеЗаписи;
4 Pro-tone
 
13.04.16
09:43
(0) у меня 1с 8.2 обычная форма

а ДанныеФормыВЗначение для необычной формы-то как раз
5 desaint08
 
13.04.16
09:49
а как быть тогда с обычной?
6 FIXXXL
 
13.04.16
10:01
(5) смотри (1)
Результат = Запрос.Выполнить().Выгрузить(); - ты получил таблицу значений
с ней ВыборкаДетальныеЗаписи = Результат.Выбрать(); так не работают

получай свой результат в процедуре на форме, как написано выше, а там уж выбирай чего надо из Результата и пиши куда надо

в общем отладчик тебе поможет
7 AceVi
 
13.04.16
10:02
(0) Не так.
Тебе надо выгрузить твою колонку в массив и в запрос поместить массив именно. Выгрузка в массив это стандартная функция ВыгрузитьКолонку.
В запросе пишешь условие типа Номенклатура.ИнвНомер В (&ИнвНомера)
8 Pro-tone
 
13.04.16
10:02
(5) в обработчике "При изменении" в ячейке пишешь запрос,
данные ячейки строки табчасти - это ЭлементыФормы.Перемещение.ТекущиеДанные.ИнвентарныйНомер
9 Pro-tone
 
13.04.16
10:03
(7) ему надо данные строки, а не всю колонку выгружать как я понял
10 desaint08
 
13.04.16
10:36
да мне просто данные
11 desaint08
 
13.04.16
10:36
сделал вот вот номер=ЭлементыФормы.Перемещение.Колонки.ИнвентарныйНомер.ЭлементУправления.Значение
12 Pro-tone
 
13.04.16
10:39
номер=ЭлементыФормы.Перемещение.Колонки.ИнвентарныйНомер.ЭлементУправления.Значение
убери с глаз долой - не позорься!
вот

Номер=ЭлементыФормы.Перемещение.ТекущиеДанные.ИнвентарныйНомер
13 desaint08
 
13.04.16
10:40
хорошо,спасибо
14 desaint08
 
13.04.16
10:41
а где вообще про текущие данные ,текущий элемент почитать?
когда правильно и где применять.
15 Pro-tone
 
13.04.16
10:45
(14) в СП, Интерфейс(упр) - таблица формы