Приветствую
Задумался над тем, что должна быть возможность написать запросом решение имеющейся задачи, но не догоняю как. Задача:
Есть документы, в комментарии которых указаны значения недостающих реквизитов, пример:
ПКО1, комментарий: раб. время с 12 до 15 (зал3). Инкассации не было.
ПКО2, комментарий: Сдано за раб. время с 14 до 18 (зал3). Инкассация.
ПКО3, комментарий: Инкассация. раб. с 10 до 16 (зал1).
ПКО4, комментарий: раб. время с 10 до 12 (зал новый). Не инкассация.
Нужно вывести сумму ПКО-шек, сгруппировав их по залам.
Есть справочник Склады, в котором элементы имеют наименования, которые буква в букву (за исключением регистра) совпадают с текстом комментария:
Склад1, наименование: Зал1
Склад2, наименование: зал2
Склад3, наименование: зал3
Склад4, наименование: Зал Новый
Склад5, наименование: левый приход
Но если в комментарии не указан склад - группировать по складу - "левый приход"
-----
Сейчас всё делаю построчной проверкой "Найти(Комментарий, Склад.Наименование)", но чё-то долго как-то. А тут же эскуэль есть!! Одно не въехать - как? А вдруг в комментарии попадётся _два_ склада?? Есть мысли - напишите пожалуйста.
Запрос.Текст =
"ВЫБРАТЬ
| Игроки.Ссылка
|ИЗ
| Справочник.Игроки КАК Игроки
|ГДЕ
| Игроки.Наименование ПОДОБНО &Наименование";
Запрос.УстановитьПараметр("Наименование",Текст+"%");
ВЫРАЗИТЬ(Комментарий КАК СТРОКА(100500))
Логично. Суть в том, что получается несколько запросов по количеству элементов справочника Склады. А одним запросом? По сути - Ваше решение избавляет от проверки каждой строки, т.к. сервер отберёт только нужные строки - это да. Но если в каком либо документе нет склада, то дополнительный запрос на не входящие в найденные - это без указания склада, а вот если два склада и более указано, то в две выборки попадёт один и тот же документ, этот дополнительная свёртка результата с подсчётоми сортировкой по полю подсчёта - очень нагружено, в том числе и для сервера.
Поиск в комментариях - обречен на постоянный гембель. Где-то указали не так как в справочнике, где-то указали два склада, где-то вообще не указали.
А может пойти другим путем? Есть такое понятие в бухии как дополнительные реквизиты, может создать для документов доп. реквизит и обязать заполнять его для ПКО тех кто их создает.
Дополнительный реквизит добавляется сразу для всех документов, а заполняется индивидуально для каждого (как и любой реквизит).
Хранятся значения дополнительных реквизитов в регистре сведений "Значения дополнительных реквизитов".
Если пользователи будут заполнять их то всё будет хорошо.
Но всё это касается типового механизма. Если вы планируете дорабатывать типовые объекты, то я скорее всего пошел бы другим путем.
ВЫРАЗИТЬ(Комментарий КАК СТРОКА(100500))
Крики будут постоянно, потому что основываться на комментарий нельзя.
Вариант с использованием формирования отчета без прямой связи между ПКО и складом считаю абсурдным
В документе должна быть прямая ссылка на склад (кстати сам реквизит есть просто не во всех операциях участвует). Можно сделать доступным реквизит "Склад" для всех операций и сделать обязательным к заполнению. Но это доработка типового объекта.
Или как я говорил - организовать работу с дополнительными реквизитами без доработки типового объекта.
А общие реквизиты возможно использовать для решения данной задачи?
В 8-ке нет понятия общих реквизитов, они были в 7.7.
Так что уточните что Вы имеете ввиду
Описание нововведений в 8.2.14... содержит общие реквизиты, которые, якобы, должны работать, в том смысле, что - не создавая дополнительной, неадекватной выхлопу, нагрузки на сервер.
Тогда хз, я ещё не переходил на 8.2.14
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua