|
Заполнение количества материалов при подборе | ☑ | ||
---|---|---|---|---|
0
Exces-
05.03.15
✎
14:43
|
Добрый день!
Столкнулся с такой проблемой - необходимо реализовать в документе "Заказ-Наряд" автоматическое заполнение количества материалов из регистра "Связанные работы" при подборе материала. Написал запрос Запрос = Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | СвязанныеРаботы.Количество КАК КоличествоМат, | СвязанныеРаботы.СвязаннаяРабота КАК Номенклатура, | СвязанныеРаботы.Авторабота.Родитель, | ЗаказНаряд.Автомобиль.Модель.Автоработы |ИЗ | РегистрСведений.СвязанныеРаботы КАК СвязанныеРаботы | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд КАК ЗаказНаряд | ПО СвязанныеРаботы.Авторабота.Родитель = ЗаказНаряд.Автомобиль.Модель.Автоработы | И СвязанныеРаботы.СвязаннаяРабота.Ссылка = ЗаказНаряд.Товары.Номенклатура.Ссылка |ГДЕ | ЗаказНаряд.Автомобиль.Модель.Автоработы <> ЗНАЧЕНИЕ(Справочник.Автоработы.ПустаяСсылка) | |СГРУППИРОВАТЬ ПО | СвязанныеРаботы.СвязаннаяРабота, | СвязанныеРаботы.Количество, | СвязанныеРаботы.Авторабота.Родитель, | ЗаказНаряд.Автомобиль.Модель.Автоработы"; Теперь как выдернуть результат запроса в поле количество при подборе? |
|||
1
vicof
05.03.15
✎
14:47
|
как обычно,выборкой
|
|||
2
salvator
05.03.15
✎
14:49
|
Выгрузить результат запроса в ТЗ и загрузить ее в ТЧ документа?
|
|||
3
anatoly
05.03.15
✎
14:49
|
(0) ничего не понял...
|
|||
4
GreatOne
05.03.15
✎
14:52
|
Для начала запрос отредактируй. Количество просуммируй
|
|||
5
Nuobu
05.03.15
✎
14:53
|
(0) Не так соединение ставишь.
Нужен заказ наряд + регистр сведений. И выведи номер строки, по нему можно будет определить, к какой строке, какая работа относится. Не забудь проверку на NULL. |
|||
6
salvator
05.03.15
✎
14:53
|
А может там правое соединение надо? Зачем тебе вся таблица регистра?
|
|||
7
Nuobu
05.03.15
✎
14:54
|
(6) Вот и я о том же.
Нужен именно заказ наряд левое соединение Регистр сведений, а не наоборот. |
|||
8
vicof
05.03.15
✎
14:58
|
Ну и вдобавок, соединение тут внутреннее неявное
|
|||
9
Exces-
05.03.15
✎
15:06
|
Сделал так
ВЫБРАТЬ СвязанныеРаботы.Количество КАК КоличествоМат, СвязанныеРаботы.СвязаннаяРабота КАК Номенклатура, СвязанныеРаботы.Авторабота.Родитель, ЗаказНаряд.Автомобиль.Модель.Автоработы ИЗ Документ.ЗаказНаряд КАК ЗаказНаряд ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СвязанныеРаботы КАК СвязанныеРаботы ПО (СвязанныеРаботы.СвязаннаяРабота.Ссылка = ЗаказНаряд.Товары.Номенклатура.Ссылка) И (СвязанныеРаботы.Авторабота.Родитель = ЗаказНаряд.Автомобиль.Модель.Автоработы) ГДЕ ЗаказНаряд.Автомобиль.Модель.Автоработы <> ЗНАЧЕНИЕ(Справочник.Автоработы.ПустаяСсылка) И НЕ СвязанныеРаботы.СвязаннаяРабота ЕСТЬ NULL СГРУППИРОВАТЬ ПО СвязанныеРаботы.СвязаннаяРабота, СвязанныеРаботы.Количество, СвязанныеРаботы.Авторабота.Родитель, ЗаказНаряд.Автомобиль.Модель.Автоработы (4) |
|||
10
Exces-
05.03.15
✎
15:07
|
(4) Зачем суммировать? Мне нужно количество по каждой позиции номенклатуры.
|
|||
11
vicof
05.03.15
✎
15:08
|
.Ссылка убрать.
isnull() добавить |
|||
12
Nuobu
05.03.15
✎
15:10
|
(10) Где номер строки?
|
|||
13
Exces-
05.03.15
✎
15:17
|
(12) А зачем номер строки? Я думал так: при подборе в документе сравниваем наименование Номенклатуры в таб.части с номенклатурой получаемой из запроса, если совпадает - в поле количество подставляем количество из запроса... Прошу прощения за непонимание((
|
|||
14
vicof
05.03.15
✎
15:19
|
(13) А если у двух номенклатур одинаковое наименование?
|
|||
15
Nuobu
05.03.15
✎
15:20
|
(14) Плюс к тому, не наименование, а ссылка.
(13) А если ты две одинаковых номенклатуры забил? В этом случае - задвоит. |
|||
16
Nuobu
05.03.15
✎
15:21
|
(9) И НЕ СвязанныеРаботы.СвязаннаяРабота ЕСТЬ NULL
Убери это!!!!! В левое соединение. |
|||
17
Exces-
05.03.15
✎
16:00
|
Постараюсь объяснить подробнее:
1) Есть документ "Заказ-Наряд", в этом документе мы выбираем "Автомобиль" из справочника "Автомобили", в элементе справочника "Автомобили" есть поле "Модель", в карточке модели есть поле "Автоработы" - Тут мы выбираем Автоработу для определенной модели автомобиля из справочника "Автоработы"(Тут указываются необходимые нормативы расходных материалов при ремонтных работах на определенные автомобили) 2)При добавлении расходных материалов в документ "Заказ-наряд" нужно чтобы нормативы брались из регистра автомобиль-модель-автоработы, и подставлялись в поле количество. То есть по факту в регистре "связанные работы" хранятся данные из Авторабот по разным моделям автомобилей. Материал может быть один и тот же на разные авто и нормативы на все авто тоже разные. |
|||
18
Exces-
05.03.15
✎
16:13
|
Вы реально молодцы, что помогаете таким как я, когда-нибудь я тоже стану гуру и стану помогать новичкам. Но пока что я просто салага попавший в гущу событий, буду благодарен за любую информацию как это сделать.
|
|||
19
Nuobu
05.03.15
✎
16:24
|
Выбрать
* ИЗ Справочник.Автоработы.ТабличнаяЧастьДляНеобходимыхНормРасходныхМатериалов КАК ТабличнаяЧастьДляНеобходимыхНормРасходныхМатериалов Левое соединение РегистрСведений.СвязанныеРаботы КАК СвязанныеРаботы ПО ТабличнаяЧастьДляНеобходимыхНормРасходныхМатериалов.Работа = СвязанныеРаботы.Авторабота ГДЕ ТабличнаяЧастьДляНеобходимыхНормРасходныхМатериалов.Ссылка В (Выбрать ЗаказНаряд.Автомобиль.Модель КАК Ссылка из Документ.ЗаказНаряд КАК ЗаказНаряд) |
|||
20
Exces-
05.03.15
✎
17:15
|
ВЫБРАТЬ
СвязанныеРаботы.Количество ИЗ Документ.ЗаказНаряд КАК ЗаказНаряд ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СвязанныеРаботы КАК СвязанныеРаботы ПО ЗаказНаряд.Товары.Номенклатура.Код = СвязанныеРаботы.СвязаннаяРабота.Код И ЗаказНаряд.Автомобиль.Модель.Автоработы = СвязанныеРаботы.Авторабота.Родитель ГДЕ ЗаказНаряд.Автомобиль = &Автомобиль |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |