Как грамотно составить запрос?

1. MegaMouse 372 12.07.09 17:51 Сейчас в теме
Добрый день!
Сейчас подвернулся клиент, у которого сбилась номерация нескольких документов.
Пытаюсь решить эту проблемку, и кое что получается.
Это "кое что" неочень нравится (некрасиво, и универсальности никакой)
Прошу помоч с советом, как правильно составить запрос, чтоб не 5-6 документов запросом выдергивать, а только один, нужный в данный момент.
// этот код стоит в глобальнике - отсюда и желание оптимизировать.
Выкладываю сам текст запроса, и пример отчетика сейчас закину. Спасибо.

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(НомерДока)
|Период с (НачГода(ДатаДок)) по (КонГода(ДатаДок));
|ОбрабатыватьДокументы все;
|ПоступлениеТоваров = Документ.СчетФактура.ТекущийДокумент, // Это все у меня в одну строку идет
| Документ.РасходнаяНакладная.ТекущийДокумент, Документ.ТребованиеНакладная.ТекущийДокумент,
|Документ.Доверенность.ТекущийДокумент, Документ.ОтпускМатериаловНаСторону.ТекущийДокумент;
|Группировка ПоступлениеТоваров все;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

Ссылка на пример(файл) : http://infostart.ru/projects/5002/
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Honor 12.07.09 18:38 Сейчас в теме
День добрый, Андрей!
Во первых не совсем понятно из вопроса, какой все таки документ нужен? все перечисленные в запросе?
3. Honor 12.07.09 18:40 Сейчас в теме
Оставшуюся часть запроса, в студию!
4. Ёпрст 1065 13.07.09 09:37 Сейчас в теме
(0) Так и оставь его один, а не все через зпт..
И вообще, запрос к докам - моветон.
5. MegaMouse 372 13.07.09 16:32 Сейчас в теме
Добрый день.
Суть в том, что надо получать в только один документ в конкретный момент времени. Проблемка в том, что моментов много, и документы разные.
Этот кусок кода (пример выложен отчетом выше) используется для получения следующего номера документа: например
СчетФактура1 № 000001, СчетФактура2 № 000002, СчетФактура3 № А00001, - какой номер будет следущим - А00002, а надо 00003 - данную проблемку этот кусок кода и решает.
И все хорошо, пока не надо к счет-фактурам еще 5-6 документов таким порядком обрабатывать(у меня надо)
Вот я и закинул это безобразие в глобальник, и из документов передаю параметры.
Проблемка в том что в декабре(или раньше) начнутся тормоза (количество видов документов может быть расширено)
Как вариант оторвать руки бухгалтерам, но это Мы оставим на последок.
Вот и хочется узнать КАКИМ образом передавать в запрос ВидДокумента , а не перебирать всю кучу.
(4) А как работать с доками? Мне нужен только номерДок. Перебором?
6. Ёпрст 1065 13.07.09 17:08 Сейчас в теме
(5) Если чесно, непонял зачем вообще нужен весь этот бред..
Цель в итоге какая ?
7. MegaMouse 372 13.07.09 17:56 Сейчас в теме
Цель - создать универсальный механизм.
Идея эта пришла после того как 3й или 4й раз восстановил автоматическую нумерацию в базе.
Сейчас в файлы примера добавлю полный текст модуля СчетФактуры - может так нагляднее будет
8. Ёпрст 1065 13.07.09 18:16 Сейчас в теме
Универсальный механизм чего ?
Нафига в запросе строка из всех видов, если используется 1 вид на выходе..да еще и так через одно место?
Чего, так не судьба писать было?

ТекстЗапроса = "
|Док = Докумен."+ВыбДок.Вид()+".ТекущийДокумент;
|Группировка Док;";
9. MegaMouse 372 14.07.09 10:33 Сейчас в теме
Спасибо !!! Вот этого я и добивался - только ошибка на выходе выходила!!!
Заэтим и вид дока в параметрах передавал!!!!
Еще раз Спасибо !!!!!!!
Тема закрыта.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот