|
Найти строку в тз по ряду параметров. | ☑ | ||
---|---|---|---|---|
0
Adecvator
26.03.14
✎
14:58
|
В 1С++ была замечательная тз, в которой можно было производить поиск по ряду параметров, т.е. не только НайтиПоНаименование. В 8-ке это можно только через запрос?
|
|||
1
Maxus43
26.03.14
✎
14:59
|
через запрос, или в коде при обходе ТЗ построчно
|
|||
2
elCust
26.03.14
✎
15:00
|
(0) НайтиСтроки(). Поиск по ряду параметров.
|
|||
3
Heckfy
26.03.14
✎
15:02
|
ПОДОБНО %ТвояСтрока%
Найти НайтиСтроки Тебе в помощь. |
|||
4
Maxus43
26.03.14
✎
15:02
|
а, я думал что именно типа "Строка" в колонке и по нему искать, мол начинается на "х" кончается на "й"...
А так конечно (2), по разным колонкам, структура отбора |
|||
5
Мимохожий Однако
26.03.14
✎
15:02
|
ТаблицаЗначений (ValueTable)
НайтиСтроки (FindRows) Синтаксис: НайтиСтроки(<ПараметрыОтбора>) Параметры: <ПараметрыОтбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. Возвращаемое значение: Тип: Массив. Массив строк таблицы значений, соответствующих условиям поиска. Замечание! Массив хранит ссылки на строки таблицы значений, то есть при изменении строки в таблице, значение в массиве тоже будет измененным. Описание: Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Метод эффективно использовать для выборки неуникальных значений. Пример: // СписокРаботников - реквизит формы для представления информации // о работниках (тип ТаблицаЗначений). // В форме расположено табличное поле СписокРаботников, в котором // показываются данные СписокРаботников. // С помощью запроса выбирается информация о работниках. Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ // текст запроса // ... "; Запрос.Текст = ТекстЗапроса; СписокРаботников = Запрос.Выполнить().Выгрузить(); Отбор = Новый Структура(); Отбор.Вставить("ФизЛицо",Справочники.ФизическиеЛица.ПустаяСсылка()); Строки = СписокРаботников.НайтиСтроки(Отбор); Если Строки.Количество() > 0 Тогда ЭлементыФормы.СписокРаботников.ТекущаяСтрока = Строки[0]; КонецЕсли; -------------------------------------------------------------------------------- Методическая информация |
|||
6
Serginio1
26.03.14
✎
15:24
|
||||
7
МихаилМ
26.03.14
✎
15:33
|
если тз типизированна 1 типом
то построитель запроса умеет фильтровать правда есть неприятное ограничение: запрос возвращает тз типизированную 2 типами тип поля+ NULL |
|||
8
Adecvator
26.03.14
✎
18:49
|
Сделал через Найти строки:
Для Каждого СтрТаб из тзРегВалюта Цикл //Сообщить(СтрТаб.Субконто1); ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("БухСчет", СтрТаб.Счет); ПараметрыОтбора.Вставить("Субконто1", СтрТаб.Субконто1); ПараметрыОтбора.Вставить("Субконто2", СтрТаб.Субконто2); ПараметрыОтбора.Вставить("Субконто3", СтрТаб.Субконто3); НайденныеСтроки = ТаблицаДвижений.НайтиСтроки(ПараметрыОтбора); КоличествоЭлементов = НайденныеСтроки.Количество(); Если КоличествоЭлементов > 0 Тогда НайденныеСтрТаб = НайденныеСтроки[0]; НайденныеСтрТаб.СуммаДт = НайденныеСтрТаб.СуммаДт + СтрТаб.СуммаОстатокДт; НайденныеСтрТаб.СуммаКт = НайденныеСтрТаб.СуммаКт + СтрТаб.СуммаОстатокКт; КонецЕсли; КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |