|
сложение остатков двух складов | ☑ | ||
---|---|---|---|---|
0
lampa
14.01.16
✎
13:14
|
Вот есть у меня запрос такой:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.ВНаличииОстаток, | Номенклатура1.Артикул, | Номенклатура1.Код, | Номенклатура1.Наименование |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Наименование) КАК ТоварыНаСкладахОстатки | ПРАВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1 | ПО ТоварыНаСкладахОстатки.Номенклатура = Номенклатура1.Ссылка"; Запрос.УстановитьПараметр("Наименование",Справочники.Склады.НайтиПоНаименованию("Оптовый Склад")); Он вынимает остатки с одного склада Нашел топик, где вроде похожая задача: v8: Запрос из двух регистров. Я так понимаю, нужно объединить 2 запроса в один: Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.ВНаличииОстаток, | Номенклатура1.Артикул |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Наименование) КАК ТоварыНаСкладахОстатки | ПРАВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1 | ПО ТоварыНаСкладахОстатки.Номенклатура = Номенклатура1.Ссылка |ОБЪЕДИНИТЬ | ТоварыНаСкладахОстатки.ВНаличииОстаток, | Номенклатура1.Артикул |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Наименование2) КАК ТоварыНаСкладахОстатки | ПРАВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1 | ПО ТоварыНаСкладахОстатки.Номенклатура = Номенклатура1.Ссылка Запрос.УстановитьПараметр("Наименование",Справочники.Склады.НайтиПоНаименованию("Оптовый Склад")); Запрос.УстановитьПараметр("Наименование2",Справочники.Склады.НайтиПоНаименованию("Розничный Склад")); В верном направлении иду? |
|||
1
lubitelxml
14.01.16
✎
13:20
|
Склад В (&списНаименование), где списНаим - массив, тогда и объединять не надо
|
|||
2
eklmn
гуру
14.01.16
✎
13:21
|
конфигурация какая?
|
|||
3
lubitelxml
14.01.16
✎
13:21
|
СписНаим.Добавить(Справочники.Склады.НайтиПоНаименованию("Оптовый Склад"))
|
|||
4
lampa
14.01.16
✎
13:23
|
(2) 1С:Предприятие 8.3 (8.3.7.1776)
|
|||
5
eklmn
гуру
14.01.16
✎
13:24
|
(4) крута, тогда бери метлу и вперед
|
|||
6
Azverin
14.01.16
✎
13:24
|
(4) ответ в (1), но тебе это не поможет
|
|||
7
eklmn
гуру
14.01.16
✎
13:25
|
(1) тоже за ним
|
|||
8
lampa
14.01.16
✎
13:25
|
(1) я вот только не понимаю, как объединится количество? Мне кажется, номенклатура просто будет выводится из нескольких складов, а не объединяться.
|
|||
9
eklmn
гуру
14.01.16
✎
13:26
|
да блин обычный отчет по товарам с отбором по нужным складам и без группировки склада
|
|||
10
lubitelxml
14.01.16
✎
13:26
|
(8) попробуй, сам все увидишь
|
|||
11
lubitelxml
14.01.16
✎
13:27
|
(7) свое мнение либо озвучь, либо при себе оставь, твои выбросы здесь никому не нужны
|
|||
12
eklmn
гуру
14.01.16
✎
13:31
|
(1) вбросы тут посты (1)(3)(4), свое мнение я уже озвучил.
|
|||
13
tznimble
14.01.16
✎
13:36
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.ВНаличииОстаток, | Номенклатура1.Артикул, | Номенклатура1.Код, | Номенклатура1.Наименование |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&СписокСкладов)) КАК ТоварыНаСкладахОстатки | ПРАВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1 | ПО ТоварыНаСкладахОстатки.Номенклатура = Номенклатура1.Ссылка"; СписокСкладов = Новый Массив(); СписокСкладов.Добавить(Справочники.Склады.НайтиПоНаименованию("Оптовый Склад")); СписокСкладов.Добавить(Справочники.Склады.НайтиПоНаименованию("Розничный Склад")); Запрос.УстановитьПараметр("Наименование",СписокСкладов); По поводу как объединится количество: читай про виртуальные таблицы Про "вброс" от eklmn - в некоторых конфигурациях для оптовых и розничных складов используются разные регистры. В этом случае нужно объединять и группировать данные из этих регистров. Поэтому и возник вопрос "какая конфигурация".А в ответ ты пишешь версию платформы. В связи с чем eklmn тебя в дворники и произвел. Доступно объяснил? |
|||
14
lampa
14.01.16
✎
13:38
|
(13) блин, я в двух постах кидал именно эти данные и никто мне нормально не объяснил, что это не то, вот я и думал до этого времени, что я кидаю конфигурацию. Вот Управление торговлей, редакция 11.1 (11.1.10.199)
|
|||
15
tznimble
14.01.16
✎
13:58
|
Тогда всё пройдёт как написано - в 11-й всё в одном месте хранится
|
|||
16
lampa
14.01.16
✎
18:13
|
(15) м, по какой-то причине выбираются товары только с оптового склада. Даже если я меняю позиции складов в массиве, ничего не изменяется. А если брать из массива оптовый склад, то выбирается из розницы (т.е. тут всё нормально). попробовать через запрос ОБЪЕДИНИТЬ?
|
|||
17
lampa
14.01.16
✎
18:13
|
(16) убрать оптовый склад*
|
|||
18
tznimble
14.01.16
✎
18:18
|
Давайте попробуем понять:
1. Номенклатура у Вас должна выводиться вся, ибо правым соединением подтянут справочник Номенклатура ergo 2. Логично предположить, что у Вас показывает остатки только по одному складу? |
|||
19
Мимохожий Однако
14.01.16
✎
18:21
|
Второй склад пустой, вот и не показывает
|
|||
20
lampa
14.01.16
✎
18:23
|
(19) (18) смотрите, когда в массиве 2 склада, то выводится (видимо потому что товара больше) только количество оптового склада. Если из массива убрать оптовый слад, то выводится количество розничного
|
|||
21
tznimble
14.01.16
✎
18:23
|
На демо УТ всё отлично работает. Попробуйте заменить
Склад В (&СписокСкладов) на Склад = &Склад1 или Склад = &Склад2 И изменить задание параметров. |
|||
22
mikecool
14.01.16
✎
18:25
|
(21) Склад В (&СписокСкладов) = Склад = &Склад1 или Склад = &Склад2
|
|||
23
Мимохожий Однако
14.01.16
✎
18:26
|
(20)Почему берешь ресурс "ВНаличииОстаток"? ИМХО, здесь засада.
|
|||
24
tznimble
14.01.16
✎
18:29
|
(22) верно, равно, но у человека отчего-то не работает. А на типовой демо всё отлично.
"Будем искать" (q) |
|||
25
tznimble
14.01.16
✎
18:34
|
(23) Правильно он берёт. Ему нужен остаток товаров в наличии для указанных складов.
|
|||
26
Мимохожий Однако
14.01.16
✎
18:38
|
(20)Убери из массива не оптовый склад, а розничный.
|
|||
27
Мимохожий Однако
14.01.16
✎
18:41
|
Можно для начала вывести дополнительные поля Склад и НоменклатураСсылка, а потом убирать. Видимо, ТС не знает про такой инструмент как Консоль запросов.
|
|||
28
lampa
14.01.16
✎
18:54
|
Блин, у меня данные забиваются по артикулу (артикул как ключ). В этом списке идет артикул->количество.
Пока Выборка.Следующий() Цикл ВозвратСерверу.Вставить(Выборка.Артикул, Выборка.ВНаличииОстаток); КонецЦикла; Вот в этом массиве как раз получается "товар"->325 Дальше я смотрю через "ведомость товаров по складам", там у одного товара на оптовом складе тоже 325, на рознице 4. Сейчас добавил ключам массива название склада. Теперь же выводится, что на опте 321, а на рознице 4. Наверное я чего-то не понимаю в отчетах (может там товар в резерве), пока не буду никому голову морочить, завтра узнаю, почему так может быть. |
|||
29
Мимохожий Однако
14.01.16
✎
19:01
|
Есть еще регистр Свободные остатки
|
|||
30
lampa
14.01.16
✎
19:03
|
всем спасибо, в отчете надо еще период указывать, там как раз 321 штука идет. "Склад В (&СписокСкладов)" верный.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |