Имя: Пароль:
1C
1С v8
Заполнить ячейки в таблице значений
0 Pvladimir
 
21.10.14
13:48
Доброго дня всем! Помогите разобраться плиз : делаю на форме ТаблицуЗначений, создаю столбцы
Настройки=ЭтотОбъект.ПолучитьФорму("Форма").ЭлементыФормы;
Период=Настройки.НачПериода.Значение;
НачПериода=Настройки.НачПериода.Значение;
КонПериода=Настройки.КонПериода.Значение;  
сч=0;
сч1=0;
сч2=0;
      
Пока Период <= КонПериода Цикл
    сч=сч+1;
    сч1=сч1+1;
    сч2=сч2+1;

    Дата1=Строка(Формат(Период,"ДФ=dd.MM.yyyy"));
    ПрошлыйПериод = ДобавитьМесяц(Период,-12);
    Дата2=Строка(Формат(ПрошлыйПериод,"ДФ=dd.MM.yyyy"));
    
    
    Колонка1 = ("Прошлый"+сч);
    Колонка2 = ("Этот"+сч1);
    Колонка3 = ("Разница"+сч2);
    Колонка4 = ("Итого"+сч);

    
    Таблица.Колонки.Добавить(Колонка1, Новый ОписаниеТипов("Строка"), Дата2);
    Таблица.Колонки.Добавить(Колонка2, Новый ОписаниеТипов("Строка"), Дата1);
    Таблица.Колонки.Добавить(Колонка3, Новый ОписаниеТипов("Строка"), "Разница");
    Если Настройки.ПоКварталам.Значение=Истина Тогда
        Если сч=3 или сч=6 или сч = 9 или сч = 12 тогда
            Таблица.Колонки.Добавить(Колонка4, Новый ОписаниеТипов("Строка"), "Итого за квартал");
        КонецЕсли;
    КонецЕсли;
    ЭлементыФормы.Таблица.СоздатьКолонки();
    Период= ДобавитьМесяц(Период,1);
    
    
КонецЦикла;
как эту готовую таблицу записать данные из запроса ?
1 Pvladimir
 
21.10.14
13:49
нужно сравнить продажи за периоды по месяцам
2 Pvladimir
 
21.10.14
13:53
этой функцией заполняю товары и остатки
Функция ЗаполнитьТоварыИОстатки()
    
Настройки=ЭтотОбъект.ПолучитьФорму("Форма").ЭлементыФормы;
Период=Настройки.НачПериода.Значение;
НачПериода=Настройки.НачПериода.Значение;
КонПериода=Настройки.КонПериода.Значение;  
//Выборка = Справочники.Номенклатура.ВыбратьИерархически(Номенклатура);
Индикатор=Настройки.Индикатор1;
Индикатор.Значение=0;

ЗапросТовары=Новый Запрос;
ЗапросТовары.Текст="ВЫБРАТЬ
                   |    Номенклатура.Ссылка,
                   |    Номенклатура.Артикул,
                   |    Номенклатура.Наименование КАК Наименование,
                   |    Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Коэффициент,
                   |    Номенклатура.ЕдиницаДляОтчетов.Вес КАК Вес,
                   |    Номенклатура.ЕдиницаДляОтчетов.Объем КАК Объем
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.Родитель В ИЕРАРХИИ(&Родитель)
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Наименование";

ЗапросТовары.УстановитьПараметр("Родитель",Номенклатура);
Выборка=ЗапросТовары.Выполнить().Выбрать();
Количество=Выборка.Количество();
Индикатор.МаксимальноеЗначение=Количество;


Пока Выборка.Следующий() Цикл
///////////////////////////////////////////////////////////////////////////остатки    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Номенклатура",Выборка.Ссылка);
        Запрос.Текст =  
         "ВЫБРАТЬ
         |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
         |ИЗ
         |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
         |ГДЕ
         |    ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
        РезультатОстатки = Запрос.Выполнить().Выбрать();
          РезультатОстатки.Следующий();
        Остатки = РезультатОстатки.Остаток;
        
        Если Остатки<>Неопределено Тогда
            Если Остатки<>Null Тогда
                   Остатки = ОбработкаТабличныхЧастей.глФорматКоличества(Остатки, Выборка.Коэффициент);
            Иначе
                Остатки = РезультатОстатки.Остаток;
            КонецЕсли;    
        КонецЕсли;
        
///////////////////////////////////////////////////////////////////////////остатки    
//------------------------------------------------------------------------------------------------------------------------//
///////////////////////////////////////////////////////////////////////////продажи
        ЗапросПродажи=Новый Запрос;
        
        ЗапросПродажи.Текст="ВЫБРАТЬ
                     |    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество
                     |ИЗ
                     |    РегистрНакопления.Продажи.Обороты(&Нач, &Кон,) КАК ПродажиОбороты
                     |ГДЕ
                     |    ПродажиОбороты.Номенклатура = &Номенклатура";
        ЗапросПродажи.УстановитьПараметр("Нач",НачПериода);
        ЗапросПродажи.УстановитьПараметр("Кон",КонПериода);
        ЗапросПродажи.УстановитьПараметр("Номенклатура",Выборка.Ссылка);
        РезультатПродажи=ЗапросПродажи.Выполнить().Выбрать();
        Если РезультатПродажи.Следующий()Тогда
            Если РезультатПродажи.Количество<>Null тогда
                Продажи=РезультатПродажи.Количество;
                ВсегоПродаж=ОбработкаТабличныхЧастей.глФорматКоличества(Продажи, Выборка.Коэффициент);
            Иначе
                ВсегоПродаж=РезультатПродажи.Количество;
            КонецЕсли;
        
        КонецЕсли;
////------------------------------------------------------------------------------------------------------------------------//
///////////////////////////////////////////////////////////////////////////продажи
    стр= Таблица.Добавить();
    стр.Артикул=Выборка.Артикул;
    стр.Номенклатура=Выборка.Наименование;
    стр.Остаток=Остатки;
    стр.ВсегоПродаж=ВсегоПродаж;




Индикатор.Значение =   Индикатор.Значение+1;
    
КонецЦикла;
    
    
    
КонецФункции
3 Pvladimir
 
21.10.14
13:53
а вот как заполнить данные по месяцам ни как не вкурю)
4 kosts
 
21.10.14
13:54
(0) Сильно код не смотрел, но примерно так можно

Пока Цикл // по выборке

    Строка = Таблиц.Добавить();
    ЗаполнитьЗеначенияСвойств(Строка, Выборка);

КонецЦикла;
5 kosts
 
21.10.14
13:56
(2) Запрос в цикле это плохо. Первый запрос должен за один раз вернуть все нужные данные.
6 palpetrovich
 
21.10.14
13:56
Пока Выборка.Следующий() Цикл
    Запрос = Новый Запрос;
...
может ну его?
7 Pvladimir
 
21.10.14
14:07
дык это понятно что следующий .......
запросом пользоваться мы могем ) не могем ни как понять где вызвать заполнение таблицы на форме .
1. создаю столбцы.
2. заполняю там значения номенклатура, остатки, всего продаж.
3. как записать дынные из выборки в ячейки циклом ни как....
8 Pvladimir
 
21.10.14
14:08
может  я не правильно  колонку называю..?
Колонка1 = ("Прошлый"+сч);
    Колонка2 = ("Этот"+сч1);
    Колонка3 = ("Разница"+сч2);
    Колонка4 = ("Итого"+сч);

    
    Таблица.Колонки.Добавить(Колонка1, Новый ОписаниеТипов("Строка"), Дата2);
    Таблица.Колонки.Добавить(Колонка2, Новый ОписаниеТипов("Строка"), Дата1);
    Таблица.Колонки.Добавить(Колонка3, Новый ОписаниеТипов("Строка"), "Разница");
9 kosts
 
21.10.14
14:12
(8) Колонку можно назвать хоть ... забыл как там в пословице...

Строка = Таблиц.Добавить();
Строка.КолонкаСоСтрашнымИменем_1 = Выборка.Сумма1;
Строка.КолонкаСоСтрашнымИменем_2 = Выборка.Сумма1;

В чем проблема-то ставь точку останова и смотри что там и куда присваивается.
10 kosts
 
21.10.14
14:14
И точно ли, что типы создаваемых колонок - Строки
11 Pvladimir
 
21.10.14
14:16
))) Итого9    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Таблица.Колонки    КоллекцияКолонокТаблицыЗначений    КоллекцияКолонокТаблицыЗначений
Артикул    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
ВсегоПродаж    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Итого12    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Итого3    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Итого6    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Номенклатура    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Остаток    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый1    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый10    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый11    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый12    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый2    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый3    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый4    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый5    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый6    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый7    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый8    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Прошлый9    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница1    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница10    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница11    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница12    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница2    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница3    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница4    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница5    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница6    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница7    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница8    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Разница9    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот1    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот10    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот11    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот12    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот2    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот3    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот4    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот5    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот6    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот7    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот8    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
Этот9    КолонкаТаблицыЗначений    КолонкаТаблицыЗначений
12 palpetrovich
 
21.10.14
14:17
(8) если Колонка1 = "Колонка1" то норм
а добавлять в таком случае можно как-то так:
Строка = Таблиц.Добавить();
Для инд = 1 по 12 цикл
Строка.Установить(инд, Значение)

зы: если я ничего не напутал :)
13 palpetrovich
 
21.10.14
14:18
* Строка = СтрокаТаблицы // а то Строка  - зарезервированное
14 kosts
 
21.10.14
14:19
(13) Работает и так, со Строкой...
15 kosts
 
21.10.14
14:20
(12)+1 Наверное в этом загвоздка, и такое нужно

Строка["СуперКолонка" + ч] = Выборка.Сумма;
16 palpetrovich
 
21.10.14
14:20
(14) ну просто глаз режет
17 Pvladimir
 
21.10.14
14:21
у меня уже не только глаз.... )))
18 palpetrovich
 
21.10.14
14:21
(15) если там строго 12 колонок - можно и по индексу
19 Pvladimir
 
21.10.14
14:22
подскажите в каком месте это использовать.. при выводе строки?
20 kosts
 
21.10.14
14:22
(18) Не, даже не стоит по индексу, трудно потом сопровождать
21 Pvladimir
 
21.10.14
14:23
нет, там число колонок зависит от периода какой выберет пользователь
22 palpetrovich
 
21.10.14
14:23
(17) вообще говоря, проблема у тебя не в ТЗ, проблема, если меня мой телепат не дурит, в том, что тебе нужно получить остатки "помесячно" + "поквартально"
23 kosts
 
21.10.14
14:24
(19) "При выводе строки" применяется, что бы подменить значение в ячейке или расскрасить, там и пр.
24 Pvladimir
 
21.10.14
14:24
Пока Период <= КонПериода Цикл
    сч=сч+1;
    сч1=сч1+1;
    сч2=сч2+1;

    Дата1=Строка(Формат(Период,"ДФ=dd.MM.yyyy"));
    ПрошлыйПериод = ДобавитьМесяц(Период,-12);
    Дата2=Строка(Формат(ПрошлыйПериод,"ДФ=dd.MM.yyyy"));
    
    
    Колонка1 = ("Прошлый"+сч);
    Колонка2 = ("Этот"+сч1);
    Колонка3 = ("Разница"+сч2);
    Колонка4 = ("Итого"+сч);
25 Pvladimir
 
21.10.14
14:25
да, и сравнить их с прошлыми продажами и вывести разницу и потом показать востребованные.....
26 Pvladimir
 
21.10.14
14:25
... и что нужно дозаказать
27 Pvladimir
 
21.10.14
14:26
поэтому принял решение это все делать в таблице значений
28 Pvladimir
 
21.10.14
14:26
и чегото завис... на выводе данных в колонки с месяцами
29 palpetrovich
 
21.10.14
14:27
(25) а где там про продажи? ...это что, отчет типа "оборачиваемость товара"?
30 kosts
 
21.10.14
14:27
(25) 1. Проще всего создать таблицу сразу на форме, не связываясь с программным формированием.
2. Сделать один запрос в котором будут получены сразу все нужные данный в нужном виде.
3. Вывести этот запрос в таблицу. (или в макет)
31 kosts
 
21.10.14
14:28
(30) + То есть из всего кода запрос будет занимать 95%.
32 Pvladimir
 
21.10.14
14:38
kosts, я так собственно и сделал.. только добавляю программно туда колонки месяцЭтот, месяцПрошлый, Разница..  
вызываю эту форму из основной и при открытии делаю...
Процедура ПриОткрытии()
ДобавитьКолонки();    
ЗаполнитьТоварыИОстатки();    

////ЗаполнитьПродажи(); /// вот эта **** куда?




КонецПроцедуры
33 Pvladimir
 
21.10.14
14:39
Процедура ДобавитьКолонки()
Настройки=ЭтотОбъект.ПолучитьФорму("Форма").ЭлементыФормы;
Период=Настройки.НачПериода.Значение;
НачПериода=Настройки.НачПериода.Значение;
КонПериода=Настройки.КонПериода.Значение;  
сч=0;
сч1=0;
сч2=0;
      
Пока Период <= КонПериода Цикл
    сч=сч+1;
    сч1=сч1+1;
    сч2=сч2+1;

    Дата1=Строка(Формат(Период,"ДФ=dd.MM.yyyy"));
    ПрошлыйПериод = ДобавитьМесяц(Период,-12);
    Дата2=Строка(Формат(ПрошлыйПериод,"ДФ=dd.MM.yyyy"));
    
    
    Колонка1 = ("Прошлый"+сч);
    Колонка2 = ("Этот"+сч1);
    Колонка3 = ("Разница"+сч2);
    Колонка4 = ("Итого"+сч);

    
    Таблица.Колонки.Добавить(Колонка1, Новый ОписаниеТипов("Строка"), Дата2);
    Таблица.Колонки.Добавить(Колонка2, Новый ОписаниеТипов("Строка"), Дата1);
    Таблица.Колонки.Добавить(Колонка3, Новый ОписаниеТипов("Строка"), "Разница");
    Если Настройки.ПоКварталам.Значение=Истина Тогда
        Если сч=3 или сч=6 или сч = 9 или сч = 12 тогда
            Таблица.Колонки.Добавить(Колонка4, Новый ОписаниеТипов("Строка"), "Итого за квартал");
        КонецЕсли;
    КонецЕсли;
    ЭлементыФормы.Таблица.СоздатьКолонки();
    Период= ДобавитьМесяц(Период,1);
    
    
КонецЦикла;

    
КонецПроцедуры
34 Pvladimir
 
21.10.14
14:39
Функция ЗаполнитьТоварыИОстатки()
    
Настройки=ЭтотОбъект.ПолучитьФорму("Форма").ЭлементыФормы;
Период=Настройки.НачПериода.Значение;
НачПериода=Настройки.НачПериода.Значение;
КонПериода=Настройки.КонПериода.Значение;  
//Выборка = Справочники.Номенклатура.ВыбратьИерархически(Номенклатура);
Индикатор=Настройки.Индикатор1;
Индикатор.Значение=0;

ЗапросТовары=Новый Запрос;
ЗапросТовары.Текст="ВЫБРАТЬ
                   |    Номенклатура.Ссылка,
                   |    Номенклатура.Артикул,
                   |    Номенклатура.Наименование КАК Наименование,
                   |    Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Коэффициент,
                   |    Номенклатура.ЕдиницаДляОтчетов.Вес КАК Вес,
                   |    Номенклатура.ЕдиницаДляОтчетов.Объем КАК Объем
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.Родитель В ИЕРАРХИИ(&Родитель)
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Наименование";

ЗапросТовары.УстановитьПараметр("Родитель",Номенклатура);
Выборка=ЗапросТовары.Выполнить().Выбрать();
Количество=Выборка.Количество();
Индикатор.МаксимальноеЗначение=Количество;


Пока Выборка.Следующий() Цикл
///////////////////////////////////////////////////////////////////////////остатки    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Номенклатура",Выборка.Ссылка);
        Запрос.Текст =  
         "ВЫБРАТЬ
         |    ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток
         |ИЗ
         |    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
         |ГДЕ
         |    ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура";
        РезультатОстатки = Запрос.Выполнить().Выбрать();
          РезультатОстатки.Следующий();
        Остатки = РезультатОстатки.Остаток;
        
        Если Остатки<>Неопределено Тогда
            Если Остатки<>Null Тогда
                   Остатки = ОбработкаТабличныхЧастей.глФорматКоличества(Остатки, Выборка.Коэффициент);
            Иначе
                Остатки = РезультатОстатки.Остаток;
            КонецЕсли;    
        КонецЕсли;
        
///////////////////////////////////////////////////////////////////////////остатки    
//------------------------------------------------------------------------------------------------------------------------//
///////////////////////////////////////////////////////////////////////////продажи
        ЗапросПродажи=Новый Запрос;
        
        ЗапросПродажи.Текст="ВЫБРАТЬ
                     |    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество
                     |ИЗ
                     |    РегистрНакопления.Продажи.Обороты(&Нач, &Кон,) КАК ПродажиОбороты
                     |ГДЕ
                     |    ПродажиОбороты.Номенклатура = &Номенклатура";
        ЗапросПродажи.УстановитьПараметр("Нач",НачПериода);
        ЗапросПродажи.УстановитьПараметр("Кон",КонПериода);
        ЗапросПродажи.УстановитьПараметр("Номенклатура",Выборка.Ссылка);
        РезультатПродажи=ЗапросПродажи.Выполнить().Выбрать();
        Если РезультатПродажи.Следующий()Тогда
            Если РезультатПродажи.Количество<>Null тогда
                Продажи=РезультатПродажи.Количество;
                ВсегоПродаж=ОбработкаТабличныхЧастей.глФорматКоличества(Продажи, Выборка.Коэффициент);
            Иначе
                ВсегоПродаж=РезультатПродажи.Количество;
            КонецЕсли;
        
        КонецЕсли;
////------------------------------------------------------------------------------------------------------------------------//
///////////////////////////////////////////////////////////////////////////продажи
    стр= Таблица.Добавить();
    стр.Артикул=Выборка.Артикул;
    стр.Номенклатура=Выборка.Наименование;
    стр.Остаток=Остатки;
    стр.ВсегоПродаж=ВсегоПродаж;




Индикатор.Значение =   Индикатор.Значение+1;
    
КонецЦикла;
    
    
    
КонецФункции
35 Pvladimir
 
21.10.14
14:41
вопрос в том куда и когда "втыкать" запрос и заполнение ячейки Этот, месяцПрошлый, Разница..
36 kosts
 
21.10.14
14:42
(32) Сделай одну процедуру

ЗаполнитьТоварыИОстаткиИПродажи();
37 Pvladimir
 
21.10.14
14:43
ни разу к Вам за помощью не обращался)) но тут уже кипит мозг, извините))
38 Pvladimir
 
21.10.14
14:46
делал так сначала
пока товары.следующий цикл
................
внутри сделал пока дата1<>дата2 цикл
.........
добавил колонки
закрылцикл


добавил строку
закрылцикл

не выходит(
39 Pvladimir
 
21.10.14
14:46
решил на разные процедуры разбить...
40 palpetrovich
 
21.10.14
14:48
(34) поменй свои запросы в цикле на примерно такое:

ВЫБРАТЬ
    Товар.Ссылка КАК Товар,
    ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
    Справочник.Номенклатура КАК Товар
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&Кон, ) КАК ТоварыНаСкладахОстатки
        ПО Товар.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&Нач, &Кон, Месяц, ) КАК ПродажиОбороты
        ПО Товар.Ссылка = ПродажиОбороты.Номенклатура
41 kosts
 
21.10.14
14:48
(38) Открой консоль запросов. Сделай в одном запросе всё. Нет не так сделай в одном запросе всё, всё, всё.

А в своей форме в при открытии сделай (4)
42 palpetrovich
 
21.10.14
14:49
+(40) про продажи забыл

ВЫБРАТЬ
    Товар.Ссылка КАК Товар,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ПродажиОбороты.КоличествоОборот
ИЗ
    Справочник.Номенклатура КАК Товар
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&Кон, ) КАК ТоварыНаСкладахОстатки
        ПО Товар.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&Нач, &Кон, Месяц, ) КАК ПродажиОбороты
        ПО Товар.Ссылка = ПродажиОбороты.Номенклатура
43 Pvladimir
 
21.10.14
15:18
запутали вы меня )
выберу я это и как мне результат в таблицу добавить?
чтобы по месяцам  этот, прошлый, разница, процент,
разве если создать таблицуЗначений в нее данные потом запросом ни как не запихнуть?
44 Pvladimir
 
21.10.14
15:20
может  всетаки
Строка = Таблиц.Добавить();
Для инд = 1 по 12 цикл
Строка.Установить(инд, Значение)
где 12 = колво колонок посчитать?
45 kosts
 
21.10.14
15:20
(44) Опередил...
46 kosts
 
21.10.14
15:22
так еще

Строка["СуперКолонка" + ч] = Выборка.Сумма;
47 Pvladimir
 
21.10.14
15:28
ага.. вот это по мне) а в каком месте это вставить? ЗаполнитьТоварыИОстатки()
48 Pvladimir
 
21.10.14
15:30
Пока товары.следующий  цикл

    стр= Таблица.Добавить();
    стр.Артикул=Выборка.Артикул;
    стр.Номенклатура=Выборка.Наименование;
    стр.Остаток=Остатки;
    стр.ВсегоПродаж=ВсегоПродаж;


Для инд = 1 по 12 цикл
Строка.Установить(инд, Значение)
КонецЦикла
КонецЦикла

Так?
49 Pvladimir
 
21.10.14
15:31
из Ростова я) с меня раки))
50 Pvladimir
 
21.10.14
15:37
Строка["СуперКолонка" + ч]  не катит ч=ч+1 с цикле с товарами
51 Pvladimir
 
21.10.14
15:39
а колонки которые нужно только посчитать в условии по имени перебирать ? типа если колонка.имя=[колонка] тогда кол+1?
52 palpetrovich
 
21.10.14
15:47
(48) ну если у тебя уже есть 4 колонки (Артикул, Номенклатура,...) то может тогда
Для инд = 5 по 15 цикл ? :)
53 palpetrovich
 
21.10.14
15:48
по 16
54 Pvladimir
 
21.10.14
15:49
по колво колонок )
их ведь не обязательное число будет
55 Pvladimir
 
21.10.14
15:50
к зависимости от периода у меня добавляются колонки
колонка1,колонка2,Разница...
56 palpetrovich
 
21.10.14
15:50
(54) дык считай сколько после "обязательных"
57 Pvladimir
 
21.10.14
15:52
01-2013,01-2014,Разница, потом добавиьт хочу процент разницы, и посчитать итог за 3 месяца
58 Pvladimir
 
21.10.14
15:56
фууф..
59 Pvladimir
 
21.10.14
15:59
а как сюда скрин выложить господа?)
60 palpetrovich
 
21.10.14
16:34
(59) к примеру, сюда бросай http://i-fotki.info