![]() |
![]() |
![]() |
|
НЕ пустая ссылка в Массив! | ☑ | ||
---|---|---|---|---|
0
Vanechka
10.06.11
✎
09:57
|
Доброго всем утра! Небольшой вопрос - можно ли передать в массив НЕ Пустую ссылку, чтобы устанавливался отбора в ТЗ не по пустым ссылкам по определенному полю???
|
|||
1
Vanechka
10.06.11
✎
09:58
|
Ну вернее не в массив, а в структура отбора???
|
|||
2
abitfrosty
10.06.11
✎
09:59
|
Да
|
|||
3
Vanechka
10.06.11
✎
10:01
|
как?))))
|
|||
4
73
10.06.11
✎
10:05
|
А где отбор в ТЗ?
|
|||
5
Vanechka
10.06.11
✎
10:13
|
Структура = Новый Структура;
Структура.Вставить("Контрагент", <<Предполагается что тут должен стоять отбор на то, чтобы в ТЗ по контрагенту, если есть не пустые ссылка, то отбирались именно строки не с пустыми ссылками>>); Массив = ТЗ.НайтиСтроки(Структура); В ТЗ есть колонка "контрагент" туда пишутся или не пишутся контрагенты, нужно отобрать все строки с непустыми контрагентами |
|||
6
73
10.06.11
✎
10:14
|
(5) А что дальше с ними делать предполагается?
|
|||
7
abitfrosty
10.06.11
✎
10:16
|
Выгрузи эту колонку, сверни и удали пустые.
|
|||
8
Alpen906
10.06.11
✎
10:18
|
Запрос
|
|||
9
73
10.06.11
✎
10:20
|
(7) И что будет?
(8)+ 2.Скопировать по отбору 3.Построитель ЗЫ. Всё-таки надо бы узнать, что автору надо потом делать... |
|||
10
Vanechka
10.06.11
✎
10:21
|
(6) в этой ТЗ есть еще одна колонка например "контрагент1", так вот в это ТЗ в колонку "контрагент" пишутся одни контрагенты, в колонку "Контрагент1" пишутся другие, и соответственно в строке где есть "контрагент" нет "контрагента1", но у них есть объединяющий реквизит - например "покупатель", который тоже пишется в этот ТЗ, так вот мне нужно сделать так, чтобы где есть "контрагент" и нет "контрагента1" он проставился!!!
|
|||
11
Рэйв
10.06.11
✎
10:23
|
(10)Перебор не предлагать?
|
|||
12
73
10.06.11
✎
10:23
|
(10)
Размер ТЗ? Может и (11) подойдёт. |
|||
13
Alpen906
10.06.11
✎
10:23
|
ИМХО перебором проще всего
|
|||
14
ptiz
10.06.11
✎
10:24
|
ТЗ = ОтобратьСтрокиПоКритериям(ТЗИсходная, Новый Структура("Контрагент", Справочники.Контрагенты.ПустаяСсылка),
Новый Структура("Контрагент", ВидСравнения.НеРавно)).Выгрузить(); // Отбирает из переданной таблицы строки по заданным критериям. // // Параметры: // Источник - ТаблицаЗначений, РезультатЗапроса, ОбластьЯчеекТабличногоДокумента. Таблица-источник. // СтруктураКритериев - Структура. Названия отборов и значения, по которым нужно отобрать строки. // СтруктураСложныхКритериев - Структура. Если свойство передано, то значение содержит вид сравнения. // // Возвращаемое значение: // РезультатЗапроса - таблица с нужными строками. // Функция ОтобратьСтрокиПоКритериям(Источник, СтруктураКритериев, СтруктураСложныхКритериев = Неопределено) Экспорт Перем ВидСравненияСложный; Если СтруктураСложныхКритериев = Неопределено Тогда СтруктураСложныхКритериев = Новый Структура; КонецЕсли; ПостроительЗапроса = Новый ПостроительЗапроса; ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(Источник); Для Каждого Критерий Из СтруктураКритериев Цикл НовыйОтбор = ПостроительЗапроса.Отбор.Добавить(Критерий.Ключ); СтруктураСложныхКритериев.Свойство(Критерий.Ключ, ВидСравненияСложный); Если ВидСравненияСложный = Неопределено Тогда НовыйОтбор.Установить(Критерий.Значение); Иначе НовыйОтбор.Использование = Истина; НовыйОтбор.ВидСравнения = ВидСравненияСложный; НовыйОтбор.Значение = Критерий.Значение; КонецЕсли; КонецЦикла; Возврат ПостроительЗапроса.Результат; КонецФункции // ОтобратьСтрокиПоКритериям() |
|||
15
73
10.06.11
✎
10:25
|
(12)+
Можно ещё предложить заполнять сразу при добавлении строк. |
|||
16
Vanechka
10.06.11
✎
10:27
|
(11) Перебор не подойдет размер ТЗ будет с каждым днем все больше и больше)
(14) надо попробовать |
|||
17
Vanechka
10.06.11
✎
10:28
|
(15) это не вариант ТЗ заполняют пять или шесть разных функций... очень много будет торможения
|
|||
18
73
10.06.11
✎
10:28
|
(16) А как ТЗ создаётся? Сразу заполнять нельзя?
|
|||
19
73
10.06.11
✎
10:33
|
(16) В (14) ты получишь не строки ТЗ, а результат запроса.
Лучше уж Скопировать по отбору в другую ТЗ. Имхо, быстрее. Всё равно потом как-то строки связывать. А так... Запрос, который всю задачу решает и ТЗ перетирать. |
|||
20
Vanechka
10.06.11
✎
10:38
|
вообщем резюмируем - передать в структуру без дополнительных заморочек пустую ссылку нельзя...
|
|||
21
Vanechka
10.06.11
✎
10:38
|
вернее не пустую
|
|||
22
73
10.06.11
✎
10:40
|
(21) Ссылка всегда конктретна. Даже пустая.
|
|||
23
Alpen906
10.06.11
✎
10:40
|
(14) Код работает. Скопировал себе на будущее.
Спасибо. |
|||
24
73
10.06.11
✎
10:40
|
(22)+ Но кроме НайтиСтроки есть и другие методы...
|
|||
25
73
10.06.11
✎
10:41
|
(23) Это из типовых, кстати...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |