Имя: Пароль:
1C
 
Получить значение колонки таблицы значений.
0 progaoff
 
16.05.19
18:10
Добрый день, такой вопрос, загружаю данные из Excel, помещаю в ТЗ, как получить значение колонки таблицы значений ? За ранее спасибо за помощь.
1 Галахад
 
гуру
16.05.19
18:12
Для каждого стр из ТЗ Цикл
Сообщить(Стр[ИмяКолонки]);
КонецЦикла;
2 progaoff
 
17.05.19
13:49
ТЗ = ИзExcelВТаблицу(Путь,1,Истина);        
    Если ТЗ = Неопределено тогда
           Возврат;
    КонецЕсли;    
    
    КодыПоставщика = Новый СписокЗначений;
    КодыПоставщика.ЗагрузитьЗначения(ТЗ.ВыгрузитьКолонку("Артикул"));
    Запрос = Новый Запрос;
    Запрос.Текст =  "ВЫБРАТЬ
                    |    КодыПоставщиков.Владелец.Ссылка КАК Товар
                    |ИЗ
                    |    Справочник.КодыПоставщиков КАК КодыПоставщиков
                    |ГДЕ
                    |    КодыПоставщиков.КодТовара В(&КодыПоставщика)";
    Запрос.УстановитьПараметр("КодыПоставщика",КодыПоставщика);
    ВыборкаТовара = Запрос.Выполнить().Выбрать();
    Поступление = Документы.ПриходнаяНакладная.СоздатьДокумент();
    Поступление.Дата        = ДатаПоступления;
    Поступление.Контрагент = Контрагент;
    Поступление.Склад      = Склад;
    Поступление.Фирма      = Справочники.Фирмы.НайтиПоНаименованию("");
    Для Каждого стр из ТЗ Цикл
    Пока ВыборкаТовара.Следующий() Цикл
          ВыборкаСтрок = Поступление.Товары.Добавить();
        ВыборкаСтрок.Номенклатура = ВыборкаТовара.Товар;
        ВыборкаСтрок.Количество      = стр["Количество"];
        ВыборкаСтрок.Коэффициент  = 1;
        
        
    КонецЦикла;    
    КонецЦикла;
    Поступление.Записать();
В таком виде ставит количество из первой строки. Смысл в том, найденные данные из запроса, залить в поступление а количество и прочее из ТЗ.
3 progaoff
 
17.05.19
14:02
Чет в голову ничего не приходит...(
4 Kondarat
 
17.05.19
14:15
(3) Видимо надо как-то сопоставить строки ТЗ с элементами выборки
5 Chameleon1980
 
17.05.19
14:18
Открой для себя метод НайтиСтроки
6 Chameleon1980
 
17.05.19
14:19
ТаблицаЗначений.НайтиСтроки (ValueTable.FindRows)
ТаблицаЗначений (ValueTable)
НайтиСтроки (FindRows)
Синтаксис:

НайтиСтроки(<ПараметрыОтбора>)
Параметры:

<ПараметрыОтбора> (обязательный)

Тип: Структура.
Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение.
Возвращаемое значение:

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

Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска.
Если в таблице значений добавлены индексы, подбор индекса для поиска осуществляется по точному соответствию состава колонок в индексе и в параметрах поиска, порядок следования колонок значения не имеет.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

Метод эффективно использовать для выборки неуникальных значений.
Пример:

// СписокРаботников - реквизит формы для представления информации

// о работниках (тип ТаблицаЗначений).

// В форме расположено табличное поле СписокРаботников, в котором

// показываются данные СписокРаботников.

// С помощью запроса выбирается информация о работниках.

Запрос = Новый Запрос;
ТекстЗапроса =
    "ВЫБРАТЬ
    // текст запроса
    // ...
    ";
Запрос.Текст = ТекстЗапроса;
СписокРаботников = Запрос.Выполнить().Выгрузить();
Отбор = Новый Структура();
Отбор.Вставить("ФизЛицо",Справочники.ФизическиеЛица.ПустаяСсылка());
Строки = СписокРаботников.НайтиСтроки(Отбор);
Если Строки.Количество() > 0 Тогда
    ЭлементыФормы.СписокРаботников.ТекущаяСтрока = Строки[0];
КонецЕсли;


--------------------------------------------------------------------------------

     Методическая информация
7 Chameleon1980
 
17.05.19
14:20
перечитал 0 - хрень
8 progaoff
 
17.05.19
14:49
(4) Ага
9 Chameleon1980
 
17.05.19
14:54
мы не знаем что у тебя в тз
10 progaoff
 
17.05.19
14:58
(9) в ТЗ выборка из экселя, накладная, количество, цена, сумма, код поставщика который я в список значений помещаю и передаю в запрос. По этому коду ищется товар в базе
11 Chameleon1980
 
17.05.19
15:03
ну так сделай типизированную тз из ексель
ее в вт (временная таблица) в запрос.
к ней или ее к справочнику КодыПоставщиков
и весь результат в тч (табличную часть) документа
12 Chameleon1980
 
17.05.19
15:05
если у тебя просто найти элементы
может проще в цикле
Справочники.КодыПоставщиков.НайтиПоКоду(стр.Код)
13 progaoff
 
17.05.19
15:08
(12) Да просто.
14 progaoff
 
17.05.19
15:18
(12) Все гениальное просто. Спасибо