Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 670
от 07.12.2007, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 400, Экспертов: 58
В номере:Вопросов: 1, Ответов: 4


Вопрос № 111877: Привет всем. Не могу никак решить один вопрос. Надеюсь на вашу помощь. Мне нужно сделать запрос по всем всем документам,кроме одного вида документа в 1С, притом нужно сделать группировку по кассирам и по счету, а также по одному условию. Перечислять ...

Вопрос № 111.877
Привет всем. Не могу никак решить один вопрос. Надеюсь на вашу помощь. Мне нужно сделать запрос по всем всем документам,кроме одного вида документа в 1С, притом нужно сделать группировку по кассирам и по счету, а также по одному условию. Перечислять в запросе все виды документа(|НомерДок = Документ.ОПЛ_Телеком.НомерДок; и т.д) это сущий мазохизм. Может есть какой-либо общий документ(типа |НомерДок = Документ.НомерДок; |Сумма = Документ.Сумма;) который можно использовать? Пробовал запрос по журналам(благо там есть общий), но нифига не вышло. Я так понял журналы вообще нельзя включать в запрос. Как ,вообще, лучше лучше сделать эту операцию? Если можно, то с примерами.
Отправлен: 01.12.2007, 16:53
Вопрос задал: Endru (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 11)

Отвечает: Besker®
Здравствуйте, Endru!
Журналы в запрос нельзя включить.
Разве что попоробуйте в одну переменную включить нужные документы, например:
|Документы = Документ.Счет.ТекущийДокумент, Документ.Опл.ТекущийДокумент, и т.д.
А дальше можно обращаться к реквизитам, например:
|Группировка Документы Упорядочить По Документы.Кассир;

Работа с запросом по документам нецелесообразна. Лучше воспользоваться запросм по регистрам.
---------
Жизнь - игра, а настоящая игра - МАНИЯ.
Ответ отправил: Besker® (статус: Студент)
Ответ отправлен: 01.12.2007, 17:45
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо! С Вашей помощью я узнал много нового для себя.

Отвечает: Сергей Максименко [Elric]
Здравствуйте, Endru!

"Общего документа" для запроса нет. По журналам запрос строить тоже нельзя.

Вариант 1.
Использовать регистр или забалансовый счет для накопления нужной информации в нужных разрезах, строить запрос по ним. Самый рациональный вариант, если допустимо перепроведение (или допроведение) документов за необходимый период.

Вариант 2.
Делать просто перебор документов, записывать данные в таблицу значений, сворачивать, сортировать и анализировать результат. пример приводить не буду -- слишком много деталей.

Вариант 3.
Текст запроса писать не "ручками", а программно, используя объект Метаданные. Пример - в Приложении. Правда, может понадобится контролировать длину строк, но с этим проблем не должно возникнуть.

Приложение:

---------
В творчестве рождается истина

Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: +38(095)2873210
Организация: "МАКСЕР" - продажа и внедрение "1С:Предприятие"
Адрес: г. Киев
WWW: "1С:Предприятие" - продажа, внедрение, сопровождение
----
Ответ отправлен: 01.12.2007, 21:25
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо! С Вашей помощью я узнал много нового для себя.

Отвечает: Владимир Лазурко [Vladal]
Здравствуйте, Endru!

Вы пошли в правильном направлении - рациональнее использовать запрос, в котором указать условие отбора и какие документы просматривать.

Предполагаю, что вопрос по 7-й версии.
Если Вам нужно включить в запрос ВСЕ документы кроме одного, а вручную (или с помощью конструктора запросов), Вы не хотите делать, сделайте одну маленькую обработку, с помощью которой в режиме предприятия получите список документов из конфигурации. Её текст в приложении (1) и пример результата в (2). Потом готовый список скопируйте в текст запроса и подкорректируйте в соответствии c Вашими нуждами, а после последнего документа вместо запятой поставьте точку c запятой.

В моём примере вместо кассира я отбирал по товарам и контрагентам. Например, найти все документы за ноябрь, в которых клиенту Иванову выписывали кефир, и чтобы сумма накладной была больше 100 рублей. Для этого я в форму обработки поместил два реквизита ВыбКонтрагент типа Справочник.Контрагенты и ВыбТовар типа Справочник.Номенклатура. В Вашем случае это будут реквизиты типа Справочник.Сотрудники (кассир) и Справочник.РасчетныеСчета. Также поместил диалог выбора периода.

Текст модуля в приложении (3).

Готовую обработку можно скачать по адресу
http://ifolder.ru/4381492
Название: rusfaq111877.zip, Размер: 7.09 кб

Успехов!
Владимир.

Приложение:

Ответ отправил: Владимир Лазурко [Vladal] (статус: 9-ый класс)
Ответ отправлен: 01.12.2007, 23:06
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо! С Вашей помощью я узнал много нового для себя. Отдельное спасибо хочу сказать за то, что не поленились сделать обработку для меня. Спасибо!

Отвечает: Астафьев Александр Николаевич
Здравствуйте, Endru!
Чтобы не перечислять все виды документа предлагаю обратиться к ним через регистр:
|Док = Регистр.ОстаткиТМЦ.ТекущийДокумент;
Если надо сделать по всем видам документов кроме одного включите в запрос условие типа:
|Условие(Док.Вид() <> "Инвентаризация");
если надо несколько разных условий задать то без проблем пишите сколько хотите
Ответ отправил: Астафьев Александр Николаевич (статус: 7-ой класс)
Ответ отправлен: 02.12.2007, 15:14
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо! С Вашей помощью я узнал много нового для себя. Я обязательно попробую сделать это через регистры, чтобы разобраться как это работает.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное