Имя: Пароль:
1C
1С v8
Условие в запросе по данным ТЗ
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)!!!! Спасибо Всем за участие и помощь!!!!!