(и еще 15 записям на сайте сопоставлена такая метка)
Другие метки пользователя ↓
1с 7.7 1с 8.2 oracle Призрак оперы абзаково ай-петри банное барбарис волейбол горло город че горькое гурзуф жизнь жисть зима инзер интересно ирина сурина йога калина каско крым машина морозы музыка мысли настроение ни о чем озера озеро круглое осаго осень отдых пранаяма работа сирень снег сон в руку сплав станция тургояк театр тургояк урал фильм адмирал фото чакры чубушник шерегеш юбг
1С 8.2. Отбор строк в Таблице Формы |
Дневник |
Заметка для себя:
Имею дело с формой документа. У Объекта (основного объекта д-та) добавлены два неосновных реквизита типа ТаблицаЗначений - ТЗ1 и ТЗ2. С ними, как с ТЗ, можно работать только на сервере.
Эти ТЗ перенесены на форму. На форме они уже "становятся" элементами типа ТаблицаФормы со своими св-ми, отличными от ТЗ. И тут с ними можно работать только на клиенте и работать, например, делать отбор строк.
Задача: в ТЗ2 на форме необходимо отображать только те записи, которые соответствуют текущей записи из ТЗ1 по каким-либо полям.
Для этого можно применить свойство ОтборСтрок для Таблицы Формы.
//---------------------------------------------------------------------------------------------------------------------------------
Описание из Синтаксис-Помошника:
Использование:
Чтение и запись.
Описание:
Тип: Неопределено; ФиксированнаяСтруктура.
Позволяет установить отбор по значению колонки.
В качестве ключа используется имя колонки, а в качестве значения - значение, по которому осуществляется отбор.
Чтобы снять отбор нужно присвоить свойству либо значение Неопределено, либо пустую ФиксированнаяСтруктура.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
//---------------------------------------------------------------------------------------------------------------------------------
Реализовала:
идем в событие "ПриАктивизацииСтроки" ТЗ1, лежащей на форме.
&НаКлиенте
Процедура ТЗ1ПриАктивизацииСтроки(Элемент)
ТекСтр = Элементы.ТЗ1.ТекущиеДанные;
Если ТекСтр <> Неопределено Тогда
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Поле1", ТекСтр.Поле1);
ПараметрыОтбора.Вставить("Поле2", ТекСтр.Поле2);
Элементы.ТЗ2.ОтборСтрок = Новый ФиксированнаяСтруктура(ПараметрыОтбора);
КонецЕсли;
КонецПроцедуры
Метки: 1с 8.2 |
1С 8.2. Запрос к Таблице значений |
Дневник |
Частенько получается так, что данные лежат в таблице значений, и надо, например, вытащить данные из нее по к-то условию. Для этого можно задействовать запрос. Делаем так (вставляю пример текста, чтоб было под рукой): //при запросе к ТЗ типы колонок ТЗ д.б. объявлены явно.
КЧ14_3 = Новый КвалификаторыЧисла(14,3);
КС190 = Новый КвалификаторыСтроки(190);
КС10 = Новый КвалификаторыСтроки(10);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС190 = Новый ОписаниеТипов(Массив, , КС190);
ОписаниеТиповС10 = Новый ОписаниеТипов(Массив, , КС10);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, КЧ14_3);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Группа", ОписаниеТиповС190);
ТЗ.Колонки.Добавить("Наименование", ОписаниеТиповС190);
ТЗ.Колонки.Добавить("Артикул", ОписаниеТиповС10);
ТЗ.Колонки.Добавить("Менеджер", ОписаниеТиповС10);
ТЗ.Колонки.Добавить("Колво", ОписаниеТиповЧ);
// 2. необходимо подключить Менеджер временных таблиц
// один запрос будет все же упоминаться 2 раза. Т.к. чтобы по результатам запроса можно было // потом пройти, надо сначала выбрать данные из ТЗ во временную таблицу, а потом уже из нее // сделать выборку-результат
Запрос = Новый Запрос();
МенеджерВТ = Новый МенеджерВременныхТаблиц();
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ
| врТаблицаДанных.Артикул,
| врТаблицаДанных.Наименование
|ПОМЕСТИТЬ Товары
|ИЗ
| &врТаблицаДанных КАК врТаблицаДанных
|ГДЕ
| врТаблицаДанных.Группа = &выбрГруппа";
Запрос.УстановитьПараметр("врТаблицаДанных", ТЗ);
Запрос.УстановитьПараметр("выбрГруппа", выбрГруппа);
Запрос.Выполнить();
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Артикул,
| Товары.Наименование,"+допСтр2+"
|ИЗ
| Товары КАК Товары";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НаименованиеТов = Выборка.Наименование; //... любая обработка
КонецЦикла;
Метки: 1с 8.2 |
1с 8.2.: Фоновые задания (файл-серверный вариант) |
Дневник |
Разобралась с фоновыми заданиями при файл-серверном варианте работы 1С 8.2. Выложу позже на заметку, чтоб не забыть.
Метки: 1с 8.2 |
Страницы: | [1] |