|
Поиск в ТЗ | ☑ | ||
---|---|---|---|---|
0
John83
28.02.18
✎
17:59
|
Есть ТЗ.
Колонки: номенклатура и уровень. Уровень принимает числовые значения от 0 и выше. Нужно найти строки, в которых содержится определенная номенклатура и при этом уровень НЕ РАВЕН 0. Возможно ли такой отбор через структуру передать? Или только запрос? |
|||
1
mehfk
28.02.18
✎
18:01
|
Как только найдешь в СП в какое место в НайтиСтроки ты будешь вставлять вот это "НЕ РАВЕН 0." - дай знать.
|
|||
2
John83
28.02.18
✎
18:06
|
(1) ну а вдруг
|
|||
3
Джексон
28.02.18
✎
18:08
|
(0) Используй ПостроительОтчета для фильтрации. Источник данных - твоя таблица, в отборе задашь сравнениия как надо. И выводи результат в таблицу-коллекцию выведешь.
Обращений к базе не будет, нибаись. |
|||
4
azernot
28.02.18
✎
18:28
|
>Есть ТЗ.
Вот в этом месте ошибка. ТЗ - не есть. ТЗ где-то формируется. И вот там-то моно заполнить булеву колонку "ЭтоНЕНулвойУровень". Ну а если ТЗ "Есть", то всегда можно кинуть её в Запрос и там отобрать нужное. |
|||
5
mehfk
28.02.18
✎
18:29
|
(2) Ты 1с-ник или как?
|
|||
6
Забияка
28.02.18
✎
18:43
|
Поколение "Пепси" :)
|
|||
7
Джексон
28.02.18
✎
18:44
|
(4) > кинуть её в Запрос и там отобрать нужное.
Нежно потеребив при этом сеть. Мягко вставить во временную таблицу пару сотен тысяч записей (последние 100 в ускоренном ритме), грубо закрыть транзакцию и выполнить запрос на SQL сервере. Потом аккуратно вычитать полученные данные, потеребив уже опавший сетевой стек еще раз, выгрузить все в новую таблицу значений и щелчком пальцев отослать ненужные больше ресурсы прочь. Подождав, впрочем, тайно и стыдливо, очистки временной таблицы на стороне SQL. Вот такой порнографией вы, коллега, и занимаетесь |
|||
8
azernot
28.02.18
✎
18:50
|
(7) Всё верно вы описываете. Всё так.
Но какова задача - таково решение. А вот как из ПостроителяОтчёта получить ТЗ я не знаю.. Может напишите решение под ключ? |
|||
9
mehfk
28.02.18
✎
18:58
|
(8) тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить("МояКолонка"); тз.Добавить().МояКолонка = "1"; тз.Добавить().МояКолонка = "2"; тз.Добавить().МояКолонка = "3"; Построитель = Новый ПостроительОтчета; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(тз); Построитель.Выполнить(); тзРез = Построитель.Результат.Выгрузить(); |
|||
10
Джексон
28.02.18
✎
19:22
|
(8) > Но какова задача - таково решение.
То есть вы не знаете возможностей платформы, но виноват в этом постановщик задачи. Браво. Вы - Легендарный 1Сник. Построитель = Новый ПостроительОтчета; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаИсточника); ЭлементОтбора = Построитель.Отбор.Добавить("Уровень"); ЭлементОтбора.ВидСравнения = ВидСравнения.Больше; ЭлементОтбора.Значение = 0; ЭлементОтбора.Использование = Истина; Построитель.Выполнить(); ТаблицаРезультата = Построитель.Результат.Выгрузить(); Таблица источника должна быть типизирована, как для передачи в запрос. Поэтому (9) не будет работать (: |
|||
11
John83
28.02.18
✎
19:37
|
(4) "ЭтоНЕНулвойУровень"
как раз то, что нужно спасибо пребольшое! |
|||
12
mehfk
28.02.18
✎
19:57
|
(10) >> Поэтому (9) не будет работать (:
Вот нахера, спрашивается, должен 1с-ник хоть до чего-то сам дойти |
|||
13
Джексон
28.02.18
✎
20:06
|
(12) Вообще да, но не в этом случае, извини, конечно.
Конекретно здесь будет невменяемое сообщение об ошибке и он снова придет сюда же с безумными вопросами, мешая мне разлагаться и деградировать. А оно мне надо? А вот если в ошибке будет членораздельное обьяснение, почему автор - олень, я первый с удовольствием станцую джигу на его могзах. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |