Имя: Пароль:
1C
1C 7.7
v7: Запрос в 77 ТИС
0 новичок12345
 
07.08.12
22:31
Подскажите, пожалуйста. Делаю отчет в 7 торговля и склад. Нужно сформировать запрос, который бы вывел номенклатуру, нач остаток, расход, приход, конечный остаток, остаток заявки покупателя, в т.ч. заказано поставщиком. В колонке Остаток заявки покупателя анализируются только заявки вида Заявка на поставку.
Если без этого анализа, то все хорошо выводится. А как только ставлю условие на ЗаявкаНаПоставку, так перестают выводится все остальные колонки. Вот мой запрос.
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ДатаНачала по ДатаКонца;
   |Фирма            = Регистр.ОстаткиТМЦ.Фирма,
   |                 Регистр.РезервыТМЦ.Фирма,
   |                 Регистр.ЗаказыЗаявки.ЗаявкаПокупателя.Фирма,
   |                  Регистр.Заявки.    Фирма;    
   |Док            = Регистр.ОстаткиТМЦ.ТекущийДокумент,            
   |                 Регистр.РезервыТМЦ.ТекущийДокумент,
   |                 Регистр.ЗаказыЗаявки.ТекущийДокумент,
   |                  Регистр.Заявки.   ТекущийДокумент;    
   |УпрАналитика    = Регистр.ОстаткиТМЦ.Фирма.УпрАналитика,
   |                 Регистр.РезервыТМЦ.Фирма.УпрАналитика,
   |                 Регистр.ЗаказыЗаявки.ЗаявкаПокупателя.Фирма.УпрАналитика,
   |                  Регистр.Заявки.    Фирма.УпрАналитика;    
   |ЮрЛицо        = Регистр.ОстаткиТМЦ.Фирма.ЮрЛицо,
   |                 Регистр.РезервыТМЦ.Фирма.ЮрЛицо,
   |                 Регистр.ЗаказыЗаявки.ЗаявкаПокупателя.Фирма.ЮрЛицо,
   |                  Регистр.Заявки.      Фирма.ЮрЛицо;    
   |Номенклатура    = Регистр.ОстаткиТМЦ.Номенклатура,
   |                 Регистр.РезервыТМЦ.Номенклатура,
   |                 Регистр.ЗаказыЗаявки.Номенклатура,
   |                  Регистр.Заявки.   Номенклатура;    
   |СвойствоТМЦ    = Регистр.ОстаткиТМЦ.Номенклатура.ОсновноеСвойство.ЗначениеСвойства,
   |                 Регистр.РезервыТМЦ.Номенклатура.ОсновноеСвойство.ЗначениеСвойства,
   |                 Регистр.ЗаказыЗаявки.Номенклатура.ОсновноеСвойство.ЗначениеСвойства,
   |                  Регистр.Заявки.   Номенклатура.ОсновноеСвойство.ЗначениеСвойства;
   |Склад            = Регистр.ОстаткиТМЦ.Склад,            
   |                 Регистр.РезервыТМЦ.Склад;
   |ОперацияЗаявка    = Регистр.Заявки.      ЗаявкаПокупателя.ВидОперации,          
   |                    Регистр.ЗаказыЗаявки.ЗаявкаПокупателя.ВидОперации;
     |КолЗаявки         = Регистр.Заявки.      КоличествоРасход;
   |КолРезерва           = Регистр.РезервыТМЦ.  Количество;
   |КолЗаказа         = Регистр.ЗаказыЗаявки.Количество;
   |Внутреннее     = Регистр.ОстаткиТМЦ.Внутреннее;";
   
   ТекстЗапроса = ТекстЗапроса +
   "Количество = Регистр.ОстаткиТМЦ.Количество;
   |Резерв     = Регистр.РезервыТМЦ.Количество;
   |Функция КоличествоНачОст          = НачОст(Количество);
   |Функция КоличествоПриход          = Приход(Количество);
   |Функция КоличествоРасход          = Расход(Количество);
   |Функция КоличествоПриходВнутр  = Приход(Количество) когда ((Внутреннее = 1) и (Док.Вид() <> ""ПереоценкаРозница""));
   |Функция КоличествоРасходВнутр    = Расход(Количество) когда ((Внутреннее = 1) и (Док.Вид() <> ""ПереоценкаРозница""));
   |Функция КоличествоПриходПереоц    = Приход(Количество) когда (Док.Вид() = ""ПереоценкаРозница"");
   |Функция КоличествоРасходПереоц    = Расход(Количество) когда (Док.Вид() = ""ПереоценкаРозница"");
   |Функция КоличествоКонОст          = КонОст(Количество);
   |Функция РезервНачОст              = НачОст(Резерв);
   |Функция РезервПриход          = Приход(Резерв);
   |Функция РезервРасход              = Расход(Резерв);
   |Функция КонОстЗаявкаК = КонОст(КолЗаявки);
   |Функция КонОстЗаказК  = КонОст(КолЗаказа);
   |Функция КонОстРезерв  = КонОст(КолРезерва);";
Подскажите, может их как то разделить можно, только как они потом в 7 связываться будут? Заранее спасибо и извините, это мой первый опыт программирования в 7, не судите строго
1 Азат
 
07.08.12
22:38
условие давай
2 новичок12345
 
07.08.12
22:40
(1) Условие задания?
Вывести отчет с колонками : Номенклатура, Начальный остаток, Приход, Расход, Конечный остаток, Остаток Заявки покупателя(Вид операции = Заявка на поставку), в т.ч. заказано поставщиком.
3 новичок12345
 
07.08.12
22:41
Соответственно для первых 5 мне нужен регистр ОстаткиТМЦ и РезервыТМЦ. Для остальных Заявки и ЗаказыЗаявки
4 DGorgoN
 
07.08.12
22:48
Можно более подробно?
5 Злопчинский
 
07.08.12
22:54
(0) запрос кривой в корне, и постановка задачи в части исходных условий кривая в корне.
запросто может образоваться заказ поставщику нераспределенный на заявки покупателя. в итоге - получишь в отчете недостоверные данные.
6 новичок12345
 
07.08.12
22:55
(4) Что конкретно?
Есть форма, в которой вводятся дата начала и дата конца. Еще в этой форме есть отборы по фирме, номенклатуре, группировки(фирма, номенклатура, документы движения).
Если вы имеете в виду, что происходит именно в запросе, то история следующая:
Нужно, чтобы в последних двух колонках выводились только остатки заявок типа НаПоставку. Если пишу запрос который есть, то все отлично, кроме того что нет анализа по этому самому типу. Если добавляю условие:
|Условие (ОперацияЗаявка     = Перечисление.ВидыОперацийЗаявок.НаПоставку);

то не выводит ни одного остатка по регистрам Остатки ТМЦ и Резервы ТМЦ, только последние две колонки заполняются...
Вот и не знаю как тогда условие то поставить, чтобы все заполнялось.
(5) Задачу дали готовую. Мне тупо реализовать надо. Сопровожденцы писали..
7 новичок12345
 
07.08.12
22:56
(5) Вы считаете, что лучше по всем анализировать заявкам? Я просто предполагаю что это желание клиента
8 новичок12345
 
07.08.12
22:57
(5) Запрос объединил из 2х отчетов типовых: Ведомость по остаткам ТМЦ и Заявки Покупателей
9 Злопчинский
 
07.08.12
22:58
(7) я указал где кривизна будет в (5).
10 Злопчинский
 
07.08.12
22:59
прсото зная, какой ОБЫЧНО творится бардак при работе по схеме заявки покупателей-заказы поставщикам.
11 Злопчинский
 
07.08.12
23:01
>  ...колонках выводились только остатки заявок типа НаПоставку.
под "остатками заявок" понимаются остатки ЧЕГО и в разрезе каких ИЗМЕРЕНИЙ?
12 новичок12345
 
07.08.12
23:03
(11) остатки заказанных, но не реализованных товаров на конец периода. Интересует только количество
13 Злопчинский
 
07.08.12
23:04
(12) ответ возможно правильный, но неверный.
товар с заявок списывается не только реализациями. так что - изложен неверно.. ;-)
14 новичок12345
 
07.08.12
23:06
(13) Если я правильно вас понимаю, то вы имеете ввиду всевозможные перемещения?
15 Злопчинский
 
07.08.12
23:10
мне кажется что попытка в одном чорном запросе обединить остатки, резервы, заявки и заказы поставщикам (см.5) - обречена на провал ;-)\
.
сделай тупо и просто (для начала).
.
сделай ЭН запросов одинаковой структуры. Выполни запрос, выгрузи результат в ТЗ (только группировки и функции) - группировки и функции во всех запросах НАЗОВИ ОДИНАКОВО.
Получишь ЭН таблиц одинаковых по структуре. Функции в запросах должны возвращать положительные значения где увеличение ресурса (например заявлено покупателем) и отрицательное значение (например заказано поставщику). Потом все ТЗ склеиваешь в одну и тупо сворачиваешь по измеренимя/группировкам - витоге получаешь "незакрытые" итоги...
.
я бы так тупо сделал.
Бо, даже давно работая с ТиС, таких запрсоов, которые в себе адресуются к разным ттаблицам - с стараюсь избегать - они у меня в голое мутно укладываются такие запросы...
16 Злопчинский
 
07.08.12
23:10
(14) списания, отмена заявок, корректировка заявок...
17 Злопчинский
 
07.08.12
23:12
вообще конечно что клиент поставил - то и пытаются делать.. но задача не докурчена до конца... что можно отгрузить по заявке, что нет - смотрим штатный отчет о состоянии заявки...???
18 Злопчинский
 
07.08.12
23:13
нахера смотреть сколько товара есть - для чего? чтобы поянть - надо заказать или нет поставщику с учетом имеющихся заявок на поставку? - ну так это штатный алгоритм тупо делает - жмакаешь кнопку в заказе поставщику "заполнить детально по заявкам" - формируется заказ поставщику...
19 новичок12345
 
07.08.12
23:14
(16) Буду совсем навязчив. не понятно как это склеить запросы. По наименованию номенклатуры можно?  И еще вопрос : заметил в отчетах такую странную колонку "в т.ч. резерв" что это?
(18) Я не знаю, зачем клиентам нужен такой отчет, но раз платят деньги делаем..
20 Злопчинский
 
07.08.12
23:18
(6) ты условие накладываешь на все функции...
.
попробуй сделай
 |Функция КонОстЗаявкаК = КонОст(КолЗаявки) когда (ДокЗаявка.КодОперации = Перечисление.ВидыОперацийЗаявок.наПоставку)
.
и добавь ДокЗаявка в текст запроса - определи ее только именно как Регистр.Заявки.ЗаявкаПокупателя
21 Злопчинский
 
07.08.12
23:20
(19) ууу как все запущено... наименование номенклатуры и элемент номенклатуры - различаешь..?
будет у тебя нескольо ТЗ вида
"ЭлементНоменклатура,КоличествоЧтоТо"
.
потом эти ТЗ обеъдинешь в одну.
22 Злопчинский
 
07.08.12
23:21
хотя, поковыряйся с запрсом, когд апоймешь что криво и ничего не выходит - приходи... ;-)
23 новичок12345
 
07.08.12
23:21
(21) все ясно) спасибо. Меня пугают вообще семерошные запросы... я в восьмерке то ими далеко не в совершенстве владею, а эти увидел так вообще не обрадовался. Спасибо вам огромное! Вы меня очень выручили!
24 Злопчинский
 
07.08.12
23:22
посмотри http://infostart.ru/public/14184/ - может пригодится...
25 Злопчинский
 
07.08.12
23:22
(24) пжста - пока не за что.
.
если нет особых требований к быстройдействию отчета - я бы стал делать как в (15)
26 Злопчинский
 
07.08.12
23:23
"заметил в отчетах такую странную колонку "в т.ч. резерв" что это?"
- то что написано.
остаток 100 шт, вт.ч. резерв = 20 штук, итого "свободно" = 80 штук
27 новичок12345
 
07.08.12
23:30
(26) А чем они резервируются и на что? на заявки покупателей?
28 новичок12345
 
07.08.12
23:31
(25) Теперь наверняка спасибо) все заработало. Сделал как в (20). По-крайней мере у меня на демо работает, что там будет у клиента с утра узнаем))
29 Холст
 
07.08.12
23:59
(26) Чебур, почему тебе не впадлу помогать тупо кодерам, которым пофиг на "как правильно", а "раз платят деньги делаем" ?
30 Злопчинский
 
08.08.12
02:01
(29) так я ж на кукан беру... завтра придет спрашивать как получить правильные цифры..
31 big
 
08.08.12
05:56
сдается мне, что ТС надо было начать тупо с трех запросов с последуюущим их объединением в одну ТЗ. Сразу бы понимание вопроса прояснилось.
32 KRV
 
08.08.12
06:25
Сдается мне, что во франчах зачем-то для разносчиков дисков ввели вступительный тест..
33 Злопчинский
 
08.08.12
11:20
(32) гастарбайтеры потому что диски развозять быстрее...