Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Как сделать отбор в справочнике по остатку не равному 0 ? (http://forums.kuban.ru/f1040/kak_sdelat-_otbor_v_spravochnike_po_ostatku_ne_ravnomu_0_a-2331795.html)

Opener 13.03.2012 13:17

Как сделать отбор в справочнике по остатку не равному 0 ?
 
7.7 Оперативный учет, релиз 27
Проблема: есть большой справочник Товары. При подборе товара в документе, в форме списка товаров видны все элементы.
Как сделать, чтобы в форму списка отбирались товары с остатком>0 ?
Остатки вычисляются по регистру ОстатокТовара.

bma1 13.03.2012 13:21

Сформировать список значений и отбор по нему.

Opener 13.03.2012 13:35

Да, со списком должно получиться.
Других, штатных вариантов нет?

Lexusss 13.03.2012 13:43

Тормозить будет так, что лучше забыть.

Opener 13.03.2012 13:49

Блин, оно и так тут все не быстрое...и справочник огромный и регистр.

bma1 13.03.2012 13:56

способ для извращенцев. завести в справочнике реквизит - остаток, его заполнять через прямое обращение к базе данных быстрыми запросами и по нему отбирать.
либо прямые запросы + ТЗ.

Helen 1986 13.03.2012 14:16

(6) и нафиг при прямых запросах делать реквизит?

Opener 13.03.2012 14:21

Попробую создать список запросом, потом применить метод:
[b]ИспользоватьСписокЭлементов(СписокТов);[/b]
Посмотрю, как сильно будет тормозить.

Sadovnikov 13.03.2012 14:30

База скулевая или dbf?

bma1 13.03.2012 14:31

2(7) я же русским по белому написал - "для извращений".
P.S. анекдот вспомнился...
Купец уезжает за моря и спрашивает дочек, мол чего вам привезти в подарок.
Старшая: мне диадему брульянтовую.
Средняя: мне зеркальце хрустальное.
Младшая: а мне чудище мохнатое для сексуальных утех и извращений...
Купец: доча, ты чё!?
Младшая: ладно, пойдем иным путем... привези мне цветочек аленький...

Sadovnikov 13.03.2012 14:39

Приезжает мужик домой из командировки, а у него винда переставлена...

Opener 13.03.2012 14:47

База ДБФ... :)

Lexusss 13.03.2012 14:49

(8) Не делай так, козленочком станешь. В смысле, козлом отпущения.
Прямые запросы, конечно +1, учитывая пожелания автора про "штатные методы" - верится в это с трудом.

Buzz 13.03.2012 14:55

Как вариант.
По кнопке подбор открывать обработку с уже заполненными номенклатурами с остатком и из нее колбасить в ТЧ (одно лишнее движение убирается ИспользоватьСписокЭлементов(СписокТов);
).

Opener 13.03.2012 15:08

Спасибо! :)
Понятно стало, что хорошего решения нет. Тем более "штатного". Как говорят бортстрелки в "Ил-2" :
"Ооо! Нет! Опять колбасить!!!!" ..ну или как-то так...

Opener 13.03.2012 15:16

13-Lexusss >Перекинуть базу из ДБФ в СКЛ дело не хитрое...

Helen 1986 13.03.2012 15:35

существует масса способов ускорить открытие подбора с остатком
но это не для афтара - ему нада здесь сразу и готовое
у нас и дбф и скуль работают [b]быстро[/b] (хотя сверзвуковой скорости нет)

Opener 14.03.2012 13:04

17-Helen 1986 > Да, ладно...готового не нужно, достаточно хорошей идеи. Типа, "а у нас все хорошо работает..." Остальное я сам сделаю :Р

qweqwe123123 14.03.2012 23:39

это чож за документы? в заявку покупателя часто надо подбирать товары, которых нет сейчас, но будут скоро.

qweqwe123123 14.03.2012 23:40

а больше вроде никуда и не надо подбирать товар...

VZ 15.03.2012 00:34

Есть одна идея... Но она основана не на отборе "по ненулевым остаткам" (отбор по реквизитам доступен), а повышению комфорта юзера: убирается тягучее и раздражающее заполнение списка. Давненько эта тема была, не знаю, найду ли реализацию, но принцип механизма помню.

Sadovnikov 15.03.2012 08:00

18-Opener > Ну у нас все хорошо работает. Дальше справишься? :)

Helen 1986 15.03.2012 08:39

(21) один из вариантов - по группам

Opener 15.03.2012 11:42

22-Sadovnikov >Да, справлюсь. Попробовал самый простой вариант - список по запросу, потом
ИспользоватьСписокЭлементов(СписокТов);
Приемлемо работает....не летает, но и не тормозит.

Opener 15.03.2012 11:44

19-Зелёный тролль > Документ Реализация - продажа препаратов в аптеках. 2/3 справочника в остатке 0.

Opener 15.03.2012 11:50

21-VZ > Расскажи, плиз, подробнее я лет 8 на форуме не был... пропустил, видимо...

VZ 15.03.2012 13:26

26-Opener > Суть самой медоды в следующем: обычно формула, определяющая количественные характеристики, срабатывает при формировании строки списка. Пока не выполнится - вывод следующей строки задерживается. Вот и оно - тягучий вывод списка, именуемый "тормозами". Вот тут делается фокус: заполнение количественными характеристиками делается не формулой (функцией) в столбце, а [u]функцией в модуле[/u], заполняющей количественные характеристики для [b]видимых[/b] строк списка. Но не сразу: функция в строке задает старт "функции модуля" с задержкой исполнения. Следующая выводимая строка подтверждает эту задержку и т.д. Таким образом, "функция в модуле" начнет свою работу через N-е время после того, как вывод списка закончится/приостановится (заполнится все окно вывода). И тут заполнение количественного столбца идет при остановившемся выводе - быстрее и фактически (немного), и психологически (много).
Примерно так.
Но проще традиционное: количество и прочее выводится в строке комментария под окном списка. Для актуальной строки.

Чучундер 15.03.2012 13:42

(26) описанное в (27) - тот де принцип - подробно расписан на Исе, см. у O-Planet

Sadovnikov 15.03.2012 13:43

Мазохисты... Имея скуль - так извращаться...
24-Opener > Держи, разбирайся:
[url]http://www.rikcenter.ru/downloads.php?file=6[/url]

Opener 15.03.2012 13:58

Ок, спасибо. Интересная идея. Хотя у меня задача немного другая - не показывать некоторые строки ваааще, но нужно посмотреть.

Sadovnikov 15.03.2012 14:00

30-Opener> Это ты кого именно оспасибил? :)

Opener 15.03.2012 14:06

29-Sadovnikov > Спасибо! У меня не все базы скл-ные...в аптеках в основном дбф-ные.

Opener 15.03.2012 14:08

Это я скачивал Demo_RiK и замешкался немного :)

Sadovnikov 15.03.2012 14:12

32-Opener > "в аптеках в основном дбф-ные. " - классы из демки и запросы, заточенные под лайтSQL.

Opener 15.03.2012 14:24

Ок. сенкс! Дома буду разбираться... уже загрузили до конца дня.

qweqwe123123 16.03.2012 00:40

35-Opener > о! мне тут тоже небольшая аптечная сеть свалилась, они с НГ на БП 8ку перешли. Лупят типовыми операциями практически всё, заставили настроить им эти операции.
Учёт товара по стоимости продажи с применением 42 счета. Мало того, это НТТ (неавтоматизирорванные торговые точки, то есть кассы вообще не обмениваются с базой 1С, ни в он-лайне, ни в офф-лайне).

Как бы их на путь истинный наставить? То есть - [b]какой он, истинный путь аптекаря?[/b]

qweqwe123123 16.03.2012 00:42

они на ЕНВД, юр лицо одно, но с несколькими торговыми точками (собственно, аптеками) - щкоторые заведены как подразделения, и под каждую свой склад. БП типовые базовые везде.

Чучундер 16.03.2012 01:56

вроде как есть 1С-Розница-Аптека.

Opener 10.05.2012 10:56

Зеленый тролль. Мне досталась готовая самописная и самобытная конфигурация (с нуля написана). Парень, который ее настрогал - вполне квалифицированный программер. Только его под зад все время толкали (уже ощущаю на себе). Тем не менее все работает. Осталось чуть-чуть подпилить/подстрогать, шкуркой зачистить и рукавом отполировать. Чем и занимаюсь. Если что нужно по организации процесса - спрашивай.

Opener 10.05.2012 11:06

Проблему я решил просто. Лучше всего работает "способ для извращенцев".
bml 5 - я добавил в справочник не реквизит Остаток, а признак (0 - нет остатка, 1-есть). Утром аптекарь запускает 1С и он обновляется. А днем по нему отбор выполняется. Приход товара устанавливает признак в 1.
По времени, если не считать 50-секундной обработки утром, для аптекаря ничего не изменилось.


Текущее время: 05:16. Часовой пояс GMT +3.