|
Условие при выполнении запроса | ☑ | ||
---|---|---|---|---|
0
Валидатор
19.11.13
✎
15:32
|
Есть запрос для вывода номенклатуры
Процедура ИнициализацияЗапроса() Текст = "ВЫБРАТЬ | ПартииТоваровНаСкладахОстаткиИОбороты.Склад, | СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, | СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, | СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, | СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, | ИСТИНА КАК Флаг, | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, | ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость |{ВЫБРАТЬ | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, | Склад.*, | НоменклатурнаяГруппа.*} |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних | ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |{ГДЕ | ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} | |СГРУППИРОВАТЬ ПО | ПартииТоваровНаСкладахОстаткиИОбороты.Склад, | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, | ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, | ЦеныНоменклатурыСрезПоследних.Цена |АВТОУПОРЯДОЧИВАНИЕ"; ПостроительОтчета.Текст = Текст; Отбор = ПостроительОтчета.Отбор; //НачалоПериода Если Отбор.Найти("НачалоПериода") = Неопределено Тогда Отбор.Добавить("НачалоПериода"); КонецЕсли; Отбор["НачалоПериода"].Использование = Истина; Отбор["НачалоПериода"].Значение = НачалоМесяца(РабочаяДата); Отбор["НачалоПериода"].ВидСравнения = ВидСравнения.Равно; //КонецПериода Если Отбор.Найти("КонецПериода") = Неопределено Тогда Отбор.Добавить("КонецПериода"); КонецЕсли; Отбор["КонецПериода"].Использование = Истина; Отбор["КонецПериода"].Значение = КонецМесяца(РабочаяДата); Отбор["КонецПериода"].ВидСравнения = ВидСравнения.Равно; //Номенклатура Если Отбор.Найти("Номенклатура") = Неопределено Тогда Отбор.Добавить("Номенклатура"); КонецЕсли; Отбор["Номенклатура"].Использование = Ложь; Отбор["Номенклатура"].Значение = Справочники.Номенклатура.ПустаяСсылка(); Отбор["Номенклатура"].ВидСравнения = ВидСравнения.Равно; //Номенклатура Если Отбор.Найти("Склад") = Неопределено Тогда Отбор.Добавить("Склад"); КонецЕсли; Отбор["Склад"].Использование = Истина; Отбор["Склад"].Значение = Справочники.Склады.НайтиПоНаименованию("Магазин ""Sony"""); Отбор["Склад"].ВидСравнения = ВидСравнения.Равно; //НоменклатурнаяГруппа Если Отбор.Найти("НоменклатурнаяГруппа") = Неопределено Тогда Отбор.Добавить("НоменклатурнаяГруппа"); КонецЕсли; Отбор["НоменклатурнаяГруппа"].Использование = Истина; Отбор["НоменклатурнаяГруппа"].Значение = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("SONY"); Отбор["НоменклатурнаяГруппа"].ВидСравнения = ВидСравнения.Равно; //ТипЦен Если Отбор.Найти("ТипЦен") = Неопределено Тогда Отбор.Добавить("ТипЦен"); КонецЕсли; Отбор["ТипЦен"].Использование = Истина; Отбор["ТипЦен"].Значение = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"); Отбор["ТипЦен"].ВидСравнения = ВидСравнения.Равно; ПостроительОтчета.Выполнить(); КонецПроцедуры //ИнициализацияЗапроса() в справочнике номенклатура есть реквизит с булевым типом, называется особая, вот мне нужно чтобы в этом запросе было следующее: берется все, как есть сейчас + номенклатура, у которой стоит галочка особая, как так сделать? на закладке условия прописывал что берем номенклатуру у котороая особая = истина, так в итоге вообще данные никакие не попадают( |
|||
1
1dvd
19.11.13
✎
15:33
|
Кури ОБЪЕДИНИТЬ ВСЕ
|
|||
2
Валидатор
19.11.13
✎
15:34
|
(1) создать новый пакет запроса, в котором выбрать номенклатуру с галочкой = истина, и потом 2 запроса объединить?
|
|||
3
Валидатор
19.11.13
✎
15:35
|
(2) точнее не пакет а просто запрос
|
|||
4
1dvd
19.11.13
✎
15:38
|
хотя попробуй просто в (0) ЛЕВОЕ соединение поменять на ПРАВОЕ
|
|||
5
1dvd
19.11.13
✎
15:38
|
(4) сторно. Не разобравшись запостил
|
|||
6
Валидатор
19.11.13
✎
15:40
|
(4) тогда он покажет только те позиции, у которых стоят галочки, а нужно те, который удовлетворяют запросу + те у которых стоят галочки
|
|||
7
Валидатор
19.11.13
✎
15:49
|
как в существующем запросе добавить вывод дополнительных позиций при условии?
|
|||
8
dk
19.11.13
✎
15:53
|
(7) тебе же написали про Объединить все
без конструктора собрать запрос не можешь? |
|||
9
Валидатор
19.11.13
✎
15:56
|
ВЫБРАТЬ
ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ОсобаяНоменклатура = ИСТИНА АВТОУПОРЯДОЧИВАНИЕ вот что получилось, только теперь позиции дублироваться стали, из за чего? |
|||
10
hhhh
19.11.13
✎
16:00
|
тип цен забыли имхо. У вас по двум ценам фигачит.
|
|||
11
Wobland
19.11.13
✎
16:00
|
из-за ВСЕ
|
|||
12
Wobland
19.11.13
✎
16:00
|
(11) сторно. а прикольный второй запрос. в чём смысл?
|
|||
13
dk
19.11.13
✎
16:01
|
Суров ))) Хотя бы ссылку на номенклатуру оставил а у тебя еще и склад там ) |
|||
14
Валидатор
19.11.13
✎
16:01
|
(12) ну а как выбрать номенклатуры у которых стоит галочка в карточке? я подумал что так)
|
|||
15
Валидатор
19.11.13
✎
16:01
|
(13) сначала оставил, потом подумал что не нужны они мне, там еще номенклатурные группы были)
|
|||
16
Wobland
19.11.13
✎
16:02
|
(14) решил, что выбрать нуллы выберет тебе номенклатуры?
|
|||
17
Валидатор
19.11.13
✎
16:02
|
ВЫБРАТЬ
ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость, NULL КАК Ссылка, NULL КАК НоменклатурнаяГруппа1 {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, Номенклатура.Ссылка, Номенклатура.НоменклатурнаяГруппа ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ОсобаяНоменклатура = ИСТИНА АВТОУПОРЯДОЧИВАНИЕ так правильнее? |
|||
18
Валидатор
19.11.13
✎
16:03
|
(17) хотя немного ща переделаю
|
|||
19
Валидатор
19.11.13
✎
16:03
|
во:
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость, NULL КАК НоменклатураОсобаяНоменклатура {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад, NULL, NULL, NULL, NULL, NULL, NULL, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, NULL, NULL, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.ОсобаяНоменклатура ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты КАК ПартииТоваровНаСкладахОстаткиИОбороты ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.ОсобаяНоменклатура = ИСТИНА АВТОУПОРЯДОЧИВАНИЕ |
|||
20
Wobland
19.11.13
✎
16:04
|
уже лучше ;)
|
|||
21
Валидатор
19.11.13
✎
16:06
|
только теперь так получается: есть номенклатура - носок, я в карточку захожу, ставлю галочку - особая
Открывается обработка там вываливается этот носок, и в конце списка еще раз он же, нафиг он мне 2 раза? |
|||
22
Wobland
19.11.13
✎
16:07
|
(21) это прикол ВСЕх
|
|||
23
Валидатор
19.11.13
✎
16:07
|
(22) оставить просто "Объединить" ?
|
|||
24
Wobland
19.11.13
✎
16:11
|
(23) да не поможет. что ты хочешь от запроса?
|
|||
25
Wobland
19.11.13
✎
16:13
|
>берется все, как есть сейчас + номенклатура, у которой стоит галочка особая
задача решена |
|||
26
Валидатор
19.11.13
✎
16:13
|
(24) чтобы не дублировалась номенклатура, и если у нее стоит галочка, она одна в список и выводится
|
|||
27
Wobland
19.11.13
✎
16:15
|
(26) есть носок, который приходил в количестве пяти штук, есть носок, который особый. который интересует?
|
|||
28
Валидатор
19.11.13
✎
16:16
|
(27) так если носок приходил в количестве 5 штук, карточка у него называется носок, и не было галочки особый, а потом зашли, и поставили галчоку особый, то есть у нас ведь получится 5 носок особый так?
|
|||
29
Wobland
19.11.13
✎
16:17
|
что ты хочешь от запроса? какова цель?
|
|||
30
Валидатор
19.11.13
✎
16:19
|
(29) получить все номенклатуры по складу, и все номенклатуры, у которых стоят галочка особый, типа того:
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость ПОМЕСТИТЬ втЗапр1 {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.ОсобаяНоменклатура ПОМЕСТИТЬ втЗап2 ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты КАК ПартииТоваровНаСкладахОстаткиИОбороты ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.ОсобаяНоменклатура = ИСТИНА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втЗап2.Номенклатура, втЗап2.Склад, втЗап2.НоменклатураОсобаяНоменклатура, втЗапр1.Склад КАК Склад1, втЗапр1.КоличествоНачальныйОстаток, втЗапр1.Количество, втЗапр1.Оборот, втЗапр1.КоличествоПриход, втЗапр1.КоличествоРасход, втЗапр1.Флаг, втЗапр1.Номенклатура КАК Номенклатура1, втЗапр1.НоменклатурнаяГруппа, втЗапр1.Стоимость ИЗ втЗапр1 КАК втЗапр1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ втЗап2 КАК втЗап2 ПО втЗапр1.Склад = втЗап2.Склад И втЗапр1.Номенклатура = втЗап2.Номенклатура только тут выдается щас та номенклатура, у которой галочка стоит |
|||
31
Wobland
19.11.13
✎
16:24
|
ладно, с другого конца.. что с результатом делать будешь?
|
|||
32
Валидатор
19.11.13
✎
16:25
|
(31) в результате я выгружаю все это дело в таблицу, и ее потом выгружаю в файл
|
|||
33
Wobland
19.11.13
✎
16:26
|
это просто замечательно! а кому нужен файл с остатками и ещё какой-то номенклатурой
|
|||
34
Валидатор
19.11.13
✎
16:27
|
(33) попросили, откуда я знаю зачем он им нужен) они сейчас выгружают файлы с текущей номенклатурой по запросу в (0), а теперь хотят чтобы номенклатура, в которой они ручками проставят галочки особая так же была в этом списке выгружаемых файлов
|
|||
35
Wobland
19.11.13
✎
16:28
|
(34) с какой ценой? с каким количеством прихода и т.п.
|
|||
36
Валидатор
19.11.13
✎
16:31
|
(35) цена берется РС цены номенклатуры. Они сейчас грузят по остаткам номенклатуру, а хотят чтобы был перечень номенклатуры, который всегда будет выгружаться, если у него стоит галочка в карточке, не важно есть он на складах или нет, это у меня и не получается сделать
|
|||
37
Wobland
19.11.13
✎
16:35
|
из
(выбрать номенклатуру из справочника где особая объединить выбрать номенклатуру из партий) как СписокНоменклатуры левое партии левое цены ... как-то не соображу по-другому |
|||
38
Валидатор
19.11.13
✎
16:37
|
ВЫБРАТЬ
ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, NULL, NULL, NULL, NULL, Номенклатура.Ссылка, Номенклатура.НоменклатурнаяГруппа, NULL ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ОсобаяНоменклатура = ИСТИНА АВТОУПОРЯДОЧИВАНИЕ вот так сделал |
|||
39
Валидатор
20.11.13
✎
13:35
|
ВЫБРАТЬ
ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, NULL, NULL, NULL, ИСТИНА, Номенклатура.Ссылка, Номенклатура.НоменклатурнаяГруппа, NULL ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ОсобаяНоменклатура = ИСТИНА АВТОУПОРЯДОЧИВАНИЕ сделал так, но все равно дубли есть блин((( |
|||
40
1dvd
20.11.13
✎
13:37
|
(39) делай через ПОЛНОЕ СОЕДИНЕНИЕ.
Не нужно ОБЪЕДИНИТЬ ВСЕ |
|||
41
Wobland
20.11.13
✎
13:40
|
(40) кого с кем соединять?
|
|||
42
Валидатор
20.11.13
✎
13:43
|
(40) вот вот, в 1 запросе полное соединение без 2 запроса не поулчится
|
|||
43
m-serg74
20.11.13
✎
13:50
|
(42) а для особой количества не нужны? просто список?
|
|||
44
Валидатор
20.11.13
✎
13:52
|
(43) да хотя бы список получить пока)
|
|||
45
Валидатор
20.11.13
✎
13:52
|
(43) хотя да, количества не нужны для особой
|
|||
46
Wobland
20.11.13
✎
13:53
|
(45) даже ля той особой, которая есть на складе?
|
|||
47
m-serg74
20.11.13
✎
13:53
|
(46) ТС не в курсе что надо )))
|
|||
48
Wobland
20.11.13
✎
13:54
|
(47) ещё вчера мне было ясно ;)
|
|||
49
Валидатор
20.11.13
✎
13:55
|
(46) если она стала особой, то тогда да
|
|||
50
m-serg74
20.11.13
✎
13:55
|
(48) хотя нет... знает - файл с номенклатурой и остатками
|
|||
51
Wobland
20.11.13
✎
13:56
|
(50) и не_остатками. практическая ценность такого файла так и не понятна
|
|||
52
m-serg74
20.11.13
✎
13:56
|
просто чтоб был
|
|||
53
Валидатор
20.11.13
✎
13:56
|
Если в кратце:
Номенклатура была с ценой и количеством, в нее зашли, поставили ей галочка - особая, теперь она выводится всегда, в независимости есть она на складе или нет |
|||
54
m-serg74
20.11.13
✎
13:56
|
(53) внимательно читай (37)
|
|||
55
Wobland
20.11.13
✎
13:56
|
(49) ну всё равно можно принудительно занулять количества в (37)
|
|||
56
m-serg74
20.11.13
✎
13:59
|
(55) он еще не определился:
если особая то всегда выводить или занулять количества |
|||
57
Валидатор
20.11.13
✎
14:00
|
(56) я же писал, всегда выводить
|
|||
58
m-serg74
20.11.13
✎
14:01
|
(57) а с количеством что? если особая
|
|||
59
Wobland
20.11.13
✎
14:02
|
(58) естьNULL(количество, 0)
|
|||
60
Валидатор
20.11.13
✎
14:02
|
(58) количество пусть будет нулевым, потому что всегда уверены что номенклатура есть
|
|||
61
Wobland
20.11.13
✎
14:03
|
(60) хреновый аргумент
|
|||
62
m-serg74
20.11.13
✎
14:03
|
(59) спс:) я то и не знал, я у ТСа спрашивал что делать если есть на складе
|
|||
63
Валидатор
20.11.13
✎
14:04
|
Есть просто номенклатура без галочки особая при выгрузке например у нее количество 60, мы ставим ей галочку особая - и она всегда выгружается, но количество у нее уже будет 0, потому что она особая
|
|||
64
m-serg74
20.11.13
✎
14:04
|
(63) (37) читал? или до сих пор игнорируешь?
|
|||
65
Wobland
20.11.13
✎
14:05
|
(63) выбор когда особая тогда 0 иначе количество из регистра конец
|
|||
66
Валидатор
20.11.13
✎
14:05
|
читал, не понял
пакетными запросами пытался делать, вот что вышло, но сейчас берется только номенклатура у которой есть галочка ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость ПОМЕСТИТЬ Вт_НоменклатураСОстатками {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Номенклатура.Ссылка, Номенклатура.НоменклатурнаяГруппа ПОМЕСТИТЬ вт_НоменклатураОсобая ИЗ Справочник.Номенклатура КАК Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Вт_НоменклатураСОстатками.Стоимость, Вт_НоменклатураСОстатками.НоменклатурнаяГруппа, Вт_НоменклатураСОстатками.Номенклатура, Вт_НоменклатураСОстатками.Флаг, Вт_НоменклатураСОстатками.КоличествоРасход, Вт_НоменклатураСОстатками.КоличествоПриход, Вт_НоменклатураСОстатками.Оборот, Вт_НоменклатураСОстатками.КоличествоКонечныйОстаток, Вт_НоменклатураСОстатками.КоличествоНачальныйОстаток, Вт_НоменклатураСОстатками.Склад, вт_НоменклатураОсобая.Ссылка ИЗ Вт_НоменклатураСОстатками КАК Вт_НоменклатураСОстатками ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт_НоменклатураОсобая КАК вт_НоменклатураОсобая ПО Вт_НоменклатураСОстатками.Номенклатура = вт_НоменклатураОсобая.Ссылка ГДЕ вт_НоменклатураОсобая.Ссылка.ОсобаяНоменклатура = ИСТИНА |
|||
67
Валидатор
20.11.13
✎
14:07
|
(64) по (37) так выходит:
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК Количество, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, NULL, NULL, NULL, ИСТИНА, Номенклатура.Ссылка, Номенклатура.НоменклатурнаяГруппа, NULL ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ОсобаяНоменклатура = ИСТИНА АВТОУПОРЯДОЧИВАНИЕ |
|||
68
m-serg74
20.11.13
✎
14:15
|
что мешает так?
|
|||
69
Wobland
20.11.13
✎
14:16
|
(68) особая номенклатура возможна в двух записях
|
|||
70
m-serg74
20.11.13
✎
14:16
|
(68) образно просто лень было все ГДЕ и параметры виртуалок писать
|
|||
71
m-serg74
20.11.13
✎
14:17
|
(69) ему надо что б с нулевым количеством, поэтому в первом запросе отрезаем особую
|
|||
72
Wobland
20.11.13
✎
14:18
|
(71) не углядел. точно
|
|||
73
m-serg74
20.11.13
✎
14:20
|
(72) а если надо было б с количеством, если есть то тогда твое из (37) + ЕСТЬНУЛЛ(Количество)
|
|||
74
Валидатор
20.11.13
✎
14:23
|
вот так сделал, дублирования пока не нашел еще))
ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Склад, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоОборот) КАК Оборот, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, ИСТИНА КАК Флаг, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Стоимость ПОМЕСТИТЬ Вт_НоменклатураСОстатками {ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, Склад.*, НоменклатурнаяГруппа.*} ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура {ГДЕ ПартииТоваровНаСкладахОстаткиИОбороты.Склад.*, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*, ЦеныНоменклатурыСрезПоследних.ТипЦен, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа.* КАК НоменклатурнаяГруппа} СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Склад, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.НоменклатурнаяГруппа, ЦеныНоменклатурыСрезПоследних.Цена ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Вт_НоменклатураСОстатками.Склад, Вт_НоменклатураСОстатками.КоличествоНачальныйОстаток, Вт_НоменклатураСОстатками.КоличествоКонечныйОстаток, Вт_НоменклатураСОстатками.Оборот, Вт_НоменклатураСОстатками.КоличествоПриход, Вт_НоменклатураСОстатками.КоличествоРасход, Вт_НоменклатураСОстатками.Флаг, Вт_НоменклатураСОстатками.Номенклатура, Вт_НоменклатураСОстатками.НоменклатурнаяГруппа, Вт_НоменклатураСОстатками.Стоимость ИЗ Вт_НоменклатураСОстатками КАК Вт_НоменклатураСОстатками ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, NULL, NULL, NULL, ИСТИНА, спрНоменклатура.Ссылка, спрНоменклатура.НоменклатурнаяГруппа, NULL ИЗ Справочник.Номенклатура КАК спрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ Вт_НоменклатураСОстатками КАК Вт_НоменклатураСОстатками ПО спрНоменклатура.Ссылка = Вт_НоменклатураСОстатками.Номенклатура ГДЕ спрНоменклатура.ОсобаяНоменклатура = ИСТИНА И Вт_НоменклатураСОстатками.Номенклатура ЕСТЬ NULL |
|||
75
Wobland
20.11.13
✎
14:28
|
(74) где не особая добавь в вт_с_остатками
|
|||
76
Wobland
20.11.13
✎
14:28
|
и соединение выкини из крайнего запроса
|
|||
77
m-serg74
20.11.13
✎
14:33
|
+ (76) и может ТС наконец-то "NULL" на "0" для количеств соизволит заменить:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |