|
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 Тогда рез = лкмВернутьРодителя(рез); Иначе рез = вхЭлемент; КонецЕсли; возврат Рез; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |