|
Создание запроса с двойным условием | ☑ | ||
---|---|---|---|---|
0
Saengmyung
07.10.13
✎
14:50
|
Подскажите, пожалуйста, как можно реализовать задачу:
В 1С:Бухгалтерия 8.2 есть регистр бухгалтерии "Журнал проводок". В данном регистре есть данные по документам "Поступление на расчетный счет" и "Приходный кассовый ордер". Из этих данных нужно выцепить следующее: - дату - подразделение - статью затрат - сумму. Имеется шаблон запроса, которые выводит сумму по определенной статье затрат: Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Период КАК Период, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеЗаРекламу) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление1, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.РекламаСобраннаяДрПредприятиями) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление2, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеЗаТираж) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление3, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.РекламаВПечИзданияСобраннаяПредприятиемДляДругих) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление4, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.РекламаНаСайтыСобраннаяПредприятиемДляДругих) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление5, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПрочаяРеализация) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление6, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПрочиеПоступления) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление7, | ХозрасчетныйОстаткиИОбороты.СуммаОборот КАК ПоступлениеДенСредств, | 0 КАК КассаНачОст, | 0 КАК КассаКонОст, | 0 КАК РасчетныеСчетаНачОст, | 0 КАК РасчетныеСчетаКонОст, | 0 КАК ВалютныеСчетаНачОст, | 0 КАК ВалютныеСчетаКонОст, | 0 КАК ДепозитНачОст, | 0 КАК ДепозитКонОст, | 0 КАК ПрочиеДенежныеСредстваНачОст, | 0 КАК ПрочиеДенежныеСредстваКонОст |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( | &НачПериода, | &КонПериода, | Неделя, | , | Счет В ИЕРАРХИИ (&Счета_ДенСредства), | &ВидСубконто_СтатьиДДС, | Субконто1.Предопределенный | И Субконто1 В ИЕРАРХИИ (&ГруппыДДС)) КАК ХозрасчетныйОстаткиИОбороты Я думаю, что часть запроса: | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеЗаРекламу) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление1, Должна будет выглядеть примерно так: ВЫБОР |КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеЗаРекламу) | И | ХозрасчетныйОстаткиИОбороты.ПодразделениеКт = Значение (Справочник.ПодразделенияОрганизаций.Администрация) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ KAK Поступление1, Но у меня выходит ошибка. Что я делаю не так? |
|||
1
Нуф-Нуф
07.10.13
✎
14:51
|
Значение (Справочник.ПодразделенияОрганизаций.Администрация)
|
|||
2
Saengmyung
08.10.13
✎
06:23
|
(1) Я так понимаю, что это условие не верно, так?
|
|||
3
Wobland
08.10.13
✎
06:27
|
не чиатешь/не приводишь текст ошибки
|
|||
4
Saengmyung
08.10.13
✎
07:08
|
(3) "Неверные параметры "Справочник.ПодразделенияОрганизаций.Администрация" ХозрасчетныйОстаткиИОбороты.ПодразделениеКт = Значение (<<?>> Справочник.ПодразделенияОрганизаций.Администрация)
|
|||
5
Wobland
08.10.13
✎
07:09
|
(4) перевожу на русский. нет у тебя предопределённой администрации. или вообще справочника подразделений нет
|
|||
6
kosts
08.10.13
✎
07:18
|
(0)
Значение (Справочник.ПодразделенияОрганизаций.Администрация) Таким способом вытаскиваются ссылки на заранее предопределенные в конфигураторе элементы. В типовом справочнике Подразделений нет никаких предопределенных элементов. У каждой организации свои подразделения. Тебе нужно использовать параметры: ХозрасчетныйОстаткиИОбороты.ПодразделениеКт = &ПодраздСсылка ... Запрос.УстановитьПараметр("ПодраздСсылка", ........ ); |
|||
7
extrim-style
08.10.13
✎
08:02
|
(0) судя по нику китайцы таки начали учить русский язык...
|
|||
8
Saengmyung
08.10.13
✎
08:18
|
(7) Во-первых, это корейский, во-вторых можно посмотреть карточку и увидеть русское имя ;)
|
|||
9
Wobland
08.10.13
✎
08:21
|
святая корова! фотки нет, а я уже всё выболтал ;)
|
|||
10
ДенисЧ
08.10.13
✎
08:22
|
(9) Теряешь форму....
|
|||
11
extrim-style
08.10.13
✎
08:47
|
(8) хитрые китайцы не палятсо)
|
|||
12
Feunoir
08.10.13
✎
09:12
|
(9) 30 секунд поиска в интернете даст даже сотовый телефон ТС. Всё-таки уникальные ники это зло :)
|
|||
13
Feunoir
08.10.13
✎
09:15
|
+(12) https://www.facebook.com/Saengmyung и вконтактике тоже.
|
|||
14
Saengmyung
08.10.13
✎
09:26
|
(12)Увы, номер давно уже устаревший) Насчет уникальности ника - просто не хотелось повторяться)
|
|||
15
Saengmyung
08.10.13
✎
10:13
|
Помогите, пожалуйста...
У меня все равно выдает ошибку, что переменная не определена.. Может можно вообще проще создать запрос,который сразу вытаскивает записи по статьям движения денежных средств, подразделениям и сумме поступления? Я только учусь прогить, поэтому путаюсь( |
|||
16
Wobland
08.10.13
✎
10:14
|
(15) а это уже другая ошибка. внимательно смотри на переменную и думай, почему не определена
|
|||
17
kosts
08.10.13
✎
10:18
|
(15) Код выложи.
|
|||
18
Saengmyung
08.10.13
✎
10:25
|
(17) Для Каждого МесяцОтчета Из ТЗПериоды Цикл
Состояние("Обрабатываются данные за "+Формат(МесяцОтчета.НачПериода,"ДФ=""ММММ гггг 'г.'""")); ОбработкаПрерыванияПользователя(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Период КАК Период, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеЗаРекламу) | И ХозрасчетныйОстаткиИОбороты.ПодразделениеКт = &ПодраздСсылка | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление1, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.РекламаСобраннаяДрПредприятиями) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление2, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПоступлениеЗаТираж) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление3, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.РекламаВПечИзданияСобраннаяПредприятиемДляДругих) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление4, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.РекламаНаСайтыСобраннаяПредприятиемДляДругих) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление5, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПрочаяРеализация) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление6, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПрочиеПоступления) | ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ КАК Поступление7, | ХозрасчетныйОстаткиИОбороты.СуммаОборот КАК ПоступлениеДенСредств, | 0 КАК КассаНачОст, | 0 КАК КассаКонОст, | 0 КАК РасчетныеСчетаНачОст, | 0 КАК РасчетныеСчетаКонОст, | 0 КАК ВалютныеСчетаНачОст, | 0 КАК ВалютныеСчетаКонОст, | 0 КАК ДепозитНачОст, | 0 КАК ДепозитКонОст, | 0 КАК ПрочиеДенежныеСредстваНачОст, | 0 КАК ПрочиеДенежныеСредстваКонОст |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( | &НачПериода, | &КонПериода, | Неделя, | , | Счет В ИЕРАРХИИ (&Счета_ДенСредства), | &ВидСубконто_СтатьиДДС, | Субконто1.Предопределенный | И Субконто1 В ИЕРАРХИИ (&ГруппыДДС)) КАК ХозрасчетныйОстаткиИОбороты | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты1.Период, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КассаОрганизации) | ИЛИ ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КассаОрганизацииВал) | ИЛИ ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОперационнаяКасса) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КассаОрганизации) | ИЛИ ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.КассаОрганизацииВал) | ИЛИ ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОперационнаяКасса) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаКонечныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетныеСчета) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаКонечныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВалютныеСчета) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ВалютныеСчета) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаКонечныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпециальныеСчета)) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СпециальныеСчета)) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаКонечныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДенежныеДокументы) | ИЛИ ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДенежныеДокументыВал) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ, | ВЫБОР | КОГДА ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДенежныеДокументы) | ИЛИ ХозрасчетныйОстаткиИОбороты1.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДенежныеДокументыВал) | ТОГДА ХозрасчетныйОстаткиИОбороты1.СуммаКонечныйОстаток | ИНАЧЕ 0 | КОНЕЦ |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачПериода, &КонПериода, Неделя, , Счет В ИЕРАРХИИ (&Счета_ДенСредства), , ) КАК ХозрасчетныйОстаткиИОбороты1 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ВложенныйЗапрос.Период, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0 |ИЗ | (ВЫБРАТЬ | Обороты9101.Период КАК Период, | -1 * Обороты9101.СуммаОборот КАК КурсоваяРазница | ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Неделя, Счет = &Счет9101, &ВидСубконто_Пр, Субконто1 В ИЕРАРХИИ (&КурсовыеРазницы), , ) КАК Обороты9101 | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | Обороты9102.Период, | -1 * Обороты9102.СуммаОборот | ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Неделя, Счет = &Счет9102, &ВидСубконто_Пр, Субконто1 В ИЕРАРХИИ (&КурсовыеРазницы), , ) КАК Обороты9102) КАК ВложенныйЗапрос | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Период | |УПОРЯДОЧИТЬ ПО | Период |ИТОГИ | СУММА(Поступление1), | СУММА(Поступление2), | СУММА(Поступление3), | СУММА(Поступление4), | СУММА(Поступление5), | СУММА(Поступление6), | СУММА(Поступление7), | СУММА(Поступление1 + Поступление2 + Поступление3 + Поступление4 + Поступление5 + Поступление6 + Поступление7) КАК ПоступлениеДенСредств, | СУММА(КассаНачОст), | СУММА(КассаКонОст), | СУММА(РасчетныеСчетаНачОст), | СУММА(РасчетныеСчетаКонОст), | СУММА(ВалютныеСчетаНачОст), | СУММА(ВалютныеСчетаКонОст), | СУММА(ДепозитНачОст), | СУММА(ДепозитКонОст), | СУММА(ПрочиеДенежныеСредстваНачОст), | СУММА(ПрочиеДенежныеСредстваКонОст) |ПО | ОБЩИЕ, | Период ПЕРИОДАМИ(НЕДЕЛЯ, &НачПериода, &КонПериода)"; Запрос.УстановитьПараметр("ПодраздСсылка",Справочники.ПодразделенияОрганизаций.Новосибирск); Запрос.УстановитьПараметр("НачПериода", МесяцОтчета.НачПериода); Запрос.УстановитьПараметр("КонПериода", МесяцОтчета.КонПериода); |
|||
19
Saengmyung
08.10.13
✎
10:26
|
(17) У меня проблема с самим запросом(
|
|||
20
anaed
08.10.13
✎
10:32
|
За запрос в цикле щас будут бить ссаными тряпками :)
Вместо каждого "Значение(Справочник." нужно указывать параметры - &имяпараметра, параметры устанавливать до Запрос.выполнить() методом Запрос.УстановитьПараметр("имяпараметра",Справочники.ИмяСправочника.НайтиПоКоду или НайтиПоНаименованию) "Справочники.ПодразделенияОрганизаций.Новосибирск" работать не будет, так как ты обращаешься к реквизиту Новосибирск у справочника, а не к элементу справочника. |
|||
21
catena
08.10.13
✎
10:34
|
(18)А где определяются остальные параметры запроса?
|
|||
22
Wobland
08.10.13
✎
10:34
|
Экзамен "1С:Специалист" по платформе "1С:Предприятие 8"
3 Оценка результата выполнения задания Получение информации, хранящейся в информационной базе, (остатков, оборотов, данных базы, данных графика и т.п.) в цикле 2,0 и остаётся всего 0.8 на прочее творчество |
|||
23
Saengmyung
08.10.13
✎
10:41
|
(21) Там ниже продолжается код... я не стала все копировать сюда...
(20)Запрос.УстановитьПараметр("ПодраздСсылка",Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(Администрация)); тоже дает ошибку "Не определена паременная "Администрация" =( |
|||
24
WSeagull
08.10.13
✎
10:41
|
ВЫБОР
КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 = &ПоступлениеЗаРекламу И ХозрасчетныйОстаткиИОбороты.Подразделение = &Подразделение ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборот ИНАЧЕ 0 КОНЕЦ КАК Поcтупление1 |
|||
25
WSeagull
08.10.13
✎
10:43
|
В кавычки может взять Администрация?
|
|||
26
anaed
08.10.13
✎
10:44
|
(23) потому что Наименование подразделения - строка, а Администрация это не объявленная переменная. В кавычки ее, и надо быть уверенным что подразделение в базе действительно называется "Администрация"
|
|||
27
Wobland
08.10.13
✎
10:44
|
(26) ну не обязательно так...
|
|||
28
Wobland
08.10.13
✎
10:45
|
прикол тут вспомнился
https://www.dropbox.com/s/67dj21d48ecablf/20130912_153153.jpg |
|||
29
hhhh
08.10.13
✎
11:08
|
(28) так второй параметр у НайтиПОнаименованию где?
|
|||
30
Saengmyung
08.10.13
✎
11:22
|
Спасибо все огромнейшее!!))
Получилось!!! |
|||
31
anaed
08.10.13
✎
11:23
|
(29) это скорее укор к (26), но я не в состоянии уже объяснить зачем там еще ",истина"
|
|||
32
Wobland
08.10.13
✎
11:24
|
(30) да как-то не заметно
|
|||
33
Saengmyung
08.10.13
✎
11:41
|
(32) Да нет, уже выбирается по статье движения денежных и по подразделению вместе)
|
|||
34
Wobland
08.10.13
✎
11:42
|
(33) ну не видно
http://s001.radikal.ru/i194/1310/9d/1b107e3a9c13.jpg |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |