Имя: Пароль:
1C
1C 7.7
v7: Печать прайс - листа с категориями в отдельной колонке
,
0 TonyMontana Slot
 
16.10.12
09:28
Всем привет. Перегоняю прайс из xls в MySQL и все вроде бы хорошо, да нет признаков категорий. Не могу сообразить, как выводить по каждой позиции ее категорию в 1С (УТ), в обработке ПечатьПрайса:
Так сейчас:

Водонагреватели
Electrolux S5530   8490 руб.
Electrolux S5530   8490 руб.
Electrolux S5530   8490 руб.

А охото вот так:
Electrolux S5530   8490 руб.   Водонагреватели
Electrolux S5530   8490 руб.   Водонагреватели
Electrolux S5530   8490 руб.   Водонагреватели

Кто - нибудь делал?
1 mikecool
 
16.10.12
09:30
да
2 TonyMontana Slot
 
16.10.12
09:34
Можно кусочек кода и что в макете переделать?
3 TonyMontana Slot
 
16.10.12
09:35
Ой, не УТ а ТиС конфа
4 mikecool
 
16.10.12
09:36
(2) нету
5 apl1978
 
16.10.12
09:37
(0) а Категория это что? Группа?
6 Mikeware
 
16.10.12
09:37
(2) "сделайте за меня"?
7 TonyMontana Slot
 
16.10.12
09:40
(5) да, группа)
(6) нет, я могу помучаться и сделать за день, но скорее всего это уже кто-то делал до меня, почему бы и не спросить?
8 TonyMontana Slot
 
16.10.12
09:46
Интересно, похоже в базе 1С у элементов номенклатуры нету идентификатора группы
9 apl1978
 
16.10.12
09:47
(8) да ну?
а так?
Родитель
Синтаксис:
Родитель
Назначение:
Доступ к значению родительской группы выбранного элемента справочника.
Атрибут  может быть изменен только для объектов, созданных функцией СоздатьОбъект.
Подробнее см. в документации, глава 'Работа со Справочниками'
10 TonyMontana Slot
 
16.10.12
10:39
Если кому понадобится в будующем, вот как я сделал :

1. Удаляем из модуля строки

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

Затем вот эти:

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

Вот эти строки меняем:

           Наименование = ТекЭлем.ПолнНаименование + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(ТекЭлем.Артикул), "");
           ИсхТабл.ВывестиСекцию("Номенклатура|Название");

На вот так :

           Наименование = ТекЭлем.ПолнНаименование + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(ТекЭлем.Артикул), "" + СокрЛП(ТекЭлем.Родитель));
           ИсхТабл.ВывестиСекцию("Номенклатура|Название");

Скрин макета :

http://s9.postimage.org/8kib0jor3/image.jpg

Все пока криво, но результата добился
11 sidalexsandr
 
16.10.12
11:22
(0) Присоеденюсь к (9) у каждого товара есть атрибут Родитель (Родитель - это группа которой принадлежит товар).
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан