Имя: Пароль:
1C
1С v8
Цикл в запросе или как "добрать" товар до нужного кол-ва
,
0 prtx
 
02.12.16
12:41
Добрый день, граждане знатоки!
Попытаюсь объяснить на пальцах, что мне нужно:
Есть регистр сведений товары на складах. Далее у меня на складе есть товар:
Булочка1 - 8 шт., булочка2 - 7 шт., булочка3 - 3 шт., булочка4 - 5 шт. Мне делают заказ на товар булочка1 - 16 шт., но у меня нет этого товара в таком количестве поэтому мне нужно отгрузить булочка1 - 8 шт., булочка2 - 7 шт., булочка3 - 1 шт.
Как мне быть? Это не проблема когда в заказе пару позиций и можно в цикле запросом по каждой позиции пройтись, но когда в заказе 100-200 позицие это печально, да и запрос в цикле не есть хорошо!!! Сори, но запросы не мой конёк...

Я хочу передать таблицу значений (заказ) в запрос, далее я получу по каждой позиции остатки и вот тут я незнаком, что делать дальше.. подозреваю, что мне нужно смотреть в сторону вложенных запросов, но не могу сообразить что делать с ним? Нужно наверное организовать что-то типа цикла в запросе, но как?

Заранее всем спасибо!

1с 8.3 уф
1 Рэйв
 
02.12.16
12:42
Регистр сведений. Поштучно.
Это сильно:-)
2 vicof
 
02.12.16
12:43
Пятница)
3 vicof
 
02.12.16
12:44
(0) И как программа должна определить, что отгружать булочку 2, а не торт Наполеон, или кексы?
4 craxx
 
02.12.16
12:45
(0) я так понимаю аналоги, в случае отсутствия основного товара на складе?
5 DrShad
 
02.12.16
12:46
смотри ФИФО в запросе
6 vicof
 
02.12.16
12:49
(5) Запросы не его конек
7 DrShad
 
02.12.16
12:50
(6) все бывает впервые
8 Курцвейл
 
02.12.16
12:53
Сделай 2 таблицы - Остатки, ОстаткиАналогов.

Причем это можно получит 1 запросом, просто его результат по разному свернуть.

Ну а далее в цикле распределяешь по таблице Остатки, если там нет, ищешь в ОстаткиАналоги.
9 DrShad
 
02.12.16
12:54
(8) сказали что цикл не катит
10 Курцвейл
 
02.12.16
12:56
(9) Запрос будет сделан перед циклом. Т.е. 1 раз
11 Курцвейл
 
02.12.16
12:57
(9) Покажи ФИФО в запросе.
Я вообще не понимаю как, а главное зачем так делать :)
12 mistеr
 
02.12.16
12:59
(0) >когда в заказе 100-200 позицие это печально, да и запрос в цикле не есть хорошо!!

Выбери сначала в ВТ позиции, которых не хватает. Затем однис запросом вытащи аналоги для них в нужном порядке. А подбор можно и в цикле сделать, но уже без запросов.
13 DrShad
 
02.12.16
13:26
(11) v8: FIFO в запросе
чтобы не делать это циклом - запросом в разы быстрее
14 prtx
 
02.12.16
20:03
(1) блин опечатка. СОРИ. Регистр накоплений!!!!
15 Garykom
 
гуру
02.12.16
23:16
(0) ООП классная штука, это когда у тя все из "черных ящиков", отдал нечто на вход (заказ) в ящик (запрос) и получил нужный "результат"

На данный момент придумано 2 варианта решения этой задачи:
1. Изучаешь программирование "черных ящиков" (в данном случае запросов) и ваяешь свой нужный те, причем сам.

2. Нанимаешь для выполнения этого "черного ящика" другого спеца, который уже прошел путь 1.

ЗЫ Подумай сам а захочется ли тебе после офигенных затрат времени и усилий на п.1 бесплатно делать "ящики"?
16 Garykom
 
гуру
02.12.16
23:22
Но 1-й шаг сколачивания ящика подскажу.

Все свои "булочка1, булочка2 и т.д." сгруппируй любым образом, чтобы можно было получить по запросу "булочка" всю номенклатуру относящуюся к булочкам.
17 Torquader
 
03.12.16
02:44
(16) Там потом может оказаться, что заказали Булочка1 и Булочка3, но так как все Булочка2 пойдут как аналоги Булочка1, то на Булочка3 не хватит - надо грамотно систему приоритетов писать.
18 Garykom
 
гуру
03.12.16
02:57
(17) Заполнять рюкзаки запросами это к Ildarovich, он в этом мастер
19 prtx
 
03.12.16
16:23
(16) Люди еще раз извините, болочка1 и булочка2 и т.д. это и есть одна номенклатура.

т.е. в регистре хранится номенклатура в разрезе партий и по разным ценам.

например

булка / партия1 / 5 шт.
булка / партия2 / 6 шт.
20 Новиков
 
03.12.16
16:40
Ты вопрос сформируй корректно, ибо понять настолько сильный поток сознания уже просто нет никакой физической возможности.

К примеру в (19) напиши внятную формулировку задачи, т.к. ты уже не то хочешь, о чем спрашивал в (0)
21 prtx
 
03.12.16
16:53
(20) да то же я и хочу.

вот регистр накоплений:
Измерение1 / Измерение2 / Ресурс
булка      / партия1    / 5 шт.
булка      / партия2    / 6 шт.
булка      / партия3    / 9 шт.
булка      / партия4    / 8 шт.
булка      / партия5    / 2 шт.
булка      / партия6    / 3 шт.

у меня хотят купить булку с партии1 10 шт, но у меня нет столько, поэтому мне нужно отгрузить булку с партии1 - 5 шт, и то что не хватает с остальных партий в данном случае 5шт с партии2.
22 Garykom
 
гуру
03.12.16
17:12
(21) У тя партия это шо? документ, справочник или вообще "идентификатор строки документа прихода"?
23 Garykom
 
гуру
03.12.16
17:13
(22)+ Короче в типовых УТ давным давно есть гибкое списание по характеристикам и сериям это оно и есть что ты хочешь.
24 prtx
 
04.12.16
17:43
(22) партия - документ
25 mistеr
 
04.12.16
17:47
(24) Тогда это FIFO в чистом виде. Хошь в запросе, хошь без.
26 iceman2112
 
04.12.16
18:09
Понаберут спецов, потом эти спецы ваяют булочки