|
v7: Побуквенный подбор из справочника | ☑ | ||
---|---|---|---|---|
0
jah1111
05.08.20
✎
13:44
|
Есть справочник Справочник.ТМЦ
В нем есть поле ввода ПолеПоиск Возможно ли реализовать чтоб при вводе каждой последуещей буквы в ПолеПоиск выполнялся поиск в справочнике и активизация строки? пока сделал так: Процедура ПоискПоБукв() ТабПоиск = СоздатьОбъект("Справочник.ТМЦ"); Поиск= ТабПоиск.НайтиПоНаименованию(ПолеПоиск,0,0); ТоварП = ТабПоиск.ТекущийЭлемент(); АктивизироватьОбъект(ТоварП); КонецПроцедуры //ПоискПоБукв() а как реализовать, так сказать, динамический поиск? (похож на штатный поиск в справочнике когда активирована строка справочника и вводишь имя элемента с клавиатуры). на вопросы "Зачем?" сразу отвечаю "Да, ТСД". "Нет, я не наркоман". :) |
|||
48
jah1111
22.09.20
✎
11:35
|
(47) Спр = СоздатьОбъект("Справочник.Товар");
Спр2 = СоздатьОбъект("Справочник.Товар"); ном=0; Спр.ВыбратьЭлементы(0); пока Спр.ПолучитьЭлемент()=1 цикл Если Спр2.НайтиПоНаименованию(Поле,0,0) = 1 Тогда ном=ном+1; ТоварП = Спр2.ТекущийЭлемент(); Если ТоварП.ЭтоГруппа() = 0 тогда ТабВиб.НоваяСтрока(ном); ТабВиб.УстановитьЗначение(ном,"Товар",ТоварП); конецесли; КонецЕсли; КонецЦикла; вроде все правильно, но не взлетает..... |
|||
49
trdm
22.09.20
✎
11:53
|
(46) Все там ищет.
Найти(<?>,) Find(<?>,) Синтаксис: Найти(<Строка1>,<Строка2>) Назначение: Возвращает позицию первого вхождения в строку поиска заданной подстроки. Параметры: <Строка1> - строка в которой ищем (место поиска); <Строка2> - строка которую ищем (шаблон поиска). Замечание: Если не находит - возвращает число 0. Первая позиция имеет индекс 1. |
|||
50
trdm
22.09.20
✎
11:54
|
НайтиПоНаименованию(<?>,,);
FindByDescr(<?>,,); Синтаксис: НайтиПоНаименованию(<Наименование>,<Режим>,<ФлагПоиска>) Назначение: Найти элемент справочника по наименованию. Возвращает: 1 - если действие выполнено; 0 - если действие не выполнено (элемент не найден). Параметры: <Наименование> - строка с наименованием искомого элемента справочника, <Режим> - необязательный параметр. Число: 1 - поиск внутри установленного подчинения (родителя); 0 - поиск во всем справочнике вне зависимости от родителя. Значение по умолчанию - 1. <ФлагПоиска> - необязательный параметр. Число: 1 - найти точное соответствие наименования; 0 - найти наименование по первым символам. Значение по умолчанию - 0. Замечание: Метод можно использовать только для объектов, созданных функцией СоздатьОбъект. |
|||
51
jah1111
22.09.20
✎
12:01
|
(50) я понял, взгляните пожалуйста (48)
почему не заполняет таблицу? |
|||
52
Ёпрст
22.09.20
✎
12:01
|
(48) выкинь из кода цикл и выбратьЭлементы к едрени фени, он там не нужен от слова совсем
|
|||
53
jah1111
22.09.20
✎
12:10
|
выкинул, совсем запутался.
как сделать что бы при вводе в "Поле" к примеру строки "ма" мне в ТЗ ТабВиб показало список всех элементов - не груп, наименование которых начинается с "ма"? |
|||
54
Ёпрст
22.09.20
✎
12:14
|
(52) запросом с descr like 'ма%'
|
|||
55
Mikeware
22.09.20
✎
12:18
|
(54) напомни, плз - фоксовый драйвер для работы с файловой базой обязательно ставить?
|
|||
56
alyuev
22.09.20
✎
12:22
|
(55) Если 1sqlite использовать, то не нужен.
|
|||
57
Ёпрст
22.09.20
✎
12:23
|
(55) ага
|
|||
58
Ёпрст
22.09.20
✎
12:23
|
можно 1sqlite, но он медленнее, на многих запросах
|
|||
59
Ёпрст
22.09.20
✎
12:23
|
хотя и удобнее, писать проще, есть поставщик данных для табличного поля, есть укладка ТЗ в фильтр и т.д..+CTE
|
|||
60
jah1111
22.09.20
✎
12:51
|
охренеть, я такое до смерти не сваяю
а без прямых запросов никак? |
|||
61
Ёпрст
22.09.20
✎
12:53
|
(60) Ну чорный запрос пиши, он тоже отработает, только ммееееедлннно.
Или НайтиПоНаименованию в ложном удалении (только можно обломаться, если форма справочника у кого-то открыта) |
|||
62
Ёпрст
22.09.20
✎
12:53
|
Ну или перебором и Найти
|
|||
63
Ёпрст
22.09.20
✎
12:53
|
еще медленнеее
|
|||
64
jah1111
22.09.20
✎
13:00
|
блин... я в ступоре. если не затруднит дайте пример на 1sqlite или на прямой запрос. я в этом вообще не петрю, но может разберусь
|
|||
65
trad
22.09.20
✎
13:05
|
Ёп опять жути навел! ))
|
|||
66
Mikeware
22.09.20
✎
13:11
|
(59) как его (1sqlite) в моксель закинуть? (как в том примере, что ты давал?)
|
|||
67
Ёпрст
22.09.20
✎
13:12
|
(64)
(65) :) |
|||
68
Ёпрст
22.09.20
✎
13:15
|
(66) эээ..было несколько решений по упаковке, и средствами самой 1с-ины и утилитами exe.. Вот какой именно, не помню, надо покопаться.
Помню тока, что Малаева(МалЯева?) изначальная упаковка не работала, если несколько упаковано в мокселе, пришлось другое решение вкорячивать |
|||
69
Mikeware
22.09.20
✎
13:20
|
(68) ну у тебя по одной длл на моксель
|
|||
70
trad
22.09.20
✎
13:24
|
(69) off
- Сколько длл на моксель? - Одна. - Какую засунем, Формекс или 1цпп? - Вам шашечки или ехать? |
|||
71
Ёпрст
22.09.20
✎
13:24
|
(69) да, но поделка Маляева не умела извлекать несколько..
вот это посмотри, не помню, надо в архивах поискать http://catalog.mista.ru/public/19857/ |
|||
72
Ёпрст
22.09.20
✎
13:25
|
И можно было в один моксель положить
|
|||
73
Ёпрст
22.09.20
✎
13:26
|
||||
74
Ёпрст
22.09.20
✎
13:29
|
Скорее всего, вот последнюю из (73) использовал.
|
|||
75
Mikeware
22.09.20
✎
13:35
|
(70) надо и спп, и формекс, и 1склайт.
Одна из бывших устроилась в какую-то контроку, в которой живут на файловых клюшках. взмолилась. Революцию я там устраивать не хочу, а помочь (совместив с разминкой мозгов) - почему бы и нет? |
|||
76
jah1111
22.09.20
✎
13:44
|
(67) Ёпрст, будь другом, обьясни синтаксис этой строчки
ТекстЗапроса = "select id [Номенклатура :Справочник.Номенклатура] from Справочник.Номенклатура where descr like 'ма%'"; что в квадратных скобках, что после фром (я так полагаю идентификатор справочника) ну и главное - вместо 'ма%' мне надо переменное Поле туда всунуть, как это по одинсикюэловски правильно сделеать? |
|||
77
Mikeware
22.09.20
✎
14:04
|
"select id [Номенклатура :Справочник.Номенклатура] from Справочник.Номенклатура where descr like 'ма%'";
Выбрать колонку "ид", назвать ее в выходном наборе "номеклатура" и типизировать как "справочник.номенклатура" из таблицы Справочник.Номенклатура где поле наименование подобно "ма%" Ну а правила "подобия" смотри в доке |
|||
78
jah1111
22.09.20
✎
14:31
|
Попытка
база = СоздатьОбъект("SQLiteBase"); Исключение ЗагрузитьВнешнююКомпоненту("1sqlite.dll"); база = СоздатьОбъект("SQLiteBase"); КонецПопытки; база.Открыть(":memory:"); запрос = база.НовыйЗапрос(); ТекстЗапроса = " |select id |[Товар :Справочник.Товар] |from |Справочник.Товар |where descr like 'ма%'"; ТабВиб = запрос.ВыполнитьЗапрос(ТекстЗапроса); ТабВиб.ВыбратьСтроку(); в итоге ошибка: ТабВиб = запрос.ВыполнитьЗапрос(ТекстЗапроса); {Обработка.Вибор.Форма.Модуль(42)}: no such table: Справочник.Товар НАЗВАНИЕ СПРАВОЧНИКА ПИШУ ПРАВИЛЬНО |
|||
79
Ёпрст
22.09.20
✎
14:35
|
(78)
|from |[Справочник.Товар] |
|||
80
jah1111
22.09.20
✎
15:22
|
спасибо, добрые люди
в итоге начало получаться. теперь надо научиться отсеивать группы. это как-то через is folder реализуется, да? |
|||
81
Ёпрст
22.09.20
✎
15:23
|
(80) да
|
|||
82
Ёпрст
22.09.20
✎
15:24
|
where isfolder = 0
|
|||
83
alyuev
22.09.20
✎
15:40
|
Не, так нужно:
"Where isfolder=2" см. здесь про значения isfolder и не только: https://script-coding.com/v77tables.html |
|||
84
alyuev
22.09.20
✎
15:41
|
А точнее здесь: https://script-coding.com/v77tables.html#2.3.
|
|||
85
jah1111
22.09.20
✎
16:11
|
(83) спасибо!!!!
помогите еще переменную "Поле" в запрос вставить, ну никак не допетраю и знак доллара ставлю и че только не делаю... |select id |[Товар :Справочник.Товари] |from |[Справочник.Товари] |where isfolder=2 and descr like '.$Поле%.'" Поле - текстовое поле в котором текст по которому ищут |
|||
86
alyuev
22.09.20
✎
16:21
|
Тю... Дык просто:
|where isfolder=2 and descr like '."+Поле+"%.'" |
|||
87
jah1111
22.09.20
✎
16:32
|
просто то прсто, а не летит никуда....
Процедура ПоискПоБукв() Попытка база = СоздатьОбъект("SQLiteBase"); Исключение ЗагрузитьВнешнююКомпоненту("1sqlite.dll"); база = СоздатьОбъект("SQLiteBase"); КонецПопытки; база.Открыть(":memory:"); запрос = база.НовыйЗапрос(); ТекстЗапроса = " |select id |[Товар :Справочник.Товар] |from |[Справочник.Товар] |where isfolder=2 and descr like '."+Поле+"%.'"; ТЗ = запрос.ВыполнитьЗапрос(ТекстЗапроса); ТабВиб.Загрузить(ТЗ); КонецПроцедуры //ПошукПоБукв() Я ЗАМАНАЛСО |
|||
88
Sserj
22.09.20
✎
16:36
|
(87) Ну как вариант: like '."+СокрЛП(Поле)+"%.'" ни или может быть: like '."+СокрП(Поле)+"%.'". Если в начале имени пробелы могут быть.
|
|||
89
Sserj
22.09.20
✎
16:36
|
+(88) У тебя же поле это строка большая и в в конец все что не написано забито пробелами.
|
|||
90
Ёпрст
22.09.20
✎
16:46
|
А точку то зачем перед поиском ?
|
|||
91
Ёпрст
22.09.20
✎
16:47
|
Да и Подставлять есть..
|
|||
92
alyuev
22.09.20
✎
17:00
|
Ну, да. С точками это я протупил... :
|where isfolder=2 and descr like '"+СокрЛП(Поле)+"%'" СокрЛП - только если нужно. |
|||
93
jah1111
22.09.20
✎
17:41
|
добавил фильтр по пометке на удаление ismark и опять ничего не ищет, хоспади какой же ад с этими запросами!
|select id |[Товар :Справочник.Товари] |from |[Справочник.Товари] |where |ismark=0 and |isfolder=2 |and descr like '"+СокрЛП(Поле)+"%'"; |
|||
94
Ёпрст
22.09.20
✎
17:42
|
*
|
|||
95
alyuev
22.09.20
✎
18:21
|
Да,
and IsMark<>'*' |
|||
96
trdm
22.09.20
✎
18:24
|
(93) > |[Товар :Справочник.Товари]
"Справочник.Товари" ????? |
|||
97
Djelf
22.09.20
✎
18:40
|
(96) Возможно потому что не Россия.
Вангую! Следующий вопрос будет такой: "почему sqlite не правильно работает с Украинским алфавитом". |
|||
98
jah1111
22.09.20
✎
21:38
|
(97) мимо.
следующий вопрос будет как делать запрос по остаткам товара, чтобы в ТабВиб отображалась колонка "остаток" с остатками по каждому найденому товару (94) (95) Ёпрст, alyuev - СПАСИБИЩЕ!!! Сегодня за 1 день я научился больше чем за все мои 2 месяца ковыряний в 1с 7.7 |
|||
99
Ёпрст
22.09.20
✎
21:51
|
(98)
|
|||
100
Djelf
23.09.20
✎
10:58
|
(99) Не очень хороший запрос для sqlite.
В sqlite, IN нужно использовать только если иначе никак уже не получается! Запрос в (99) будет прогонять условие в IN для каждой строки в Итоги.Товар Лучше либо использовать INNER JOIN (если нужны только товары на остатках)
Либо поменять местами таблицы, если нужны все Товари, а не только на остатках
|
|||
101
Ёпрст
23.09.20
✎
10:59
|
(100) та ну ? а ин разве не будет в иннер выражен ?
|
|||
102
Ёпрст
23.09.20
✎
11:02
|
+да..вот так еще заменить
//НачПериод = мд.ПолучитьНачПериода(НачДата)//начало периода НачПериод = мд.ПолучитьНачПериода(ТекущаяДата())//начало периода |
|||
103
Ёпрст
23.09.20
✎
11:02
|
это кусок с другого запроса был
|
|||
104
Djelf
23.09.20
✎
11:02
|
(101) Сам посмотри как IN работает: https://gyazo.com/f5c83f0eeee7204b42f72ccdc4fb0819
|
|||
105
Djelf
23.09.20
✎
11:03
|
+(104) А это с INNER JOIN https://gyazo.com/86432cb9a20428f44f862e03175c0341
|
|||
106
Ёпрст
23.09.20
✎
11:04
|
(104) мот только скульлайт так неоптимально ин использует ?
Лень профайлер открывать в скуле |
|||
107
Djelf
23.09.20
✎
11:09
|
(106) Я заметил что последние версии sqlite иногда разворачивают IN в соединение, но почему иногда разворачивает, а иногда нет мне не понятно.
В работе планировщика с IN, от версии к версии происходят очень странные изменения. Лучше его избегать, по мере возможности. |
|||
108
ДенисЧ
23.09.20
✎
11:10
|
(106) МССКЛ вроде как ИН в джойн нормально преобразовывает.
|
|||
109
Ёпрст
23.09.20
✎
11:17
|
(108) ага, вот и я про то.. странно, что в sqllite другое поведение.
Ну и ладно, снеговик на марше! |
|||
110
ДенисЧ
23.09.20
✎
11:19
|
(109) Может, от размера списка зависит?
|
|||
111
Djelf
23.09.20
✎
11:21
|
(109) Ничего странного, таблицы 1С "виртуальные", а у виртуальных таблиц статистики как таковой нет, только предполагаемый вес запроса к таблице и размер самой таблицы.
Планировщику сложно составить оптимальный план с такими скудными данными. |
|||
112
Ёпрст
23.09.20
✎
11:23
|
(111) ясно..после прочтения, сжечь :)
|
|||
113
Djelf
23.09.20
✎
11:48
|
(112) Что так сразу сжечь? Творчески с sqlite надо, творчески ;)
Вот например в запросе внутри IN есть ID, а мы его не используем и перебираем все Товари, пока что-то не нашлось. Преобразуем в коррелирующий подзапрос - становится значительно веселее и даже быстрее чем в варианте с INNER JOIN.
|
|||
114
Ёпрст
23.09.20
✎
12:02
|
(113) ЭЭЭХ..и почему пока коррелирующих подзапросов в селект листе в снеговике не завезли ?
|
|||
115
jah1111
23.09.20
✎
14:30
|
извините за тупость, а НачПериод чему равн у нас? откуда брать?
|
|||
116
Mikeware
23.09.20
✎
14:40
|
(115) Следующий от сегодня "Период Хранения Остатков"
|
|||
117
Ёпрст
23.09.20
✎
14:56
|
(115) см (102)
|
|||
118
jah1111
23.09.20
✎
15:31
|
(117) Ёпрст, выбрал Ваш методо но:
ТекстЗапроса = " | SELECT | Итоги.Товар [Товар :Справочник.Товари] | ,Итоги.Количество Останки | FROM | [РегистрИтоги.ОстаткиТовари] as Итоги | | WHERE | Итоги.period = :НачПериод | and Итоги.Товар in (select id from [Справочник.Товари] where descr like '"+СокрЛП(Поле)+"%'"; мд = СоздатьОбъект("MetaDataWork"); // НачПериод = мд.ПолучитьНачПериода(НачДата);//начало периода НачПериод = мд.ПолучитьНачПериода(ТекущаяДата()); Запрос.Подставлять("НачПериод",НачПериод); ТЗ = запрос.ВыполнитьЗапрос(ТекстЗапроса); ОШИБКА!!! Эти запросы это язык инопланетян! ТЗ = запрос.ВыполнитьЗапрос(ТекстЗапроса); {Обработка.Вибір.Форма.Модуль(82)}: near "'м%'": syntax error "м" - было введено в поле поиска ПОМОГИТЕ УЖЕ ДОБИТЬ ЭТОТ ЗАПРОС К ЕДРЕНИ_ФЕНИ |
|||
119
Ёпрст
23.09.20
✎
15:42
|
(118)
and Итоги.Товар in (select id from [Справочник.Товари] where descr like '"+СокрЛП(Поле)+"%'"); |
|||
120
Ёпрст
23.09.20
✎
15:42
|
точнее
and Итоги.Товар in (select id from [Справочник.Товари] where descr like '"+СокрЛП(Поле)+"%')"; |
|||
121
Ёпрст
23.09.20
✎
15:42
|
скобки , короче не хватало закрытой
|
|||
122
jah1111
23.09.20
✎
15:54
|
(121) спасибо уже разобрался, один хрен не работает, не находит таблицу
no such table: РегистрИтоги.ОстаткиТовари смотрю в моей конфе регистры - пусто. Ниодного регистра. Где это все?. Где искать итоги? |
|||
123
Ёпрст
23.09.20
✎
15:56
|
(122)
Видать, на 41 счете |
|||
124
jah1111
23.09.20
✎
16:00
|
у нас товары на складах 28.1 счет
я знаю что ужасно назойлив, но как обратится к счету в 1іqlite ? как это написать? я сделал вывод остатков обычным перебором строк, но скорость не впечатляет... хоть и база небольшая но притормаживания бывают. а запросом намного быстрее было бы |
|||
125
Ёпрст
23.09.20
✎
16:01
|
(124) не к счету, а к таблице итогов бух учета
|
|||
126
Ёпрст
23.09.20
✎
16:11
|
На вот, почитай на ночь, там в последних постах есть запрос на sqllite для получения сальдо
|
|||
127
Ёпрст
23.09.20
✎
16:11
|
||||
128
jah1111
23.09.20
✎
16:19
|
(127) лучше сразу пристрелите..... :)
|
|||
129
Ёпрст
23.09.20
✎
16:49
|
(128) там почти готовый код в пердпоследнем посте. Тебе только нужно всего лишь запрос к одной табличке + условие на дату и на счет, ну и сложить числовые поля и вывести нужное субконто и усё.
|
|||
130
Ёпрст
23.09.20
✎
16:49
|
дату берешь как начало текущего квартала и всё.
|
|||
131
jah1111
23.09.20
✎
17:43
|
База=СоздатьОбъект("SQLiteBase");
База.Открыть(":memory:"); Запрос=База.НовыйЗапрос(); Запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF"); Запрос.ВыполнитьЗапрос("create virtual table _1SBKTTL using dbeng(_1S.Bkttl)"); Запрос.ВыполнитьЗапрос("create virtual table _1SENTRY using dbeng(_1S.ENTRY)"); Запрос.Подставлять("Товари",Товар); Запрос.Подставлять("Счет",СчетПоКоду("28.1")); Запрос.Подставлять("ДатаОстатков",Формат(НачКвартала(Дата),"Д YYYYMMDD")); Запрос.Отладка(1); СтрСальдо = "CAST(Остатки.SD as NUMERIC(15,3))"; ТекстЗапроса="SELECT |"+СтрСальдо+" КоличествоОстаток |FROM _1SBKTTL AS Остатки |WHERE (Остатки.ACCID = :Счет) | AND (Остатки.DATE = :ДатаОстатков) | AND (Остатки.SC0 = :Товар) |"; ТЗ=Запрос.ВыполнитьЗапрос(ТекстЗапроса) Товар и Дата - глобальные переменные? Ошибки: SELECT CAST(Остатки.SD as NUMERIC(15,3)) КоличествоОстаток FROM _1SBKTTL AS Остатки WHERE (Остатки.ACCID = ' 2J ') AND (Остатки.DATE = ' ') AND (Остатки.SC0 = NULL) Подбор индекса для таблицы 1SBKTTL: Ограничения: ACCID=; DATE=; SC0=; В кэше не найдено Выбран индекс ACC1: DTOS(DATE)+SP11076+KIND+ACCID+SC0+SC1+SC2+CURRID Стоимость: 144 ЧТО ЗА ОГРАНИЧЕНИЯ? китайская грамота в окне сообщений |
|||
132
Djelf
23.09.20
✎
17:51
|
(131) Убери Запрос.Отладка(1); и никакой такой, непонятной тебе, грамоты, насчет побора индексов, не будет.
Раз не знаешь что это и зачем, тебе это и не надо. |
|||
133
jah1111
23.09.20
✎
18:05
|
убрал. И теперь понял зачем это.
не ищет нихрена, офрмирует пустую тз с одной колонкой КоличествоОстаток |
|||
134
Ёпрст
23.09.20
✎
18:31
|
(131)
Запрос.Подставлять("ДатаОстатков",НачКвартала(ТекущаяДата())); + на твоём 28.1 какие субконто и в каком порядке ? |
|||
135
Djelf
23.09.20
✎
18:37
|
(133) Не ищет нихрена не из-за этого. Что-то не так у тебя с условиями.
Эта штука нужна когда у тебя начинает тупить запрос, либо ты хочешь из него выжать лишние пару микросекунд. Но нужно смотреть какие индексы есть в 1Cv7.DD, понимать как работают индексы, и т.д. и т.п. |
|||
136
Djelf
23.09.20
✎
18:44
|
+(135) Возможно класс ПрямойЗапрос https://www.1cpp.ru/forum/YaBB.pl?num=1273512019 будет проще.
Синтаксис приближен к 8ке, не сильно переучиваться надо будет, и работает и с mssql и с sqlite. И документация замечательная! |
|||
137
Ёпрст
23.09.20
✎
19:00
|
(136) хочешь его добить ? ;)
На вот, развлекайся
|
|||
138
Ёпрст
23.09.20
✎
19:00
|
Это при условии, что на 28.1 первым субконто твои Твари
|
|||
139
Ёпрст
23.09.20
✎
19:00
|
Товари, т.е
|
|||
140
jah1111
23.09.20
✎
19:07
|
как на зло на втором
|
|||
141
jah1111
23.09.20
✎
19:18
|
(138)
SCx Значение субконто X+1 (x - от 0 до МаксСубконто-1). Если по счету не предусмотрено проставление субконто X - заполняется пустой строкой ' ' .Тип - Строка (9-20). Char(9-20). Правильно копаю? |
|||
142
Ёпрст
23.09.20
✎
19:19
|
(140) тогда так:
ТекстЗапроса="SELECT |Остатки.SD КоличествоОстаток |,Остатки.SC1 [Товари:Справочник.Товари] |FROM [_1S.BKTTL] Остатки |Inner join [Справочник.Товари] Спр on спр.id = Остатки.SC1 and спр.descr like '%"+ПолеПоиска+"%' |WHERE (Остатки.ACCID = :Счет) | AND (Остатки.DATE = :ДатаОстатков) |"; ТЗ=Запрос.ВыполнитьЗапрос(ТекстЗапроса); ТЗ.ВыбратьСтроку(); |
|||
143
Ёпрст
23.09.20
✎
19:20
|
и вот тут еще пробел воткни:
|,Остатки.SC1 [Товари :Справочник.Товари] |
|||
144
jah1111
23.09.20
✎
20:06
|
(140) а писать надо не просто SD а както пометить что это количество
KIND Тип итогов. 9 - 1001 - К-во все, еду крышей, это же надо субконто1 тоже учитывать если субконто1 - это подразделение(склад) Запрос.Подставлять("Склад",Склад); вроде более-менее понимаю а написать не могу...... куда это Kind втыкать? хочу чтобы колонка 1 - товар, колонка2 - остатки количественные товара... да еще и по определенному складу |
|||
145
Ёпрст
23.09.20
✎
20:10
|
(144) а у тя там помимо количественного, еще и суммовой ?
|
|||
146
Ёпрст
23.09.20
✎
20:17
|
Ну добавь там
Запрос.Подставлять("ВыбСклад",ТвойСклад); ..... |AND Остатки.KIND = '3' and SC0 = :ВыбСклад |
|||
147
Ёпрст
23.09.20
✎
20:18
|
И еще так, чтоб нулевые итоги выкинуть
|And Остатки.SD<>0 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |