![]() |
|
Условие в запросе по данным ТЗ | ☑ | ||
---|---|---|---|---|
0
Gill
27.10.11
✎
10:48
|
Привет! В документе есть кнопка подбора,которая открывает форму с ТЗ которая заполняется результатом запроса. Какое значение параметра нужно наложить на условие отбора в вирт.таблице ТоварыНаСкладахОстаткиИОбороты так,чтобы в выборку попадали данные КоличествоРасход с фильтром по расходу номенклатуры в разрезе конкретной работы (измерение регистра накопления-"ВидРабот"(ТипСправочникСсылка)).
... | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( | , | &ТекДата, | , | , | ОбъектСтроительства = &ТекущийОбъект | И ВидРаботы = &ТекущийВидРаботы) КАК ТоварыНаСкладахОстаткиИОбороты | ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура Запрос.УстановитьПараметр("ТекущийОбъект",ОбъектСтроительства ); Запрос.УстановитьПараметр("ТекущийВидРаботы", //??? Вот сюда кокое значение передать ); Сейчас выходит так: Номенклатура ВидРаботы КоличествоРасход Гвоздь Ремонт Кровли 10 Гвоздь Ремонт полов 10 А нужно так: Номенклатура ВидРаботы КоличествоРасход Гвоздь Ремонт Кровли 10 Гвоздь Ремонт полов Другое число |
|||
2
vmv
27.10.11
✎
10:51
|
забавная картинка
|
|||
3
Gill
27.10.11
✎
10:55
|
(2) и это всё?
|
|||
4
vmv
27.10.11
✎
10:58
|
(3) я тут на картинки только смотрю, да - это все
|
|||
5
vmv
27.10.11
✎
10:59
|
ладно ТекущийВидРаботы
очевидно перечесление. вывод - надо передать значение перечисления как в ЖКК описано |
|||
6
Gill
27.10.11
✎
10:59
|
(4) оригинально...
отбор ОбъектСтроительства определяется по значению реквизита формы документа в который подбираются данные, а вот ТекущийВидРаботы как-бы заранее не известен |
|||
7
Рэйв
27.10.11
✎
10:59
|
(0)Интересно откуда у тебя виды работ Ремонт Кровли и Ремонт полов
если ты фильтруешь только по одному на равенство? >>И ВидРаботы = &ТекущийВидРаботы) Что-то ты недоговариваешь |
|||
8
vmv
27.10.11
✎
11:01
|
(7) еще и подозрительный, предлагаю высечь или расстрелять - уже наверняка чтобы
|
|||
9
Gill
27.10.11
✎
11:02
|
(5) нет это не перечисление - это измерение регистра....По данным выгруженным в ТЗ подбираются номенклатура и вид работы (количество расход - нужно чтобы не превышать норматив)
(7) Вид работы определяется так |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТоварыНаСкладахОстатки | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства.РазработкаВедомостиПотребностиМатериалов КАК ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства КАК ОбъектыСтроительства | ПО ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Ссылка = ОбъектыСтроительства.Ссылка | ПО ТоварыНаСкладахОстатки.Номенклатура = ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( | , | &ТекДата, | , | , | ОбъектСтроительства = &ТекущийОбъект | И ВидРаботы = &ТекущийВидРаботы) КАК ТоварыНаСкладахОстаткиИОбороты | ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура |ГДЕ | ОбъектыСтроительства.Ссылка = &ТекущийОбъект | И ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Ссылка.УтверждениеКомплектовочнойВедомости = ЗНАЧЕНИЕ(Перечисление.ВидУтверждениякомплектовочнойВедомости.УтвержденаГенеральнымДиректором) | И ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Признак |
|||
10
DrShad
27.10.11
✎
11:06
|
(9) где он определяется?
|
|||
11
Gill
27.10.11
✎
11:07
|
вообще конено не хотелось добавлять новое измерение "ВидРаботы" в РН ТоварыНаСкладах (это пока только в копии базы), просто не врубаюсь как еще подцепиться к значению расхода номенклатуры по конкретной номенклатуре.Может подскажите другие варианты или где ошибка?!
|
|||
12
Gill
27.10.11
✎
11:07
|
(10)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура КАК Номенклатура, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Количество КАК Требуется, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы.ЕдиницаИзмерения КАК Ед_изм, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК ОстатокНаСкладах, | ТоварыНаСкладахОстатки.Склад, | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, 0) КАК СписаноНаОбъект |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ТекДата, ) КАК ТоварыНаСкладахОстатки | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства.РазработкаВедомостиПотребностиМатериалов КАК ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства КАК ОбъектыСтроительства | ПО ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Ссылка = ОбъектыСтроительства.Ссылка | ПО ТоварыНаСкладахОстатки.Номенклатура = ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( | , | &ТекДата, | , | , | ОбъектСтроительства = &ТекущийОбъект | И ВидРаботы = &ТекущийВидРаботы) КАК ТоварыНаСкладахОстаткиИОбороты | ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура |ГДЕ | ОбъектыСтроительства.Ссылка = &ТекущийОбъект | И ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Ссылка.УтверждениеКомплектовочнойВедомости = ЗНАЧЕНИЕ(Перечисление.ВидУтверждениякомплектовочнойВедомости.УтвержденаГенеральнымДиректором) | И ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Признак | |СГРУППИРОВАТЬ ПО | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Количество, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы.ЕдиницаИзмерения, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0), | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура.ЕдиницаХраненияОстатков, | ТоварыНаСкладахОстатки.Склад, | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, 0) | |УПОРЯДОЧИТЬ ПО | Номенклатура |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
13
DrShad
27.10.11
✎
11:08
|
может озвучишь задачу нормально?
|
|||
14
Gill
27.10.11
✎
11:09
|
(11) значению расхода номенклатуры по конкретной номенклатуре = значению расхода номенклатуры по конкретному Виду работ
|
|||
15
DrShad
27.10.11
✎
11:09
|
(12) у тя там фильтр стоит, а где определение?
|
|||
16
Gill
27.10.11
✎
11:13
|
Есть спарвочник объекты строит-ва, в нем есть ТЧ в которой заполняют свобразную спецификацию Номенклатуру Вид Работы и количество ТМЦ (Планируемое) на стройку. Есть документ Наряд на строительные работы в который данные подбираются данные из этого справочника и при этом на этапе подбора нужно определять сколько израсходовано этой номенклатуры по конкретной работе, и при этом ограничивать количество в соответствии с спецификацией.Вот примерно так...
|
|||
17
DrShad
27.10.11
✎
11:14
|
(16) сама придумала такое описание?
|
|||
18
DrShad
27.10.11
✎
11:15
|
+(17) сорри ник ввел в заблуждение
|
|||
19
Gill
27.10.11
✎
11:16
|
(17) у меня вроде пол мужской ))) пока....нет не сам придумал, а шеф
|
|||
20
DrShad
27.10.11
✎
11:17
|
(19) оригинальная постановка - я с первого раза нифига не понял, а вникакть не буду
|
|||
21
Gill
27.10.11
✎
11:23
|
(20) А что именно не понятно....Есть справочник (так получилось что не регистр), в который заливают сведения о планируемых работах и количестве ТМЦ которые пойдут на этот объект.Есть документ в который сведения через дополнительную форму подбора (на форме есть ТЗ с данными)подбираются из ТЧ вышеназванного справочника, при этом нужно видеть сколько уже израсходовано и сколько разрешать для дальнейшего выбора.Все работает (хоть и через одно место) теперь нужно только на этой форме подбора которректно отображалось Количество уже израсходованное на этот объект
|
|||
22
Gill
27.10.11
✎
11:38
|
^
|
|||
23
Gill
27.10.11
✎
14:35
|
Ну хорошо...тогда подскажите как бы Вы решили задачу в (21)...Направьте!!!
|
|||
24
Gill
27.10.11
✎
15:07
|
Прошу Вас не оставляйте без внимание мой вопрос...
|
|||
25
Gill
27.10.11
✎
15:42
|
Переформулирую вопрос (попроще так сказать).Нужно получить таблицу следующего вида:
Номенклатура Ед.Изм. Кол.(план) Вид работы Остаток Склад СписаноНаОбъект Гвоздь шт 20 Ремонт кровли 35 Склад№1 10 Гвоздь шт 500 Ремонт пола 2500 Склад№2 450 А сейчас получается так: Номенклатура Ед.Изм. Кол.(план) Вид работы Остаток Склад СписаноНаОбъект Гвоздь шт 20 Ремонт кровли 35 Склад№1 460 Гвоздь шт 500 Ремонт пола 2500 Склад№2 460 |
|||
26
эцп
27.10.11
✎
16:23
|
(25) никак запросом
Нужно выгрузить остатки в ТЗ и программно раскидать обороты по таблице (ТЗ потом снова можно в запрос закинуть) |
|||
27
Gill
27.10.11
✎
16:26
|
(26) спасибо что среагировали. А что значит программно раскидать обороты по таблице, не совсем понял о чем Вы.
|
|||
28
эцп
27.10.11
✎
16:27
|
(25) (26) Точнее:
Нужно выгрузить запрос, где больше измерений в ТЗ и программно раскидать по таблице данные из запроса, где меньше измерений |
|||
29
Gill
27.10.11
✎
16:30
|
(28) а как это?
|
|||
30
эцп
27.10.11
✎
16:32
|
(29) Запрос из (12) можно использовать?
|
|||
31
Gill
27.10.11
✎
16:34
|
можно
|
|||
32
Gill
27.10.11
✎
16:40
|
(30)Это вопрос или утверждение?
|
|||
33
Gill
27.10.11
✎
17:09
|
^
|
|||
34
эцп
27.10.11
✎
17:11
|
а зачем в запросе одновременно ТоварыНаСкладах.Остатки и ТоварыНаСкладах.ОстаткиИОбороты?
|
|||
35
Gill
27.10.11
✎
17:15
|
(34) это я тупанул...а на что это может повлиять? и как же все-таки решить проблему. в (28) не врубаюсь
|
|||
36
эцп
27.10.11
✎
17:19
|
(35) Сначала надо запрос упростить, чтобы не было дублей, а там уже снова смотреть на проблему
|
|||
37
Gill
27.10.11
✎
17:24
|
(35)Дубли (если вы имеете ввиду номенклатуру) вызваны тем, что пользователям нужно видеть всю номенклатуру которая есть в плане (в ТЧ справочника Объект строительства), а наличие остатка естественно будет отображаться только у тех строк номенклатуры которые действительно есть в остатке (РН ТОварыНаСкладах) этим и вызвано ПолноеСоединение
|
|||
38
Gill
27.10.11
✎
17:28
|
(37) точнее в ТЧ Справочника вводят так
Номенклатура Кол-во ВидРаботы Гвоздь 20 Ремонт Кровли Гвоздь 500 Ремонт пола Т.е. одна и таже номенклатура но в разрезе разных работ |
|||
39
эцп
27.10.11
✎
17:44
|
(37) Хорошо. Тогда такой вопрос: а почему вы из остатков выбираете склад, при этом связи между остатками и оборотами по Складу нет?
|
|||
40
Gill
27.10.11
✎
17:54
|
(39) какой вариант решения предлагаете Вы?
|
|||
41
Gill
27.10.11
✎
17:57
|
(39) Интуитивно чувствую,раз Вы задаете такой вопрос - значит у Вас есть ответ ))
|
|||
42
Gill
27.10.11
✎
18:08
|
^^
|
|||
43
Gill
27.10.11
✎
18:30
|
Пока единственным решением вижу добавление измерения ВидРаботы в РН ТоварыНаСкладах и в запросе установить связь ТоварыНаСкладахОстаткиИОбороты.ВидРаботы = ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы
|
|||
44
Gill
27.10.11
✎
22:27
|
(43) Поторопился я с выводами...Не получается так...Какие еще будут варианты,господа?!
|
|||
45
Buster007
27.10.11
✎
22:39
|
если где-то убыло, значит где-то прибыло )
Например, с товаров на складах ты списал товар, а затраты собрались в регистре сведений, например, ЗатратыПоВидамРабот, где будут указаны Номенклатура, ВидРаботы и ресурс Количество. РН не нужен, потому что требуемое затратное количество указано в номенклатуре или в объектах строительства. |
|||
46
Buster007
27.10.11
✎
22:40
|
+(45) а добавлять измерение в ТоварыНаСкладах категорически не рекомендую.
|
|||
47
Buster007
27.10.11
✎
22:41
|
+(45) ну а дальше вроде твой отчет строится достаточно просто)
|
|||
48
hhhh
27.10.11
✎
23:06
|
(43) кладовщики вас уроют, если вы их еще там гвозди заставите на разные кучки раскладывать.
|
|||
49
эцп
27.10.11
✎
23:08
|
(41) Воспользоваться тем, что я предложил в вопросе не пробовали?
|
|||
50
Gill
27.10.11
✎
23:21
|
(49) по (37) пробовал, но че-то не получилось то,что мне нужно...может конечно не так делал. Если приравнять склады,то в случае,если списания на объект еще не было, то значение в колонке остаток на складе пустое (хотя на самом деле он есть)...хотя возможно я тупанул где-то, вот запрос:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура КАК Номенклатура, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Количество КАК Требуется, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы КАК ВидРаботы, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы.ЕдиницаИзмерения КАК Ед_изм, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК ОстатокНаСкладах, | ТоварыНаСкладахОстаткиИОбороты.Склад, | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, 0) КАК СписаноНаОбъект |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, &ТекДата, , , ОбъектСтроительства = &ТекущийОбъект) КАК ТоварыНаСкладахОстаткиИОбороты | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства.РазработкаВедомостиПотребностиМатериалов КАК ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОбъектыСтроительства КАК ОбъектыСтроительства | ПО ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Ссылка.Ссылка = ОбъектыСтроительства.Ссылка | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура | И (ТоварыНаСкладахОстатки.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад) |ГДЕ | ОбъектыСтроительства.Ссылка = &ТекущийОбъект | И ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Ссылка.УтверждениеКомплектовочнойВедомости = ЗНАЧЕНИЕ(Перечисление.ВидУтверждениякомплектовочнойВедомости.УтвержденаГенеральнымДиректором) | И ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Признак | |СГРУППИРОВАТЬ ПО | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Количество, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.ВидРаботы.ЕдиницаИзмерения, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура, | ОбъектыСтроительстваРазработкаВедомостиПотребностиМатериалов.Номенклатура.ЕдиницаХраненияОстатков, | ТоварыНаСкладахОстаткиИОбороты.Склад, | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, 0), | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
51
Gill
27.10.11
✎
23:57
|
Я уже задолбался! Help! эцп, Вы так уверенно говорили в (28), что же имелось ввиду?!. (50) не дало нужного результата
|
|||
52
Gill
28.10.11
✎
00:00
|
(50) использовал без &ТекущийВидРаботы, т.к. не понятно,что передавать в качестве значения параметра
|
|||
53
Gill
28.10.11
✎
00:05
|
по (50) значение колонки СписаноНаОбъект не корректно, т.к показывает общую сумму.
Номенкл. Остаток Склад СписаноНаОбъект гвоздь 500 №1 250 гвоздь 500 №1 250 а нужно: Номенкл. Остаток Склад СписаноНаОбъект гвоздь 500 №1 100 гвоздь 500 №1 150 |
|||
54
zak555
28.10.11
✎
00:15
|
(53) где вид работы в таблице ?
|
|||
55
Gill
28.10.11
✎
00:19
|
(54) извиняюсь,
Номенкл. Остаток ВидРаботы Склад СписаноНаОбъект гвоздь 500 Ремонт кровли №1 250 гвоздь 500 Ремонт пола№1 250 а нужно: Номенкл. Остаток Склад СписаноНаОбъект гвоздь 500 №1 100 гвоздь 500 №1 150 |
|||
56
Gill
28.10.11
✎
00:20
|
+(55)
Номенкл. Остаток ВидРаботы Склад СписаноНаОбъект гвоздь 500 Ремонт кровли №1 250 гвоздь 500 Ремонт пола №1 250 а нужно: Номенкл. Остаток ВидРаботы Склад СписаноНаОбъект гвоздь 500 Ремонт кровли №1 100 гвоздь 500 Ремонт пола №1 150 |
|||
57
Gill
28.10.11
✎
01:44
|
Помог вариант (45)!!!! Спасибо Всем за участие и помощь!!!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |