Имя: Пароль:
1C
1С v8
Помогите придумать запрос.к РН ТоварыВНТТ. УТ 10.3
0 Альбатрос
 
21.01.14
12:44
Исходные данные:
Около 600 складов НТТ.
ТЗ с 2-мя колонками. В первой колонке ссылка на номенклатуру, вторая колонка содержит массив с произвольным кол-вом записей, которые также представляют из себя ссылки на номенклатуру.

Задача:
Перебросить остатки по товарам из массива на товар из первой колонки.
Соответственно нужен запрос, чтобы эти остатки определить сначала. При этом сгруппировать нужно по складу, т.к. На основе этих данных будет заполняться документ Инвентаризация.

У меня грамотных идей нет. Как грамотно составить запрос?
1 Альбатрос
 
21.01.14
12:45
Хотя бы в цикле )))
2 Рэйв
 
21.01.14
12:47
Перебирай ТЗ, масив товаров в строке - в параметр.
Получай остатки и перекидывай.В чем сложность?
3 Альбатрос
 
21.01.14
12:49
(2) Сложность в группировке по складу.
4 Альбатрос
 
21.01.14
12:49
Запрос = Новый запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТоварыВНТТОстатки.Номенклатура,
                   |    ТоварыВНТТОстатки.Склад КАК Склад,
                   |    ТоварыВНТТОстатки.ЦенаВРознице,
                   |    ТоварыВНТТОстатки.КоличествоОстаток,
                   |    1 КАК Главный
                   |ИЗ
                   |    РегистрНакопления.ТоварыВНТТ.Остатки(&Дата, Номенклатура = &Товар) КАК ТоварыВНТТОстатки
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ТоварыВНТТОстатки.Номенклатура,
                   |    ТоварыВНТТОстатки.Склад,
                   |    ТоварыВНТТОстатки.ЦенаВРознице,
                   |    ТоварыВНТТОстатки.КоличествоОстаток,
                   |    0
                   |ИЗ
                   |    РегистрНакопления.ТоварыВНТТ.Остатки(&Дата, Номенклатура В (&МассивТоваров)) КАК ТоварыВНТТОстатки";
                  
    Запрос.УстановитьПараметр("Дата", '20140101000000');
    Запрос.УстановитьПараметр("Товар", Таб[0].ГлТовар);
    Запрос.УстановитьПараметр("МассивТоваров", Таб[0].МассивРабов);
5 Альбатрос
 
21.01.14
12:51
(4) Это я по первой записи из ТЗ сделал. В результате 4 записи, во всех разный склад. А у меня в ТЗ около 600 строк. Как мне потом по складам сгруппировать кучу результатов, если я в цикле запрос выполнять буду?
6 Рэйв
 
21.01.14
12:51
(4)Зачем тебе остатки товара на который ты переносишь? Не пофигу ли?
7 Рэйв
 
21.01.14
12:52
У тебя есть склады остатков товаров из списка.На них и переноси
8 Альбатрос
 
21.01.14
12:54
(6) Да, точно, пофигу так то. Но его в результате все равно как то учитывать надо, дабы определять по результату куда переносить.
9 Альбатрос
 
21.01.14
12:56
(7) Не понял. Поясните плиз.
10 Альбатрос
 
21.01.14
12:58
(8) Хотя не, не по фигу. Забыл указать, что мне еще надо определять дату последнего прихода по записи и из нее брать розничную цену, по которой будут вносится остатки. Короче, если у товара, на который переношу, будут по старым розничным ценам, мне их тоже надо списать и оприходовать по актуальной )))
11 Рэйв
 
21.01.14
12:59
(9)У тебя все товары из списка имеют какие то остатки по разным складам.

Тебе можно
1.Перенести на те же склады но на новый товар
2.Перенести все на какой то один склад.

Сам смотри что тебе надо
12 Альбатрос
 
21.01.14
13:02
(11) Мне нужен вариант 1. Вот как это сделать?
13 Рэйв
 
21.01.14
13:03
(12)Получай остатки по всем измерениям по списку товаров,
Вынгужай результат в ТЗ, перебирай ТЗ и делай движения все заполняя также , только вместо товара из списка подставляй замену
14 Рэйв
 
21.01.14
13:06
(13)Это в приход
А в расход заволняй все один в один как в резельтате запроса
15 Альбатрос
 
21.01.14
13:25
(13) (14) Ну так а как по складу то сформировать???
У меня не один список товаров. У меня список товаров, на которые переносить и список массивов(!), каждый из массивов соответствует только одному товару из первого списка... Короче, я не догоняю реально, как это все в запрос уместить. При этом еще и нужно определять последнюю розничную цену, на которую потом записывать остатки...
16 Альбатрос
 
21.01.14
13:30
(13) Выгружать мне надо в инвентаризацию, а инвентаризация делается на конкретный склад.
17 Альбатрос
 
21.01.14
13:35
По ходу писаниной я проблему не опишу.