Загрузить данные с одной таблицы в другую с отбором
1C:Бухгалтерия
1С:Бухгалтерия 3.0
1С:Предприятие 8
Внешний отчет (ert,erf)
Внешняя обработка (ert,epf)
Расширение (cfe)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДоговорыКонтрагентовУслуги.Номенклатура КАК Номенклатура,
| ДоговорыКонтрагентовУслуги.Цена КАК Цена,
| ДоговорыКонтрагентовУслуги.Сумма КАК Сумма,
| ДоговорыКонтрагентовУслуги.Количество КАК Количество,
| ДоговорыКонтрагентовУслуги.Ссылка.Владелец КАК Контрагент,
| ДоговорыКонтрагентовУслуги.Ссылка.Ссылка КАК Договор
|ИЗ
| Справочник.ДоговорыКонтрагентов.Услуги КАК ДоговорыКонтрагентовУслуги
|ГДЕ
| ДоговорыКонтрагентовУслуги.Ссылка.Владелец В (&МассивКонтрагентов)";
Если МассивКонтрагентов <> Неопределено Тогда
Запрос.УстановитьПараметр("МассивКонтрагентов", МассивКонтрагентов);
КонецЕсли;
ППТабЗнач = Запрос.Выполнить().Выгрузить(); ПоказатьЗдравствуйте, такой вопрос. Выгружаю с запроса табличную часть, чтобы загрузить во вторую таблицу. Хочу сделать отбор по контрагенту, но при попытке откомпилировать ругается что не установлен параметр, что можно сделать и как его добавить?
По теме из базы знаний
- Всякие полезности
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Перенос данных из БП 3.0 / БП 2.0 в УПП 1.3 / КА 1.1. Переносятся документы, остатки и справочники
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Ускорение работы и контроль данных в 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
|ГДЕ
| ДоговорыКонтрагентовУслуги.Ссылка.Владелец В (&МассивКонтрагентов)";
| ДоговорыКонтрагентовУслуги.Ссылка.Владелец В (&МассивКонтрагентов)";
выбор когда &ОтбиратьПоКонтрагентам тогда ДоговорыКонтрагентовУслуги.Ссылка.Владелец В (&МассивКонтрагентов) иначе Истина (ну или Ложь если надо пустой результат получить) Конец.
Запрос.установитьПараметр("ОтбиратьПоКонтрагентам", НЕ МассивКонтрагентов = Неопределено);
Запрос.УстановитьПараметр("МассивКонтрагентов", МассивКонтрагентов);
(3) Ошибки нет, спасибо, но проблема одна осталась. Сделала условие по отбору, чтоб с табличной части переносились значения только по заданному контрагенту, с этим исправление табличная часть пустая. Без условия переносит все значения табличной всех контрагентов
(1)
Если МассивКонтрагентов <> Неопределено Тогда
Запрос.УстановитьПараметр("МассивКонтрагентов", МассивКонтрагентов);
КонецЕсли;
заменить на
Запрос.УстановитьПараметр("МассивКонтрагентов", МассивКонтрагентов);
КонецЕсли;
Если МассивКонтрагентов <> Неопределено Тогда
Запрос.УстановитьПараметр("МассивКонтрагентов", МассивКонтрагентов);
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДоговорыКонтрагентовУслуги.Ссылка.Владелец В (&МассивКонтрагентов)", ИСТИНА);
КонецЕсли;
(10)
А что смотреть? Он же создается по запросу
- где это можно посотреть? Вы же выложили только запрос и установку параметров этого запроса - т.е. подразумевается, что в переменной МассивКонтрагентов что то должэно было быть записано в коде выше (его мы не видим). А сюдя по тому, что там Неопределено, переменная "МассивКонтрагентов" не заполнена никакмими значениями.
(12)
Принцип простой - параметр должен быть заполнен ДО его установки в запросе...
Да стоит неопределенно, потому что значение МассивКонтрагентов я пишу в саму процедуру и неопределенно чтоб на клиенте считывал.
- буквы все понимаю, слова нет(((
Принцип простой - параметр должен быть заполнен ДО его установки в запросе...
Судя по словам Топикстартера запрос отрабатывает правильно. только Вы проверяете МассивКонтрагентов на неопределено, а скорее всего нужно проверять на МассивКонтрагенов.Количество() <> 0. т.е. сам массив то есть и он не равен неопределено. а вот само содержание массива пустое
(12)
Но это я чисто как пример.. вы можете искать по наименованию, по группе или хз по каким критериям
МассивКонтрагентов = Новый Массив;
МассивКонтрагентов.Добавить(Справочники.Контрагенты.НайтиПоНаименованию("Кого-то тут ищите"));Но это я чисто как пример.. вы можете искать по наименованию, по группе или хз по каким критериям
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
