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

Хранилище

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

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



> 8.2 Бух. Запрос с условием "комментарий содержит текст" , а текст - это наименование элементов справочника          
bolobol Подменю пользователя
сообщение 26.08.11, 12:35
Сообщение #1

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

Приветствую

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

Есть документы, в комментарии которых указаны значения недостающих реквизитов, пример:

ПКО1, комментарий: раб. время с 12 до 15 (зал3). Инкассации не было.
ПКО2, комментарий: Сдано за раб. время с 14 до 18 (зал3). Инкассация.
ПКО3, комментарий: Инкассация. раб. с 10 до 16 (зал1).
ПКО4, комментарий: раб. время с 10 до 12 (зал новый). Не инкассация.

Нужно вывести сумму ПКО-шек, сгруппировав их по залам.

Есть справочник Склады, в котором элементы имеют наименования, которые буква в букву (за исключением регистра) совпадают с текстом комментария:
Склад1, наименование: Зал1
Склад2, наименование: зал2
Склад3, наименование: зал3
Склад4, наименование: Зал Новый
Склад5, наименование: левый приход

Но если в комментарии не указан склад - группировать по складу - "левый приход"

-----

Сейчас всё делаю построчной проверкой "Найти(Комментарий, Склад.Наименование)", но чё-то долго как-то. А тут же эскуэль есть!! Одно не въехать - как? А вдруг в комментарии попадётся _два_ склада?? Есть мысли - напишите пожалуйста.

Ardi Подменю пользователя
сообщение 26.08.11, 13:00
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

        Запрос.Текст = 
        "ВЫБРАТЬ
        |    Игроки.Ссылка
        |ИЗ
        |    Справочник.Игроки КАК Игроки
        |ГДЕ
        |    Игроки.Наименование ПОДОБНО &Наименование";
        Запрос.УстановитьПараметр("Наименование",Текст+"%");

Комментарии неограниченной длины - не знаю как с ними работать будет. Ну и наверно добавить"%"+ нужно:
в Запрос.УстановитьПараметр("Наименование","%"+Текст+"%");


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

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

Vofka Подменю пользователя
сообщение 26.08.11, 13:15
Сообщение #3

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

Цитата
Комментарии неограниченной длины - не знаю как с ними работать будет

Что б работало надо как-то так сделать:
ВЫРАЗИТЬ(Комментарий КАК СТРОКА(100500))

bolobol Подменю пользователя
сообщение 26.08.11, 20:56
Сообщение #4

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

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

Batchir Подменю пользователя
сообщение 26.08.11, 21:32
Сообщение #5

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Поиск в комментариях - обречен на постоянный гембель. Где-то указали не так как в справочнике, где-то указали два склада, где-то вообще не указали.
А может пойти другим путем? Есть такое понятие в бухии как дополнительные реквизиты, может создать для документов доп. реквизит и обязать заполнять его для ПКО тех кто их создает.

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

bolobol Подменю пользователя
сообщение 27.08.11, 16:49
Сообщение #6

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

Цитата(Batchir @ 26.08.11, 22:32) *
Поиск в комментариях - обречен на постоянный гембель.

Не понял слово ))

Цитата(Batchir @ 26.08.11, 22:32) *
Где-то указали не так как в справочнике, где-то указали два склада, где-то вообще не указали.
А может пойти другим путем? Есть такое понятие в бухии как дополнительные реквизиты, может создать для документов доп. реквизит и обязать заполнять его для ПКО тех кто их создает.

Обязать нельзя, нужно проверки ставить, а (к стыду своему) совсем не смог разобраться (как-то раз пробовал) что за зверь - дополнительные реквизиты. Дополнительный реквизит назначается сразу всем документам - нет, значит его ещё и добавлять нужно - это гемор, но если разобраться с архитектурой, то в момент записи можно проверять комментарий и добавлять этот реквизит, но как это должно происходить? Это регистр сведений или справочник какой?

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

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Дополнительный реквизит добавляется сразу для всех документов, а заполняется индивидуально для каждого (как и любой реквизит).
Хранятся значения дополнительных реквизитов в регистре сведений "Значения дополнительных реквизитов".
Если пользователи будут заполнять их то всё будет хорошо.

Но всё это касается типового механизма. Если вы планируете дорабатывать типовые объекты, то я скорее всего пошел бы другим путем.

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

bolobol Подменю пользователя
сообщение 29.08.11, 8:22
Сообщение #8

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

Цитата(Vofka @ 26.08.11, 14:15) *
ВЫРАЗИТЬ(Комментарий КАК СТРОКА(100500))

Можно спросить, почему именно 100500?

Как по всем комментариям ПКО выяснить максимальную длину? С точки зрения оптимизации - это вряд ли поможет, но сам вопрос!

Vofka Подменю пользователя
сообщение 29.08.11, 8:47
Сообщение #9

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

Цитата
Можно спросить, почему именно 100500?

Это я образно.

Цитата
Как по всем комментариям ПКО выяснить максимальную длину? С точки зрения оптимизации - это вряд ли поможет, но сам вопрос!

Можно написать не сложную обработку, которая, которая переберёт все ПКО в базе и определит наибольший комментарий. Но это будет резальтат на текущий момент. А завтра (послезавтра, через недель, через 10 лет) кто-то может ввести комент больше. Поэтому просто надо логически определить сколько может понадобиться символов на это. А если внести пару строк кода - то можно в ПКО проверять длину комментария, таким образом гарантировать, что длина не будет превышать какое-то количество символов.

bolobol Подменю пользователя
сообщение 29.08.11, 19:15
Сообщение #10

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

Цитата(Vofka @ 29.08.11, 9:47) *
Это я образно.

Ясно, думал ограничение системы ))

Цитата(Vofka @ 29.08.11, 9:47) *
Можно написать не сложную обработку, которая, которая переберёт все ПКО в базе и определит наибольший комментарий. Но это будет резальтат на текущий момент. А завтра (послезавтра, через недель, через 10 лет) кто-то может ввести комент больше. Поэтому просто надо логически определить сколько может понадобиться символов на это. А если внести пару строк кода - то можно в ПКО проверять длину комментария, таким образом гарантировать, что длина не будет превышать какое-то количество символов.


Не-не! По поводу обработки - это не то, именно получив выборку - узнать какова максимальная длина комментария - вот вопрос. Есть ли функция вычисления длины, там, что-то такое?

А проверки написать - это, конечно, вариант, но как правило, логическая оценка даст результат и до первого крика "Мой склад отчёт не видит, а он ЕСТЬ!" ))

Batchir Подменю пользователя
сообщение 30.08.11, 7:15
Сообщение #11

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Крики будут постоянно, потому что основываться на комментарий нельзя.
Вариант с использованием формирования отчета без прямой связи между ПКО и складом считаю абсурдным

В документе должна быть прямая ссылка на склад (кстати сам реквизит есть просто не во всех операциях участвует). Можно сделать доступным реквизит "Склад" для всех операций и сделать обязательным к заполнению. Но это доработка типового объекта.
Или как я говорил - организовать работу с дополнительными реквизитами без доработки типового объекта.

bolobol Подменю пользователя
сообщение 13.09.11, 8:20
Сообщение #12

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

А общие реквизиты возможно использовать для решения данной задачи?

Batchir Подменю пользователя
сообщение 13.09.11, 8:36
Сообщение #13

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

В 8-ке нет понятия общих реквизитов, они были в 7.7.
Так что уточните что Вы имеете ввиду

Vofka Подменю пользователя
сообщение 13.09.11, 8:42
Сообщение #14

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

Цитата
В 8-ке нет понятия общих реквизитов

А в 8.14 вроде есть, если я не ошибаюсь

bolobol Подменю пользователя
сообщение 13.09.11, 10:14
Сообщение #15

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

Описание нововведений в 8.2.14... содержит общие реквизиты, которые, якобы, должны работать, в том смысле, что - не создавая дополнительной, неадекватной выхлопу, нагрузки на сервер.

Batchir Подменю пользователя
сообщение 13.09.11, 10:57
Сообщение #16

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Тогда хз, я ещё не переходил на 8.2.14

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


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

 

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