7.7 Прайс-лист по Типам цен

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Inkeeper, 28 дек 2012.

  1. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    Доброго дня! Требуется сделать отчёт/обработку, которая бы выводила товары и цены на эти товары по всем типам цен.

    Что то типа:

    Код|Номенклатура|Закупочная|Оптовая|Розничная|
    -------------------------------------------------------------
    010| Товар1 | 100.00 | 120.00| 150.00 |

    Всё, что я смог сделать это обработку с выводом таблицы значений:

    Код:
    Процедура Сформировать()  
    
    Если ПустоеЗначение(ДатаОтчета) = 1 Тогда
    ДатаОтчета = РабочаяДата();
    КонецЕсли;
    
    СпрН = СоздатьОбъект("Справочник.Номенклатура");
    СпрТЦ = СоздатьОбъект("Справочник.ТипыЦен");
    СпрЦ = СоздатьОбъект("Справочник.Цены");
    
    
    
    // ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
    ТабЗнач.НоваяКолонка("КодНом");
    ТабЗнач.НоваяКолонка("Ном");
    ТабЗнач.НоваяКолонка("ТипЦены");
    ТабЗнач.НоваяКолонка("Цена");
    
    СпрН.ВыбратьЭлементы();
    Сч=0;
    Пока  СпрН.ПолучитьЭлемент()=1 Цикл
    Товар = СпрН.ТекущийЭлемент();
    СпрЦ.ИспользоватьВладельца(Товар);
    СпрЦ.ИспользоватьДату(ДатаОтчета);
    СпрЦ.ВыбратьЭлементы();
    СтрокаЦен = "";
    Пока СпрЦ.ПолучитьЭлемент()=1 Цикл
    ТипЦены = СпрЦ.ТипЦен;
    Цена = СпрЦ.Цена;  
    Наименование = СпрЦ.Владелец.Наименование;
    Код = СпрЦ.Владелец.Код;
    РодительНом = СпрЦ.Владелец.Родитель;
    СтрокаЦен = СтрокаЦен +ТипЦены+" = "+ Цена+";";
    //ТЗ
    ТабЗнач.НоваяСтрока();
    ТабЗнач.КодНом = Код;
    ТабЗнач.Ном = Наименование;
    ТабЗнач.ТипЦены = ТипЦены;
    ТабЗнач.Цена = Цена;
    //ТабЗнач.Свернуть("ТипЦены","Код");
    КонецЦикла;
    // Сообщить(Код+";"+Наименование+";"+РодительНом+";"+СтрокаЦен);
    Сч=Сч+1;
    Сообщить(""+Сч+"; "+Код+";"+Наименование+";"+СтрокаЦен);
    
    
    КонецЦикла;
    КонецПроцедуры
    Но выводиться только так:

    010| Товар1 | Закупочная | 100.00|
    010| Товар1 | Оптовая | 120.00|
    010| Товар1 | Розничная | 150.00|

    Подскажите пожалуйста, куда копать, что бы сделать, что бы выводилось

    Код|Номенклатура|Закупочная|Оптовая|Розничная|
    -------------------------------------------------------------
    010| Товар1 | 100.00 | 120.00| 150.00 |

    ?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    смотри СП ПрисоединитьСекцию
  3. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    Код:
     // ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
    ТабЗнач.НоваяКолонка("КодНом");
    ТабЗнач.НоваяКолонка("Ном");
    ТабЗнач.НоваяКолонка("Закупочная");
    ТабЗнач.НоваяКолонка("Оптовая");
    ТабЗнач.НоваяКолонка("Розничная");
    
    
    СпрН.ВыбратьЭлементы();
    Сч=0;
    Пока  СпрН.ПолучитьЭлемент()=1 Цикл
    Товар = СпрН.ТекущийЭлемент();
    СпрЦ.ИспользоватьВладельца(Товар);
    СпрЦ.ИспользоватьДату(ДатаОтчета);
    СпрЦ.ВыбратьЭлементы();
    СтрокаЦен = "";
    ТабЗнач.НоваяСтрока();
    ТабЗнач.КодНом = Код;
    ТабЗнач.Ном = Наименование;
    Пока СпрЦ.ПолучитьЭлемент()=1 Цикл
    ТипЦены = СпрЦ.ТипЦен;
    Цена = СпрЦ.Цена; 
    Наименование = СпрЦ.Владелец.Наименование;
    Код = СпрЦ.Владелец.Код;
    РодительНом = СпрЦ.Владелец.Родитель;
    СтрокаЦен = СтрокаЦен +ТипЦены+" = "+ Цена+";";  
    
    Если ТипЦены = Перечисление.ТипыЦен.Закупочная Тогда //смотрите тип значения
    ТабЗнач.Закупочная = Цена;
    ИначеЕсли ТипЦены = Перечисление.ТипыЦен.Оптовая Тогда
    ТабЗнач.Оптовая = Цена;						  
    ИначеЕсли ТипЦены = Перечисление.ТипыЦен.Розничная Тогда
    ТабЗнач.Розничная = Цена;
    КонецЕсли
    КонецЦикла;
    Сч=Сч+1;
    
    КонецЦикла;
    ТабЗнач.ВыбратьСтроку();
    
  4. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    Спасибо!

Поделиться этой страницей