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

Хранилище

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

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



> Получить ссылки на документы с отбором в табчасти запросом          
Vidocq05 Подменю пользователя
сообщение 23.10.17, 9:00
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

Нужно получить ссылки на документы где во всех строках табчасти "Товары" установлен один из складов из моего списка. Если хотя бы одна строка с другим складом или с пустой ссылкой на склад то документ в выборку не должен попадать.
Документов очень много, строк в табчасти "Товары" тоже может быть много. Документы могут быть как проведенные так и не проведенные.

sava1 Подменю пользователя
сообщение 23.10.17, 9:22
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Выбрать все неподходящие документы - где Склад не в списке ,
Выбрать все документы и соединить по НЕ В с первым списком

Сообщение отредактировал sava1 - 23.10.17, 9:22

awp Подменю пользователя
сообщение 23.10.17, 9:23
Сообщение #3

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Vidocq05 @ Сегодня, 10:00 * ,

Делаете выборку документов с группировкой по Товары.Склады - на вывод ссылка и количествоРазных(Склады) где ссылка в выборка доков по Товары.склады = ВашиСклады и количествоРазных(Склады) = 1



Signature
Бухгалтер - это не профессия! Это диагноз!

Vidocq05 Подменю пользователя
сообщение 23.10.17, 10:59
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

Цитата(sava1 @ 23.10.17, 10:22) *
Выбрать все неподходящие документы - где Склад не в списке

Так пытался, но документов очень много и через некоторое время выдает ошибку, что не хватает памяти.
awp @ Сегодня, 10:23 * ,
Это интересно, но тоже проблемка. По моей задаче должно быть Товары.Склады В (&Склады), поэтому
Цитата(awp @ 23.10.17, 10:23) *
количествоРазных(Склады) = 1

наверное не прокатит.

Вообще количество документов с требуемыми складами это где то одна пятая от всех документов. Поэтому, если запрос делать с временной таблицей, то как я понимаю, в ее выборку временной таблици должно попадать как можно меньше данных чтобы ускорить выполнение запроса.

awp Подменю пользователя
сообщение 23.10.17, 11:25
Сообщение #5

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Vidocq05 @ Сегодня, 11:59 * ,
Внимательно читайте что я написал

где ссылка в выборка доков по Товары.склады = ВашиСклады

Выбираем все доки у который есть в ТЧ Ваши склады. Группируем по ссылка и склад - и где их более 1 значит нам не подхожит

Сообщение отредактировал awp - 23.10.17, 11:28


Signature
Бухгалтер - это не профессия! Это диагноз!

sava1 Подменю пользователя
сообщение 23.10.17, 11:39
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(Vidocq05 @ 23.10.17, 11:59) *
документов очень много и через некоторое время выдает ошибку, что не хватает памяти.

Ограничить по периоду.
Это что за СУБД/сервер такие хлипенькие ?

Сообщение отредактировал sava1 - 23.10.17, 11:43

Vidocq05 Подменю пользователя
сообщение 23.10.17, 13:17
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

awp @ Сегодня, 12:25 * ,
Что то я Вас не понимаю.
Например:
Есть склады: Склад1, Склад2, Склад3. Мне нужно отобрать все документы где во всех строках Склад1 или Склад2.
Есть 2 документа с двумя строками. В первом документе строки со складами Склад1 и Склад2, а во втором документе строки со складами Склад1 и Склад3. Первый документ должен попасть в выборку, а второй нет.

Можно примерчик текста запроса?

Цитата(sava1 @ 23.10.17, 12:39) *
Ограничить по периоду.

Не хотелось бы)).
Цитата(sava1 @ 23.10.17, 12:39) *
Это что за СУБД/сервер такие хлипенькие ?

Ну какой есть((

Мне это нужно больше для опыта.
Можно было бы выбрать документы где есть в строках мои склады, потом перебирать в цикле и отбирать нужные (или отсеивать не нужные). Но это както не оптимально, мне кажется.

awp Подменю пользователя
сообщение 23.10.17, 18:10
Сообщение #8

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Vidocq05 @ Сегодня, 14:17 * ,

думаю как то так

выбор * из (
выбрать ссылка,
             сумма(выбор когда склад в (мойсписок) 0 иначе 1) как полеОТБ
             из док.....
сгруппировать ссылка) где полеОТБ = 0


или использовать ИМЕЮЩИЕ сумма(выбор когда склад в (мойсписок) 0 иначе 1) = 0

Сообщение отредактировал awp - 23.10.17, 18:13


Signature
Бухгалтер - это не профессия! Это диагноз!

Спасибо сказали: Vidocq05,

Vidocq05 Подменю пользователя
сообщение 24.10.17, 12:55
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

awp @ Вчера, 19:10 * ,
Спасибо. Не додумался до такого.

Кому интересно - вот код:
"ВЫБРАТЬ
        |    МойДокТовары.Ссылка КАК Ссылка,
        |    СУММА(ВЫБОР
        |            КОГДА МойДокТовары.Склад В (&СписокСкладов)
        |                ТОГДА 0
        |            ИНАЧЕ 1
        |        КОНЕЦ) КАК полеОТБ
        |ПОМЕСТИТЬ ВТ
        |ИЗ
        |    Документ.МойДок.Товары КАК МойДокТовары
        |
        |СГРУППИРОВАТЬ ПО
        |    МойДокТовары.Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ.Ссылка
        |ИЗ
        |    ВТ КАК ВТ
        |ГДЕ
        |    ВТ.полеОТБ = 0";

Правда еще не проверял. Но по идее должно сработать))

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


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

 

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