|   |   | 
| 
 | v7: Как получить основную Группа товаров | ☑ | ||
|---|---|---|---|---|
| 0
    
        geniusbsd 13.11.15✎ 16:46 | 
        Добрый день
 Есть процедура экспорта остатков товаров в файл Процедура ЗаполнитьОстаткиТовара() Перем Запрос, ТекстЗапроса; Х=СоздатьОбъект("Текст"); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Заполнить) |Период с ДатаДок по ДатаДок; |Фирма = Регистр.ОстаткиТоваров.Фирма; |Товар = Регистр.ОстаткиТоваров.Товар; |Склад = Регистр.ОстаткиТоваров.Склад; |ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара; |Функция ОстатокТовараКонОст = КонОст(ОстатокТовара); |Группировка Фирма без групп; |Группировка Товар без групп; |Группировка Склад без групп; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Пока Запрос.Группировка(3) = 1 Цикл СтрокасТоваром = СокрЛП(СокрЛП(Запрос.Фирма)+СокрЛП(";")+СокрЛП(Запрос.Товар.Родитель)+СокрЛП(";")+СокрЛП(Запрос.Товар)+СокрЛП(";")+СокрЛП( Запрос.Склад)+СокрЛП(";")+СокрЛП(Запрос.ОстатокТовараКонОст)); Х.ДобавитьСтроку (СтрокасТоваром) КонецЦикла; КонецЦикла; КонецЦикла; Х.Записать("C:\Osttov.csv"); КонецПроцедуры Как получить не текущую подгруппу товара а основную группу товара количество уровней иерархии не известно? К примеру остаток товара BR1501 ООО Зайцев и Ко Бытовая Техника Утюги Braun BR1501 Нужно получить стоку НашаФирма;ООО Зайцев и Ко;BR1501;НашСклад;3 | |||
| 1
    
        Масянька 13.11.15✎ 16:53 | 
        (0) ПолноеНаименование()
 Синтаксис: ПолноеНаименование() Назначение: Возвращает строку, содержащую полное наименование выбранного элемента справочника со всеми вышестоящими уровнями, разделенными символом /. Тебе нужен самый первый (уровень). | |||
| 2
    
        Горогуля 13.11.15✎ 16:54 | 
        а в этих ваших семёрках допускается палка в наименовании?     | |||
| 3
    
        VikingKosmo 13.11.15✎ 16:56 | 
        (2) в 7ках функция ПолноеНаименование() как раз формирует полный путь до элемента, через палки     | |||
| 4
    
        VikingKosmo 13.11.15✎ 16:56 | 
        одно из немногого, что я помню о клюшках)))     | |||
| 5
    
        aka AMIGO 13.11.15✎ 16:56 | 
        Всё не читал, но..
 Про ПолноеНаименование90 (или ПолныйКод()) еще не говорили? А еще отладчик прекрасно показывает все внутренности обработки :) | |||
| 6
    
        Масянька 13.11.15✎ 16:57 | 
        (2) (3) Палка в другом месте. А это - слеш :)))     | |||
| 7
    
        aka AMIGO 13.11.15✎ 16:57 | 
        * ПолноеНаименование90 = ПолноеНаименование() 
 Шифт не работает, надо выкинуть клаву.. | |||
| 8
    
        Масянька 13.11.15✎ 16:58 | 
        (7) Почистить не пробовал? Только не забудь - как кнопочки расположены :))))))     | |||
| 9
    
        Горогуля 13.11.15✎ 16:59 | 
        (3) хозтовары/чистящие/доставляющие вещества/клей момент - на каком уровне клей?     | |||
| 10
    
        Горогуля 13.11.15✎ 16:59 | 
        (7) и мышь ;)     | |||
| 11
    
        aka AMIGO 13.11.15✎ 17:00 | 
        (8) она куда-то под стол выскочила, не видно, там проводов бездна накручено :(
 Ладно, в понедельник :) | |||
| 12
    
        geniusbsd 13.11.15✎ 17:00 | 
        Спасибо буду пробовать     | |||
| 13
    
        Горогуля 13.11.15✎ 17:00 | 
        (6) это у басурман слеш, у православных палка. или палица     | |||
| 14
    
        HawkEye 13.11.15✎ 17:01 | 
        (0) так-то рекурсию никто не отменял..     | |||
| 15
    
        HawkEye 13.11.15✎ 17:02 | 
        +14 и если уж решил через ПолныйХХХ работать, то хотя бы через  ПолныйКОД и то при условии уникальности этого самого кода...     | |||
| 16
    
        VikingKosmo 13.11.15✎ 17:05 | 
        (9) тебе палки лень считать?     | |||
| 17
    
        Горогуля 13.11.15✎ 17:08 | 
        (16) до меня не доходит, зачем вообще нужен полный путь     | |||
| 18
    
        Горогуля 13.11.15✎ 17:08 | 
        (17) полное наименование     | |||
| 19
    
        VikingKosmo 13.11.15✎ 17:09 | 
        (17) ну что бы наименование с палками было же     | |||
| 20
    
        Горогуля 13.11.15✎ 17:10 | 
        (19) с ним же работать невозможно. только показать куда-нибудь     | |||
| 21
    
        VikingKosmo 13.11.15✎ 17:12 | 
        (20) а где ты видел, что бы я предлагал с ними работать?!     | |||
| 22
    
        VikingKosmo 13.11.15✎ 17:12 | 
        ну на крайнняк можно парсить получившееся и как то обрабатывать. Но то такэ...     | |||
| 23
    
        Горогуля 13.11.15✎ 17:21 | 
        (21) это вопли души ;)
 (22) строку с таким разделителем фиг отпарсишь | |||
| 24
    
        Mikeware 13.11.15✎ 19:28 | 
        ВерхнийРодитель=ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","С"+(Спр.Уровень()-1))," ",".Родитель")+")]"));
 ©РупорАбсурда | |||
| 25
    
        geniusbsd 13.11.15✎ 20:01 | 
        Сделал вот так 
 Поставщик =Запрос.Товар.ПолноеНаименование(); Поставщик =Лев(Поставщик,(Найти(Поставщик,"/")-1)); | |||
| 26
    
        Горогуля 14.11.15✎ 08:29 | 
        во. теперь переименуй группу в "чистящие/доставляющие вещества"     | |||
| 27
    
        Diman_Kr 14.11.15✎ 08:53 | 
        Процедура Сформировать()  
 Уровень=Товар.Уровень(); Родитель=Товар; Пока Уровень<>1 цикл Родитель=Родитель.Родитель; Уровень=Уровень-1; КонецЦикла; Сообщить(Родитель); КонецПроцедуры | |||
| 28
    
        HawkEye 14.11.15✎ 11:12 | 
        (27) так-то по человечески это вот так выглядит
 Функция лкмВернутьРодителя(вхЭлемент) рез = вхЭлемент.Родитель; Если ПустоеЗначение(рез) = 0 Тогда рез = лкмВернутьРодителя(рез); Иначе рез = вхЭлемент; КонецЕсли; возврат Рез; КонецФункции | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |