Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Поиск данных из списка в одном запросе          
Володька Подменю пользователя
сообщение 22.01.20, 15:53
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 162
Спасибо сказали: 7 раз
Рейтинг: 0

Добрый вечер. Уперся в задачу, которую своими силами не смог решить. Дайте дельный совет, куда рыть.

Ситуация: Есть Табличный документ с названиями товара. Строк 1000+. (На клиенте) Если перебирать в цикле и искать в справочниках (На сервере), то после 250 строк уже начинает просаживаться скорость (прям на глазах видно).
&НаСервере
Функция ПолучитьТоварНаСервере(Название)
      Возврат Справочники.Номенклатура.НайтиПоНаименованию(Название);
КонецФункции

Вопрос: Есть ли способ передать данные табличного документа на сервер (как превратить эти данные в ТЗ я понимаю) и запросом (в идеале одним) найти соответствия в справочнике? Может кто-то решал подобную задачу, наведите на путь истинный.

Пример:
Отправляем
Товар1 (Строка)
Товар2 (Строка)
Товар3 (Строка)
....
Запрос
...
Получаем
Товар1 (Элемент справочника)
Null
Товар3 (Элемент справочника)
....

Petre Подменю пользователя
сообщение 22.01.20, 15:56
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2741
Из: Київ, Україна
Спасибо сказали: 821 раз
Рейтинг: 817.8

Володька @ Today, 15:53 * ,
Зачем передавать табличный документ? Обойдите его и соберите в массив, например, все нужные данные и этот массив уже и передавайте на сервер.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Володька Подменю пользователя
сообщение 22.01.20, 16:00
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 162
Спасибо сказали: 7 раз
Рейтинг: 0

Petre @ Сегодня, 16:56 * ,
Вопрос больше в том, как эти данные потом сравнить на сервере (Массив строк). Как передать на сервер в любом виде я понимаю.

Vofka Подменю пользователя
сообщение 22.01.20, 16:19
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13372
Из: Киев
Спасибо сказали: 4123 раз
Рейтинг: 3265.6

Володька, выбрать все названия в массив, потом запрос к справочнику с условием

ГДЕ
   Наименование в (&МассивНаименований)

Спасибо сказали: Володька,

Володька Подменю пользователя
сообщение 23.01.20, 9:13
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 162
Спасибо сказали: 7 раз
Рейтинг: 0

Vofka @ Вчера, 17:19 * ,
Спасибо за ответ.
Сделал, как советовал Petre. Сформировал массив с названием товаров по табличному документу, передал на сервер и сравнил, как советовали Вы.
Итог:
Отправляем
Товар1 (Строка)
Товар2 (Строка)
Товар3 (Строка)
....
Запрос
...
Получаем
Товар1 (Элемент справочника)
Товар3 (Элемент справочника)
....

Как теперь понять, какой товар отсутствует в базе? Как сравнить? Результат запроса выгружен в ТЗ, исходные данные в Массиве. ТЗ 1650 элементов, Массив 1730 элементов.

Petre Подменю пользователя
сообщение 23.01.20, 9:33
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2741
Из: Київ, Україна
Спасибо сказали: 821 раз
Рейтинг: 817.8

Володька @ Today, 9:13 * ,
На сервере создайте тз с одной колонкой. Загрузите туда переданный массив. Передайте тз в запрос в качестве источника. В запросе этот источник соедините с таблицей товара...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Володька,

macho210386 Подменю пользователя
сообщение 23.01.20, 10:44
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 21
Спасибо сказали: 4 раз
Рейтинг: 0

Попробуйте с передать данные (табличный документ) через временное хранилище:
ПолучитьИзВременногоХранилища
ПоместитьВоВременноеХранилище
УдалитьИзВременногоХранилища - главное не забыть удалить из временного хранилища после обработки.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 30.10.20, 0:29
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!