Доброго времени дня! Помогите строму 7-ку, составить запрос на 8-ке.
Есть вот такой запрос, нужно тоже самое на 8-ке, но только там другой вид документов будет.
Есть вот такой запрос, нужно тоже самое на 8-ке, но только там другой вид документов будет.
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Период с НачДата по КонДата;
|ОбрабатыватьДокументы Проведенные;
|ТекДок = Документ.ПриходныйОрдер.ТекущийДокумент;
|Подраз = Документ.ПриходныйОрдер.ТекущийДокумент.Магазин;
|СтатДох = Документ.ПриходныйОрдер.ТекущийДокумент.СтатьяДоходов;
|СуммаД = Документ.ПриходныйОрдер.ТекущийДокумент.Сумма;
|Группировка ТекДок;
|Условие (ТекДок.ПометкаУдаления() = 0);
|";
Если ПустоеЗначение(ВбрПодразделения) = 0 Тогда
ТекстЗапроса = ТекстЗапроса + "Условие (Подраз = ВбрПодразделения);";
КонецЕсли;
Если ПустоеЗначение(ВбрСтатьяДоходов) = 0 Тогда
ТекстЗапроса = ТекстЗапроса + "Условие (СтатДох = ВбрСтатьяДоходов);";
КонецЕсли;
ПоказатьПо теме из базы знаний
- Как сдать экзамен 1С:Специалист по платформе?
- Возврат рекомендуемых шаблонов и ограничение состава процессов обработки в 1С:Документооборот 2.1.13+
- Запрос всей номенклатуры с характеристиками
- Документальное оформление бизнес-процессов в проектах по автоматизации
- Зачем и как читать чужой код? Какой результат ожидаем получить? Основные подходы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) alex_gus, ежели я тебя правильно понял то что-то типа:
ВЫБРАТЬ
ПриходныйКассовыйОрдер.Ссылка,
ПриходныйКассовыйОрдер.Касса,
ПриходныйКассовыйОрдер.СтатьяДвиженияДенежныхСредств,
ПриходныйКассовыйОрдер.СуммаДокумента
ИЗ
Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ГДЕ
ПриходныйКассовыйОрдер.ПометкаУдаления = ЛОЖЬ
И ПриходныйКассовыйОрдер.Дата МЕЖДУ &НачДата И &КонДата
Показать
(8) alex_gus, задача написать печатную форму?
Берем консоль запросов для тестирования результата запроса. В ней же его легко составить, протеститьваро и также сделать импорт кода для вставки в процедуру!
Далее берем любой типовой отчет и смотрим как он работает.
Думаю отладчиком в 1с7 научились пользоваться? В 1с8 он практически такой же.
Создаем макет, тут минимум отличий от 1с7.
Все скопировали код. Вставили запрос. Готово!
В 1с8 ноль? Слей уроки Гилева 21 программирования на 8.3. Для начала пойдет, а там вольешься.
Берем консоль запросов для тестирования результата запроса. В ней же его легко составить, протеститьваро и также сделать импорт кода для вставки в процедуру!
Далее берем любой типовой отчет и смотрим как он работает.
Думаю отладчиком в 1с7 научились пользоваться? В 1с8 он практически такой же.
Создаем макет, тут минимум отличий от 1с7.
Все скопировали код. Вставили запрос. Готово!
В 1с8 ноль? Слей уроки Гилева 21 программирования на 8.3. Для начала пойдет, а там вольешься.
(10) Xershi, ды делал в 8-ке, печатные формы, ды кое что по мелочи правил в конфигурации. Своих отчетов в 8-ке никогда не делал, в моем представлении отчет должен быть таким, открываешь форму на ней выбираешь дату с по..дале два реквизита отбора данных, в самой процедуре запрос к документам с отборам по реквизитам выбранным на форме с выводом потом в макет, все профит....тут нихрена не понятно...мне бы для примера что -то типа такого отчета, там бы я быстро сообразил.
(13) alex_gus, На самом деле поначалу не понимаешь, за что хвататься (как впрочем было всегда, с 6.0 на 7.* было круче), но поработав в 8 вернуться на клюшки прооблематично, как тут кто то заметил - ощущение, как будто у тебя не хватает одной руки :-)
Да, ИМХО - разбираться нужно сразу с управляемыми формами - всё новое сейчас только там...а Вам какая разница - если в "8 ноль"?
Да, ИМХО - разбираться нужно сразу с управляемыми формами - всё новое сейчас только там...а Вам какая разница - если в "8 ноль"?
Итак сделал вот так :
Почему то результаты ограничиваются интервалом выбора дат, а вот ни на Подразделение и Статью доходов не реагирует вываливает все что есть.
А второй вопрос, есть что то типа ПриОткрытии() что бы можно было при открытии формы установить уже некоторые реквизиты в заполненное состояние?
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеНаРасчетныйСчет.Ссылка,
| ПоступлениеНаРасчетныйСчет.Подразделение,
| ПоступлениеНаРасчетныйСчет.СтатьяДоходов,
| ПоступлениеНаРасчетныйСчет.СуммаДокумента
|ИЗ
| Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
|ГДЕ
| ПоступлениеНаРасчетныйСчет.ПометкаУдаления = ЛОЖЬ И
| ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачДат И &КонДат
|УПОРЯДОЧИТЬ ПО
| ПоступлениеНаРасчетныйСчет.Дата ВОЗР";
Запрос.УстановитьПараметр("НачДат", НачДата);
Запрос.УстановитьПараметр("КонДат", КонДата);
Запрос.УстановитьПараметр("Подразделение", ВбрПодразделения);
Запрос.УстановитьПараметр("СтатьяДоходов", ВбрСтатьяДоходов);
ПоказатьПочему то результаты ограничиваются интервалом выбора дат, а вот ни на Подразделение и Статью доходов не реагирует вываливает все что есть.
А второй вопрос, есть что то типа ПриОткрытии() что бы можно было при открытии формы установить уже некоторые реквизиты в заполненное состояние?
(21) Xershi, сделал так, на выходе ничего нет вообще.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеНаРасчетныйСчет.Ссылка,
| ПоступлениеНаРасчетныйСчет.Подразделение,
| ПоступлениеНаРасчетныйСчет.СтатьяДоходов,
| ПоступлениеНаРасчетныйСчет.СуммаДокумента
|ИЗ
| Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
|ГДЕ
| ПоступлениеНаРасчетныйСчет.ПометкаУдаления = ЛОЖЬ
| И ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачДат И &КонДат
| И ПоступлениеНаРасчетныйСчет.Подразделение = &Подразделение
| И ПоступлениеНаРасчетныйСчет.СтатьяДоходов = &СтатьяДоходов
|
|УПОРЯДОЧИТЬ ПО
| ПоступлениеНаРасчетныйСчет.Дата";
Показать
Все, с запросом понятно, вроде работает как надо.
Второй пункт так и не понятен.
Сделал так :
При открытии формы боксы с датами пустые(
Второй пункт так и не понятен.
Сделал так :
Процедура ПриОткрытии()
НачДата = НачалоМесяца(ТекущаяДата());
КонДата = ТекущаяДата();
КонецПроцедуры
При открытии формы боксы с датами пустые(
Все таки запрос работает не совсем так как нужно, если не выбирать параметры на форме типа подразделения или/ статьи то в результаты попадают документы только те у которых не заполнены эти параметры, а нужно что бы вообще все попадали....т.е. запрос отбрасывает документы у которых заполнен хотя бы один из этих параметров. Я так понимаю ДобавитьУсловие надо через если делить? Типа если выбрали на форме то добавлять условие ?
(46) alex_gus, можно и по условию текст запроса формировать, но вариант (43) читабельнее + можно пользоваться конструктором.
с добавлением текста запроса по условию можно как-то так делать:
с добавлением текста запроса по условию можно как-то так делать:
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ
| ПоступлениеНаРасчетныйСчет.Ссылка,
| ПоступлениеНаРасчетныйСчет.Подразделение,
| ПоступлениеНаРасчетныйСчет.СтатьяДоходов,
| ПоступлениеНаРасчетныйСчет.СуммаДокумента
|ИЗ
| Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
|ГДЕ
| ПоступлениеНаРасчетныйСчет.ПометкаУдаления = ЛОЖЬ
| И ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачДат И &КонДат";
Если ЗначениеЗаполнено(ВбрПодразделения) Тогда
ТекстЗапроса = ТекстаЗапроса + "
| И ПоступлениеНаРасчетныйСчет.Подразделение = &Подразделение";
Запрос.УстановитьПараметр("Подразделение", ВбрПодразделения);
КонецЕсли;
//... тоже самое со статьей
//в конце добавляем порядок сортировки
ТекстЗапроса = ТекстЗапроса + "
|УПОРЯДОЧИТЬ ПО
| ПоступлениеНаРасчетныйСчет.Дата";
Запрос.Текст = ТекстЗапроса;
Показать
(48) alexx2510, вот это прямо по "клюшкенски"))) Так мне нравится)
Вопрос такой возник, в 7.7 в свойстве ячейки в макете, ставил ТекРасшифровка# в модуле делал типа ТекРасшифровка = Запрос.ТекДок и по двойному клику, открывался документ ну или справочник что угодно короче..как это сделать тут ? Расшифровку я нашел в свойствах ячейки а что в модуле писать ? Да и надо было Таб.ТолькоПросмотр(1), а тут как?
Вопрос такой возник, в 7.7 в свойстве ячейки в макете, ставил ТекРасшифровка# в модуле делал типа ТекРасшифровка = Запрос.ТекДок и по двойному клику, открывался документ ну или справочник что угодно короче..как это сделать тут ? Расшифровку я нашел в свойствах ячейки а что в модуле писать ? Да и надо было Таб.ТолькоПросмотр(1), а тут как?
(40) alex_gus, пиши так
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеНаРасчетныйСчет.Ссылка,
| ПоступлениеНаРасчетныйСчет.Подразделение,
| ПоступлениеНаРасчетныйСчет.СтатьяДоходов,
| ПоступлениеНаРасчетныйСчет.СуммаДокумента
|ИЗ
| Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
|ГДЕ
| ПоступлениеНаРасчетныйСчет.ПометкаУдаления = ЛОЖЬ
| И ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &НачДат И &КонДат
| И ВЫБОР
| КОГДА &ПодразделениеЗаполнено Тогда ПоступлениеНаРасчетныйСчет.Подразделение = &Подразделение
| ИНАЧЕ ИСТИНА
| КОНЕЦ
| И ВЫБОР
| КОГДА &СтатьяДоходовЗаполнена Тогда ПоступлениеНаРасчетныйСчет.СтатьяДоходов = &СтатьяДоходов
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| ПоступлениеНаРасчетныйСчет.Дата";
Запрос.УстановитьПараметр("НачДат", НачДата);
Запрос.УстановитьПараметр("КонДат", КонДата);
Запрос.УстановитьПараметр("ПодразделениеЗаполнено", ЗначениеЗаполнено(ВбрПодразделения));
Запрос.УстановитьПараметр("СтатьяДоходовЗаполнена", ЗначениеЗаполнено(ВбрСтатьяДоходов));
Запрос.УстановитьПараметр("Подразделение", ВбрПодразделения);
Запрос.УстановитьПараметр("СтатьяДоходов", ВбрСтатьяДоходов);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот