Имя: Пароль:
1C
1С v8
УТ 10.3 Количество в установку цен.
0 Uragan_a
 
30.08.12
11:18
Магазин проводит переоценку: заносит вручную позиции в установку цен и хотят видеть остатки для которых будет выполненна переоценка, а также распечатать новые этикетки, в обработку печати этикеток тоже нужно передавать количество товара.

Так вот вопрос, как лучше добавить и заполнить колонку, по какому событию, и не делать же запрос по каждой строке с номенкатурой, как бы выбрать остатки для всей ТЧ и заполнить)
1 Vladal
 
30.08.12
11:20
Выгрузи колонку Номенклатура из ТЧ, это и будет фильтр. В запросе укажи фильтр по номенклатуре и параметром передай выгруженный список номенклатуры.
2 ProProg
 
30.08.12
11:21
прямо то что надо! http://subsystems.ru/catalog/32/146/
работает с остатками. себестоимость и тп. отборы есть по всему.
3 Godofsin
 
30.08.12
11:24
(2) Дешева чо-то...
4 Uragan_a
 
30.08.12
11:25
слишком наворочена
5 Uragan_a
 
30.08.12
11:26
(1) а потом по какому событию заполнить колонку лучше
6 Vladal
 
30.08.12
13:49
(5) по кнопке, например, ЗаполнитьОстатки обзови.
Или при изменении номенклатуры - глянь, как в приходе/расходе сделано.
7 Uragan_a
 
02.09.12
13:56
КолонкаКоличество = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("КоличествоО");

Товары.Количество.ЗагрузитьКолонку(КолонкаКоличество);

Ошибка

{Обработка.ПечатьЭтикеток.Форма.Форма(915)}: Поле объекта не обнаружено (Количество)
   Товары.Количество.ЗагрузитьКолонку(КолонкаКоличество);

Уже по разному пробовал, циклом конечно можно но может можно и загрузкой?
8 Мимохожий Однако
 
02.09.12
14:02
Разбей строку "КолонкаКоличество = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("КоличествоО");
"
на отдельные кусочки, включи отладчик и убедись что "КоличествоО" нет в полученной таблице.
9 Мимохожий Однако
 
02.09.12
14:03
В документе "Установка цен" в табличной части нет реквизита "Количество"
10 Uragan_a
 
02.09.12
14:08
я в обработку печати этикеток гружу
11 Uragan_a
 
02.09.12
14:08
там есть
12 Uragan_a
 
02.09.12
14:08
СписокНоменклатуры = Товары.ВыгрузитьКолонку("Номенклатура");
   Список = Новый СписокЗначений;
   Запрос = Новый Запрос;
   
   Запрос.Текст = "ВЫБРАТЬ
                  |    ТоварыНаСкладахОстатки.Склад,
                  |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                  |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоО
                  |ИЗ
                  |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                 
   
                  |ГДЕ
                  |    ТоварыНаСкладахОстатки.Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)";
                 
   Запрос.УстановитьПараметр("Номенклатура", СписокНоменклатуры);
   КолонкаКоличество = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("КоличествоО");    
   Список.ЗагрузитьЗначения(КолонкаКоличество);
   //Товары.Количество.ЗагрузитьКолонку(Список);
   //ЭлементыФормы.ТабличноеПолеТовары.колонки.Количество = КолонкаКоличество;
   Товары.Количество.ЗагрузитьКолонку(КолонкаКоличество);
13 Uragan_a
 
02.09.12
14:11
(8) КолонкаКоличество = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("КоличествоО"), дает
массив:


0 5 Число
1 5 Число
2 5 Число
3 1 Число

Какраз те самые остатки
14 Мимохожий Однако
 
02.09.12
14:12
Проверь Товары.Количество
15 Uragan_a
 
02.09.12
14:22
Такой код работает

Для Каждого СтрокаТЧ Из Товары Цикл
           СтрокаТЧ.Количество = КоличествоКопий;
       КонецЦикла;


Значит есть Количество
16 Мимохожий Однако
 
02.09.12
14:29
В таблице из запроса у тебя "КоличествоО", а в табличной части Товары "Количество".
17 Uragan_a
 
02.09.12
14:37
не помогло
18 Uragan_a
 
02.09.12
14:37
(
19 Uragan_a
 
02.09.12
14:37
СписокНоменклатуры = Товары.ВыгрузитьКолонку("Номенклатура");
   Список = Новый СписокЗначений;
   Запрос = Новый Запрос;
   
   Запрос.Текст = "ВЫБРАТЬ
                  |    ТоварыНаСкладахОстатки.Склад,
                  |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                  |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Количество
                  |ИЗ
                  |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
                 
   
                  |ГДЕ
                  |    ТоварыНаСкладахОстатки.Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)";
                 
   Запрос.УстановитьПараметр("Номенклатура", СписокНоменклатуры);
   КолонкаКоличество = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Количество");    
   //РЗ = Запрос.Выполнить().Выбрать();
   
   //Список.ЗагрузитьЗначения(КолонкаКоличество);
   //Товары.Количество.ЗагрузитьКолонку(Список);
   //ЭлементыФормы.ТабличноеПолеТовары.колонки.Количество = КолонкаКоличество;
   Товары.Количество.ЗагрузитьКолонку(КолонкаКоличество);
20 Uragan_a
 
02.09.12
14:41
Товары.ЗагрузитьКолонку(КолонкаКоличество, "Количество");
21 Uragan_a
 
02.09.12
14:41
Во как надо было)
22 Uragan_a
 
02.09.12
14:44
Спасибо