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


Информационные технологии ::

Метки:

Спецы, подскажите, плиз...

Я
   T-800
08.01.04 - 21:26
Самописная конфа на торговой компоненте. Смотрите в чем проблема.

Есть несколько журналов документов: один общий (тип журнала - "Общий"), остальные - для каждого вида документов - "расходные", "приходные", "кассовые" и т.д. (тип журнала - "Обычный"). Ведется учет по нескольким фирмам в одной базе. Юзер просит, чтобы можно было отобрать в журнале документы только по одной фирме. Отбор работает только в журнале с типом "Общий", но в нем ведь все документы!

Как сделать, чтобы в журнале расходных накладных были видны ТОЛЬКО расходные накладные и ТОЛЬКО по одной фирме, которую выбирает юзер?

Помогите, а?
 
 
   GrayT
 
1 - 08.01.04 - 21:42
Увы, отбор работает только в Общем. Пиши свою обработку
   T-800
2 - 08.01.04 - 21:52
(1) Я понял, что отбор может быть только в общем. Понял, что нужно писать свою обработку. Но какую? Как в форме списка журнала документов можно скрыть определенные записи?
   345
3 - 08.01.04 - 21:53
Куча способов ... но при большом объеме БД будет тормозить ...
   T-800
4 - 08.01.04 - 22:02
(3) Давай, пусть тормозит, там больших объемов не намечается
   GrayT
 
4 - 08.01.04 - 22:02
Тормозить будет. Обработку? Не на форме списка журнала! А просто новую обработку. На форму бросаешь таблицу значений, а дальше полет фантазии :).
   GrayT
 
6 - 08.01.04 - 22:04
Кстати, на ИТС вроде была обработка - настраиваемый журнал документов
   T-800
7 - 08.01.04 - 22:18
(5) Не, это точно тормозить будет. Нужно что-нибудь поизящнее
(6) Точно, спасибо, что подсказал. Сейчас гляну на ИТС
   GrayT
 
8 - 08.01.04 - 22:20
Так там то-же самое - просто вместо ТЗ используется таблица в режиме для ввода данных (кажется)
   T-800
9 - 08.01.04 - 22:28
Посмотрел. Точно, таблица, но не в режиме ввода данных. Как вариант я это рассматривал, но все равно немного не то. Юзер больше привык к форме журнала, а тут - таблица. Макие новшества заказчики принимают с неохотой... Ладно, будем искать...
   WhiteCat
10 - 08.01.04 - 22:40
Тогда пробуй так. Для общего журнала (без него тебе не обойтись) нужна новая графа отбора текстового вида. В общие реквизиты документов добавляешь новый реквизит (тоже текстовый), в который при записи каждого документа помещаещь строку типа:

Вид()+";"+Фирма.Код

То есть, получаешь составной реквизит из вида документа и кода фирмы. Дальше, думаю, все понятно. Для отбора (в журнале) нужно формировать строку из вида документа и кода фирмы. Ессно, код фирмы не должен меняться. Если хочешь сделать так, чтобы юзер его не изменил, то привяжись ко внутреннему коду или добавь в справочник "Фирмы" новый реквизит, скрытый от пользователя, в который будет заноситься уникальное значение при создании нового элемента
 
  Рекламное место пустует
   GrayT
 
11 - 08.01.04 - 22:44
Красиво!
   T-800
12 - 08.01.04 - 22:53
Блин, точно
   WhiteCat
13 - 08.01.04 - 23:03
(11) Спасибо. А главное - не тормозит (во всяком случае, не так заметно)
   skunk
 
14 - 09.01.04 - 05:50
ню ню :(
   345
15 - 09.01.04 - 06:38
(10) некрасиво ... зачем символ ";" в строке отбора... Зайцам стоп сигналы не нужны ...

Второе - могут поменять код ... И вся графа отбора станет давать вранье ...

Третье - станет тормозить... т.к. графа отбора - это индекс, то строковый индекс достаточно большой длины ... даст недетские тормоза...

Задача в (0) имеет частное и БЫСТРОЕ по скорости решение - Графа отбора, по типизированному реквизиту Фирма из документа.... но содержит реквизит ФИРМА ТОЛЬКО из документа РасхНакл.... вот и все ...

Недостаток - ограниченное использование только для дока РасхНакл..

в (10) более общий случай... но реквизит для отбора формируется  на основе внутренних ИД ФИРМА и вида ДОКА - тогда юзер может менять все, что угодно ... и ничего не поплывет ....
   WhiteCat
16 - 09.01.04 - 10:46
(15) ";" действительно не нужен, я в своей конфе его и не ставил, а здесь привел, чтобы понятней было. Грамотный программер его уберет.
Насчет индекса большой длины. Необязательно в первой части (вид документа) ставить сам вид в виде строки. Я своим докам присвоил цифровые коды (например, РН - 11, ПКО - 12, Перемещение - 13 и т.д.), а фирм тоже обычно бывает меньше 10. Таким образом длина индекса не превышает 3-х или 4-х символов, а это не так уж много.
Код фирмы, ессно, использовать не надо, так как юзер может его поменять. У меня используется скрытый уникальный реквизит, ничего не плывет
   345
17 - 09.01.04 - 11:38
Некрасиво ... Все должно формироваться без участия человека ... А если фирму руками в справочник добавят ... а ты в отпуске ..

P.S. - вообще то есть уникальная неизменяемая штука, создаваемая 1 раз и навсегда - внутренний ID документа, элемента справочника и т.д.
   WhiteCat
18 - 09.01.04 - 21:54
(17) А там и так все без участия человека формируется. При создании новой фирмы автоматически генерится уникальное значение скрытого реквизита, так что это не зависит от того, в отпуске я или еще где. То, что описано в (10) и (16) уже реализовано и отлично работает, без багов и глюков
   WhiteCat
19 - 09.01.04 - 22:04
А насчет внутреннего ID (это предугадывая вопрос "зачем создавать второй уникальный реквизит, если один уже есть"), то этот самый ID намного длиннее, чем одно- или двухсимвольный уникальный код. Можно, конечно, ID укоротить. Я не стал делать этого в своей конфе, потому что первоначально выбрал вариант с доп. реквизитом, т.к. не было времени работать с ID. Потом переделывать ничего не стал, так как и без этого все нормально работает
   skunk
 
20 - 09.01.04 - 23:56
А если надо не двум а по трем, по четрырем и более. А если надо по трем но любой из трех не указывать.
Типа сделать отбор по виду дока фирме и контрагенту
А потом возможность иметь отбирать либо по одму, либо по двум либо трем сразу.

PS на хиппо и территори такого нет, можно не смотреть.
   345
21 - 10.01.04 - 08:28
Увы, работа с индексами в 1С отсутствует на этапе выполнения... А динамические отборы - ими практически нельзя управлять ....
   345
22 - 10.01.04 - 08:28
Сделать несложно, но это отчет и будет тормозить ...
   skunk
 
23 - 10.01.04 - 08:53
зit я не про отчет а про журнал документов. Наверное, тоже встречал что-подбное. Нашел в помойке на компашке, статейку "Концепция построения предварительных отборов – фильтров". Вкраце суть метода в правке файлика bkend.dll, правда там написано под скул и концепция. Реализация остается за читающим.
   andersen
 
24 - 10.01.04 - 10:09
Озодачен тем же. Пока обороты небольшие (типа начало года), но скоро та формочка с ТЗ будет жутко тормози...

(23)есть возможность статейку кинуть?
   skunk
 
25 - 10.01.04 - 10:15
без проблем. лови.
   andersen
 
26 - 10.01.04 - 10:50
Спасибо, может че и реализуем...
   WhiteCat
27 - 10.01.04 - 17:07
(20) Я про это решение по-моему на хиппо и прочитал примерно год назад, точно не помню. Если делать по трем, то такая схема однозначно не подойдет
   T-800
28 - 11.01.04 - 19:17
Все сделали как в (16). Код не превышает 3-х символов. На нашей базе (ведется с марта 2003 года, 2000 товаров) никаких торможений не заметно. Всем спасибо!
   345
29 - 11.01.04 - 19:26
Чтобы начало тормозить, надо иметь документооборот доков 200-400 в день ... Товаров - сколь угодно
   T-800
30 - 11.01.04 - 21:12
Тут такой документооборот в ближайшие пару лет не намечается
   Дмитрий
31 - 01.02.04 - 13:23
Кстати текстовый реквизит для графы отбора не более 10 символов длиной



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