Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как определить уровень группировки Excel (VB)

Как определить уровень группировки Excel (VB)
Я
   PQT
 
26.01.13 - 06:34
 
 
   PQT
 
1 - 26.01.13 - 06:35
Импортирую следующим способом, с большинством прайсов было все ок, но в очередном не у всех Групп есть Подгруппы
   PQT
 
2 - 26.01.13 - 06:35
ТекГруппа1 = Неопределено;
        ТекГруппа2 = Неопределено;
        ТекГруппа3 = Неопределено;
        ТекГруппаФикЗнаетКакогоУровня2 = Неопределено;
        ТекГруппаФикЗнаетКакогоУровня3 = Неопределено;
        Для Строка = ТекИндексы.ПерваяСтрока по КоличествоСтрок цикл
            Индикатор = Строка;
            
            СтрокаДанных = ВременнаяТаблица.Добавить();
            СтрокаДанных.КодПоставщика = СтрЗаменить(Sheet.Cells(Строка,НастройкиКолонок.КодПоставщика).Value, Символы.НПП, "")+СуффиксКода;
            СтрокаДанных.Наименование = СокрЛП(Sheet.Cells(Строка,НастройкиКолонок.Наименование).Value);
            Если СтрокаДанных.Наименование = "" Тогда
                Продолжить;
            КонецЕсли;
            Если СтрокаДанных.КодПоставщика = СуффиксКода Тогда// значит группа
 
                
                Если ТекГруппаФикЗнаетКакогоУровня3 = Неопределено Тогда// * ******* уровень 1
 
                    ТекГруппаФикЗнаетКакогоУровня3 = СтрокаДанных.Наименование;
                ИначеЕсли ТекГруппаФикЗнаетКакогоУровня2 = Неопределено Тогда// ***** уровень 2
 
                    ТекГруппаФикЗнаетКакогоУровня2 = ТекГруппаФикЗнаетКакогоУровня3;
                    ТекГруппаФикЗнаетКакогоУровня3 = СтрокаДанных.Наименование;
                Иначе                                                   // ************ уровень 3
 
                    ТекГруппа1 = ТекГруппаФикЗнаетКакогоУровня2;
                    ТекГруппа2 = ТекГруппаФикЗнаетКакогоУровня3;
                    ТекГруппа3 = СтрокаДанных.Наименование;
                    ТекГруппаФикЗнаетКакогоУровня2 = Неопределено;
                    ТекГруппаФикЗнаетКакогоУровня3 = Неопределено;
                КонецЕсли;
                
                ВременнаяТаблица.Удалить(СтрокаДанных);
                Продолжить;
            ИначеЕсли (Не ТекГруппаФикЗнаетКакогоУровня3 = Неопределено)и(Не ТекГруппаФикЗнаетКакогоУровня2 = Неопределено) Тогда
                ТекГруппа2 = ТекГруппаФикЗнаетКакогоУровня2;
                ТекГруппа3 = ТекГруппаФикЗнаетКакогоУровня3;
                ТекГруппаФикЗнаетКакогоУровня2 = Неопределено;
                ТекГруппаФикЗнаетКакогоУровня3 = Неопределено;
            ИначеЕсли (Не ТекГруппаФикЗнаетКакогоУровня3 = Неопределено) Тогда
                ТекГруппа3 = ТекГруппаФикЗнаетКакогоУровня3;
                ТекГруппаФикЗнаетКакогоУровня3 = Неопределено;
            КонецЕсли;
            СтрокаДанных.Группа1 = ТекГруппа1;
            СтрокаДанных.Группа2 = ТекГруппа2;
            СтрокаДанных.Группа3 = ТекГруппа3;
            Если ИспользоватьФильтрГрупп Тогда
                Если Не КэшГруппИсключений.Найти(СтрокаДанных.Группа2) = Неопределено Тогда
                    ВременнаяТаблица.Удалить(СтрокаДанных);
                    Продолжить;
                КонецЕсли;
            КонецЕсли;
            Попытка
                СтрокаДанных.Цена = Число(СтрЗаменить(Sheet.Cells(Строка,НастройкиКолонок.Цена).Value, Символы.НПП, ""));
            Исключение
                СтрокаДанных.Цена = 0;
            КонецПопытки;
            СтрокаДанных.ОстатокПоставщика = СокрЛП(Sheet.Cells(Строка,НастройкиКолонок.ОстатокПоставщика).Value);
            ОбработкаПрерыванияПользователя();
        КонецЦикла;
    КонецЕсли;
   PQT
 
3 - 26.01.13 - 06:37
если в вижл бейсике можно получить уровень группы, код бы значительно оптимизировался)
   PQT
 
4 - 26.01.13 - 06:38
В указанной выше ветке был вопрос "Зачем?", так вот отвечаю:
Справочник 1 - содержит прайсы поставщиков, Справочник 2 - наша номенклатура в которую товары попадают после настройки пользователями структуры каталогов.
   PQT
 
5 - 26.01.13 - 06:43
т.е. после настройки соответствия выгрузки товаров каталогов из справочника 1 в справочник 2)
   PQT
 
6 - 26.01.13 - 06:58
Или второй вопрос: Как при "сплошном" расположении групп определить уровень в ситуации когда некоторые группы не имеют подгрупп?
   PQT
 
7 - 26.01.13 - 07:07
вроде нашел, Sheet.Cells(Строка).OutlineLevel - но почемуто не работает(
Ошибка при получении значения атрибута контекста
   PQT
 
8 - 26.01.13 - 07:13
ВСЕ! СООБРАЗИЛ!! Sheet.Rows(Строка).OutlineLevel
   PQT
 
9 - 26.01.13 - 07:13
ТЕМА ЗАКРЫТА СПАСИБО ЗА ВНИМАНИЕ))

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует