|
ТаблицаЗначений | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
12.07.13
✎
12:30
|
Здравствуйте
Имею таблицу значений вида ОсновнаяТЗ = Запрос.Выполнить().Выгрузить(); Колонки: КлючСвязи // Здесь пока нет ничего Код Сотрудник Подразделение Отдел Должность ГрафикРаботы ВидРасчета Параметр Требуется расставить КлючСвязи, чтобы он был уникален по Код,Сотрудник,Подраздедление,Отдел,Должность, ГрафикРаботы. Как это сделать оптимально? |
|||
1
МихаилМ
12.07.13
✎
12:31
|
какие критерии отимальности?
|
|||
2
Cube
12.07.13
✎
12:32
|
(0) В запросе эти поля в итоги и обходить выборку запроса по группировкам, проставляя КлючСвязи.
|
|||
3
Начинающий_13
12.07.13
✎
12:32
|
что бы быстро работал
|
|||
4
Alex S D
12.07.13
✎
12:33
|
(2) а в запросе это сделать незя сразу?
|
|||
5
Начинающий_13
12.07.13
✎
12:34
|
(2) Там запрос и так достаточно навороченный пока не смогу надо осмыслить принцин расстаовки
|
|||
6
Cube
12.07.13
✎
12:35
|
(4) Сгенерить таблицу ключей, собрать таблицу итогов, проставить ключи, выбрать детальные записи... Ну чо, можно, конечно, только гемор это всё.
|
|||
7
ДенисЧ
12.07.13
✎
12:35
|
Например Код + Сотрудник.Код + Подраздедление.КОд + Отдел.Код + Должность.Код + ГрафикРаботы.Код.
|
|||
8
Cube
12.07.13
✎
12:36
|
(7) Расстрелять!))
|
|||
9
ДенисЧ
12.07.13
✎
12:36
|
(8) Почему? Уникально? Да.
|
|||
10
Начинающий_13
12.07.13
✎
12:36
|
Мне вообще результат запроса требуется загрузитьв 3 таблицы 2 из которых Подчиненные я это сдлелал но слишком мудрено.
|
|||
11
Cube
12.07.13
✎
12:37
|
(9) Ещё бы по наименованию уникальность искал...
|
|||
12
Начинающий_13
12.07.13
✎
12:37
|
(9) Потому что сотрудник может работать где угодно и по любому графику
|
|||
13
OnCheck
12.07.13
✎
12:38
|
А поиск в ТЗ по нескольким полям чем не устраивает?
|
|||
14
ДенисЧ
12.07.13
✎
12:38
|
(12) в условии ничего об этом не сказано
|
|||
15
skiller3000
12.07.13
✎
12:39
|
(7) я также в запросе делаю (через выбор когда), правда стараюсь подбирать побольше полей на каждую ссылку, чтобы уникальность сохранялась. сделал кучу отчетов по такой схеме и пока уникальность сохраняется.
|
|||
16
acsent
12.07.13
✎
12:40
|
это же не 7, тут поиск по нескольким полям возможен
|
|||
17
Начинающий_13
12.07.13
✎
12:40
|
Если можно дайте варианты как это можно сделать код меня не интересует. Можно и циклом если будте код небольшим(а то у меня слешком )
|
|||
18
Начинающий_13
12.07.13
✎
12:41
|
(16) Я понял
|
|||
19
acsent
12.07.13
✎
12:41
|
можно сделать как в раузе. Отдельный справочник: Ключи аналитики
|
|||
20
Начинающий_13
12.07.13
✎
12:41
|
(15) Хорошо
|
|||
21
OnCheck
12.07.13
✎
12:42
|
ТаблицаЗначений.НайтиСтроки (ValueTable.FindRows)
ТаблицаЗначений (ValueTable) НайтиСтроки (FindRows) Синтаксис: НайтиСтроки(<ПараметрыОтбора>) Параметры: <ПараметрыОтбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. Возвращаемое значение: Тип: Массив. Массив строк таблицы значений, соответствующих условиям поиска. Замечание! Массив хранит ссылки на строки таблицы значений, то есть при изменении строки в таблице, значение в массиве тоже будет измененным. Описание: Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Метод эффективно использовать для выборки неуникальных значений. Пример: // СписокРаботников - реквизит формы для представления информации // о работниках (тип ТаблицаЗначений). // В форме расположено табличное поле СписокРаботников, в котором // показываются данные СписокРаботников. // С помощью запроса выбирается информация о работниках. Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ // текст запроса // ... "; Запрос.Текст = ТекстЗапроса; СписокРаботников = Запрос.Выполнить().Выгрузить(); Отбор = Новый Структура(); Отбор.Вставить("ФизЛицо",Справочники.ФизическиеЛица.ПустаяСсылка()); Строки = СписокРаботников.НайтиСтроки(Отбор); Если Строки.Количество() > 0 Тогда ЭлементыФормы.СписокРаботников.ТекущаяСтрока = Строки[0]; КонецЕсли; |
|||
22
Cube
12.07.13
✎
12:42
|
(17) См (2)
|
|||
23
Начинающий_13
12.07.13
✎
12:44
|
(21) Хорошо попробую
|
|||
24
Начинающий_13
12.07.13
✎
12:45
|
СПАСИБО что дали много мыслей Буду оптимизировать
|
|||
25
Cube
12.07.13
✎
12:46
|
Можно просто отсортировать результат из (0) по этим полям, а потом пробежаться циклом...
|
|||
26
OnCheck
12.07.13
✎
12:47
|
(25) зачем тетросипед изобретать?
|
|||
27
Cube
12.07.13
✎
12:52
|
(26) А что, через НайтиСтроки лучше? Он же не знает, какие комбинации у него там есть...
|
|||
28
OnCheck
12.07.13
✎
12:56
|
Что значит не знает какие комбинации есть? Он же знает по какому набору полей нужно выполнить поиск?
|
|||
29
Cube
12.07.13
✎
12:57
|
(28) "Он же знает"
Откеда? Без разбора результата запроса он этого не узнает... |
|||
30
OnCheck
12.07.13
✎
13:18
|
"Требуется расставить КлючСвязи, чтобы он был уникален по Код,Сотрудник,Подраздедление,Отдел,Должность, ГрафикРаботы"
Вот же чотко понятно по каким полям искать, почему например по полю ГрафикРаботы искать не надо? |
|||
31
Cube
12.07.13
✎
13:20
|
(30) Сделай простой пример и всё поймешь. Долго объяснять :)
|
|||
32
OnCheck
12.07.13
✎
13:25
|
(31) чет я сегодня себя дурак чувствую. Пятница?
|
|||
33
Cube
12.07.13
✎
13:26
|
(32) Наверное :))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |