#0
by ILM
В условии запроса пишу ВЫБРАТЬ .... ГДЕ (Т.Номенклатура, Т.ХарактеристикаНоменклатуры) В (&СсылкиМассив) Если Стр.ДанныеСтроки.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.Номенклатура И Стр.ДанныеСтроки.Номенклатура.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Закупка Тогда Ругается на СсылкиМассив.Добавить - много формальных параметров. Как можно сделать массив с парами значений, для отбора в запросе?
#1
by Murzz
Синтаксис: Добавить(<Значение>) Параметры: <Значение> (необязательный) Тип: Произвольный. Добавляемое значение. Если не указан, то будет добавлено значение типа Неопределено. Описание: Добавляет элемент в конец массива. Примечание: При добавлении количество элементов массива увеличивается на 1. Пример: Массив.Добавить("Первый"); Массив.Добавить("Второй");
#2
by Живой Ископаемый
неожиданно, правда? Но все равно работать не будет... уже на вот этом моменте: (Т.Номенклатура, Т.ХарактеристикаНоменклатуры) В (&СсылкиМассив)
#6
by Живой Ископаемый
(Т.Номенклатура В (&МассивСсылокНоменклатуры) и Т.ХарактеристикаНоменклатуры В (&МассивСсылокХарактреистик)) 2 ну и что что пробовал?
#11
by Живой Ископаемый
2 дядька, какую мы сейчас проблему решаем - ту что в или ту что в ? ту что в - решается как в Если хочешь решить новую проблему - заводи новую ветку, чтобы никого не путать.
#17
by ILM
Как задать пару (характеристика и номенклатура) в массиве, чтобы работало в запросе? Можно тогда и в ТЗ записать, там ничего сложного нет и сразу в запросе соединение сделать, просто пока объект не записан данных в базе нет, только на форме.
#18
by ILM
Что можно с двумя ссылками сделать, чтобы одно значение было, ведь не складывать же их? Неужели нет никакого способа?
#20
by ILM
Вы ведете себя как . Слава богу знаю, но хочется же иногда и поискать других путей, а вдруг получится? Может запрос и массив из соответствий скушает? Много разных открытий готовит нам 1С, в том числе и не документированных)
#21
by Lucky-1
Попробуй так: ВЫБРАТЬ .... ГДЕ Если Стр.ДанныеСтроки.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.Номенклатура И Стр.ДанныеСтроки.Номенклатура.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Закупка Тогда ... ... КонецЕсли;
#24
by azernot
Исследователь? Это хорошо. :) Предлагаю ещё пару интересных тем для исследования: 1. А что если в 1С есть недокументированная возможность восстановления объектов после непосредственного удаления? ... Объект.Удалить; ... Объект.ВосстановитьПослеНепосредственногоУдаления; (Пробовать надо на рабочей базе, например, на справочнике Контрагенты). 2. А какой максимальный вес может выдержать голова 1С-ника? 3. С какой максимально высоты может спрыгнуть нормальный сибиряк, 67-го года рождения? 4. Что будет если в розетку запихнуть не два пальца, а четыре (по два в каждую дырочку)? Если нужны ещё идеи, могу накидать... :)))
#25
by ILM
А как же запрос в цикле? Нормально, так будет работать, Так как этот код вызываю для того, чтобы в форме вывести количество аналогов для исходных комплектующих, то время работы будет зависеть от количества строк, а это не хорошо. Лучше уж тогда ТЗ и соединение в запросе с ТЗ. Прикольно, моей пытливости только на код хватает, а у тебя или опыта больше или мозги помоложе.
#26
by Murzz
Вариант 1: загнать пары значений в Тз, и делать запрос с внутренним соединением к этой тз. Вариант 2: Формировать текст запроса во время исполнения процедуры. чтобы получилось нечто типа .... ИЛИ (Т.Номенклатура = &Номенклатура2 И Т.ХарактеристикаНоменклатуры = &Характеристика2)) ... и т.д. для каждого элемента из "Стр.ДанныеСтроки".
#27
by Murzz
А относительно "открытий" - если есть куча свободного времени можно и поизвращаться. В остальных случаях лучше не изобретать велосипед, а использовать отработанные решения
#28
by ILM
спасибо, вариант 2 подойдет, если только 2000 строк не будет ))) Согласен. Пока вот родилось это Запись = Новый Структура;
#31
by Murzz
нееееее. По варианту 2 имел ввиду вот примерно как-то так: (возможно, придется немного допилить ибо не проверял) тут Цикл по Коллекции Конечно, выглядит извращенно, но работать будет.
#32
by NcSteel
Характеристика уже подчинена Номенклатуре , так что достаточно отбор по ней и все Где Т.ХарактеристикаНоменклатуры В (&СписокХарактеристик) и не надо придумывать.
#33
by ILM
Спасибо, грамотное замечание, это в том случае если характеристика заполнена, если же она заполнена не у всех записей, то нужно сочетание пары Номенклатура+Характеристика. Задачу уже решил, через ТЗ и временную таблицу. Мог бы и с условиями запроса сделать, но так получше.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- 7.7 список значений из значений перечисления, сортировка
- Можно ли в качестве параметра запроса указать поле этого же запроса?
- Как в Список Значений загрузить колонку Таблицы Значений?
- Параметр запроса для встроенной функции "В" - массив или список значений?
- Загрузки запроса в массив, таблицу значений, список значений
- Передать список значений в качестве параметра для запроса (управляемое приложени
В этой группе 1С
- Обмен с SET Retail 5
- В схеме базы данных нет таблицы с именем AccumReg1 (pos=21)
- Установить отбор в табличном поле, в форме, по значению реквизита
- помогите с 1С ЗУП. 2-НДФЛ
- Как работают привязки в 1с?
- Склеить иконки.
- Форма. Не вижу кнопок. Не вмещаются в экран.
- Можно ли в 1с8.1 программно рисовать?
- Сколько стоит настроить правильный обмен РИБ
- "Перегрузка документа" Изучаю 1С четвёртый день :)
- долго открывается форма (1С: Предприятие - Розница)
- Ошибка при вызове метода контекста (Выбрать)
- КА: Возможно ли вести учет зарплаты не в комплексной, а в ЗУП
- Вопрос по КД(замещение объекта при загрузке)
- Обмен сообщениями между пользователями
- Понедельник, SQL: восстановить бэкап в другую базу
- копирование базы 1С в другую базу средствами MS SQL
- Удалить значение периодического реквизита
- Заполнение расшифровки платежа в документах расчета в УТ
- Как сделать автозапуск 1С вместо explorer.exe?