Имя: Пароль:
1C
 
Организация хранения множества статусов документа
0 IamAlexy
 
26.10.14
09:03
Теоретический вопрос:

есть некий документ, у которого есть 10 статусов.
эти статусы зависят от других документов системы и меняются именно этими другими документами..
например  - оплачен/неоплачен, доставлен/недоставлен, отгружен/неотгружен и тд..

всего порядка десятка статусов.

Сейчас журнал документов (ибо динамический список) все эти статусы считает на лету диким запросом.. но этот запрос не просто дик но и тормознут.

Вопрос: какова будет оптимальная схема хранения множества статусов в готовом виде для облегчения работы журнала документов?


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

есть идеи?
1 Лодырь
 
26.10.14
09:13
(0) Под "полностью пересчитывается каждым документом который влияет хотя бы на один статус" ты имеешь в виду подписку на событие, которая обсчитает статус вовлеченных документов?
2 Strogg
 
26.10.14
09:14
на ум тока периодический рс приходит.
3 Looser-1c
 
26.10.14
09:14
для облегчения журнала - реквизиты в документ.
4 Лодырь
 
26.10.14
09:15
(3) Плохой вариант.
5 GANR
 
26.10.14
09:16
(0) Все обычно делают эти статусы через РС.
6 hhhh
 
26.10.14
09:20
(3) каждый раз документ перезаписывать? А в нем может куча табличных частей.
7 IamAlexy
 
26.10.14
09:21
(1) да
причем полностью ВСЕ статусы.. и в периодический регистр датой вовлеченного документа..
8 IamAlexy
 
26.10.14
09:21
(3) неее.. что то на уровне подкорки мне подсказывает что писать в документ эти статусы не очень хорошо..
9 IamAlexy
 
26.10.14
09:22
(5) вопрос в том что статусов 10 :)
разных
разными событиями ИБ статусы меняются..
10 Looser-1c
 
26.10.14
09:22
(8) зато журнал будет быстро работать ))
11 IamAlexy
 
26.10.14
09:23
(10) ну фиг знает..

хотя вот смотрю шедевры типовых -  корячат статусы прямо в документы..

правда например в БП3 при попытке разнести оплату при открытом счете вываливается ошибка блокировки...
12 Мимохожий Однако
 
26.10.14
09:27
Статус в документе имеет смысл только при влиянии на проведении. Если статус зависит от других объектов и не должен вызывать проведение документа, то есть регистр сведений, который можно сделать периодическим и с измерением объекта для изменения статуса.
13 Reaper_1c
 
26.10.14
09:40
(11) Так там статусы меняются только пользователями вручную - вот и корячат. А если твои статусы будет менять сама система - регистр сведений. Главное в запросах дин. списков правильно расставить конструкции компоновки, чтобы "шибко вумный" пользователь не смог поставить систему раком.
14 shuhard_серый
 
26.10.14
09:55
(11) ты же при смене статуса документ не перепроводишь, только записываешь и поэтому проще всего хранить статус в самом документе
15 Федор15
 
26.10.14
10:03
(4) А чем плох вариант хранить статус непосредственно в документе?

Например состояния документа "Проведен" или "Помечен на удаление" фактически тоже являются статусами, но они же не выведены в отдельную таблицу.
16 supremum
 
26.10.14
10:11
(15) Дублированием.
17 IamAlexy
 
26.10.14
10:11
(15) проведен и помечен на удаление как правило все же меняются непосредственно в документе.. по этому  и нет их смысла хранить отдельно..

а например статус "готовая продукция передана на склад" меняесят контролером ОТК после проведения двух других документов и причем у сотрудника контролера ОТК не прав лазить в заказ..
18 Dmitry1c
 
26.10.14
10:11
(0) чем плох регистр сведений?
19 IamAlexy
 
26.10.14
10:14
(18) не плох.. просто хотелось узнать кто как решает подобные задачи.. может есть общепризнанная методика про которую я не в курсе
20 supremum
 
26.10.14
10:15
(17) У документа может быть одновременно несколько статусов или только один на текущий момент?
21 supremum
 
26.10.14
10:16
(19) Одновременно регистр сведений для истории изменений и в самом документе.
22 IamAlexy
 
26.10.14
10:16
(20)  у документа 10 разных статусов одновременно.. и со временем некоторые из этих статусов меняются из других документов другими пользователями
23 Dmitry1c
 
26.10.14
10:16
(21) мсье знает толк.

В сам документ можно подцеплять актуальный статус из регистра, зачем двоить информацию?
24 Dmitry1c
 
26.10.14
10:17
(22) регистр с 10 ресурсами
25 supremum
 
26.10.14
10:18
(23) Чтобы не заморачиваться запросами по статусу документа.
26 Мебиус
 
26.10.14
10:20
(0)
Регистр со статусами не айс с точки зрения блокировок
не зря в типовых статусы в самих документах
27 IamAlexy
 
26.10.14
10:21
(26) а чем блокировка документа лучше чем блокировка регистра ?
28 Мебиус
 
26.10.14
10:24
(27)
тем что о них нужно будет задуматься в случае РС
29 IamAlexy
 
26.10.14
10:28
(28) а о блокировке документа думать не надо ?

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

не ?
30 Ник второй
 
26.10.14
10:29
(23) Чем плохо двоить информацию?
31 Ник второй
 
26.10.14
10:30
(26) В типовых и так и этак, типовые разные.
32 marvak
 
26.10.14
10:35
(0)
Может в доп. свойствах или доп. реквизитах?
33 supremum
 
26.10.14
10:36
Вообще у меня статус устанавливается документом, но это не статус документа, а статус процесса и во всех отчетах статус береться по регистру состояний. Имерения регистра - это аналитические разрезы процессов.
34 supremum
 
26.10.14
10:38
(33) Сорри за очепятки.
35 supremum
 
26.10.14
10:40
+(33) собственно интересует в какой стадии в каком количестве что находится.
36 IamAlexy
 
26.10.14
10:41
(33) периодический регистр сведений ?

вопрос:

есть измерение: заказ
есть реквизиты:

"статус1"
"статус2"
"статус3"

у тебя документ от 01.01 меняет статус1
затем через месяц другой документ меняет статус2
еще через месяц третий документ меняетт статус1
и тд..

то есть статусы меняются в разное время разными документами.


перезаписываешь все статусы ?
берешь срез последних на момент изменения статуса, затем нужный статус обновляешь и обратно записываешь все статусы датой документа изменения ?
37 Aleksey
 
26.10.14
10:42
(36) Добавь в измерение НомерСтатуса и не надо переписывать
38 Aleksey
 
26.10.14
10:43
(32)
Доп.свойства - это РС
Доп.Реквизит - это ТЧ документа
Так что это как раз и обсуждаем где хранить в РС или в документе
39 IamAlexy
 
26.10.14
10:44
(37) а что это даст ?
статусы  - независимы по смыслу..

то есть сначала поменялся статус1
а в другом заказе статус1 поменяется последним..
40 Гёдза
 
26.10.14
10:46
(36) Храни независимые статусы в разных регистрах: Оплачен, отгружен - независымые статусы
41 Aleksey
 
26.10.14
10:47
(39) Ты можешь менять статусы независимо и паралельно
42 supremum
 
26.10.14
10:47
(36) Может сделать как в раузе учет затрат? Вынести комбинацию состояний в отдельный справочник... Это так, что в голову пришло.
43 IamAlexy
 
26.10.14
10:48
(40) чем это принципиально будет отличаться от того что сейчас - журнал собирает статусы "на лету" -то есть.. есть остаток по регистру накопления - неоплачен, нет остатка - оплачен.. и тд..
44 roman52
 
26.10.14
10:51
а документ может находиться одновременно в нескольких статусах?
45 marvak
 
26.10.14
10:51
(38)
Я в смысле, чтобы не создавать новые объекты в базе, можно использовать доп. свойства, а так думаю РС будет лучше, потому что не придется перезаписывать/перепроводить документ целиком при изменении только его статуса, но тут конечно только если статус не влияет на поведение самого проведения документа.
А вообще немного не понял, Статусы это один параметр документа с 10 возможными вариантами или 10 разных параметров документа с разным кол-вом вариантов в каждом?
46 braynt
 
26.10.14
10:54
мне кажется (37) самый оптимальный. периодический регистр сведений. измерения: заказ, статус. ресурс - значение статуса.. и срезом последних на дату по измерению заказ, получите последнии значения всех статусов заказов
47 МихаилМ
 
26.10.14
10:55
опишите критерии оптимальности.
48 supremum
 
26.10.14
10:55
(44) может, см (22)
49 IamAlexy
 
26.10.14
10:59
(45) десять разных параметров. у каждого свой набор состояний..

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

менеджер же в журнале видит все статусы сразу..

сейчас - журнал считает все статусы на лету,но это весьма накладно с точки зрения ресурсоемкости..
особенно когда манагеры любят ставить период журнала  - без ограничения периода..
50 supremum
 
26.10.14
11:05
(49) Когда была такая задача я к (42) склонялся. Ресурс - элемент справочника со всеми десятью статусами в полях.
51 IamAlexy
 
26.10.14
11:06
(50) а почему не 10 ресурсов?
в чем выигрыш
52 marvak
 
26.10.14
11:07
Ну напрашивается периодический РС с измерением Заказ, ресурсами - все 10 статусов, и регистратором - документом, который меняет статус. Можно менять и вручную, если в конфе есть документ наподобие Корректировки регистров.
А возможно получится использовать доп. свойства документа, если они поддерживают периодичность.
53 marvak
 
26.10.14
11:10
(51)
Размер базы будет меньше видимо.
54 marvak
 
26.10.14
11:12
(53)+
И при добавлении нового статуса структуру РС не придется менять, только справочника, правда заполнять тот справочник будет муторно.
55 supremum
 
26.10.14
11:15
Говорят в 8.3 срез последних в отдельной таблице хранится? Так ли это?

Но тут есть еще такой момент: мы должны видеть историю изменения каждого статуса в отдельности, а не просто текущее состояние по статусам.
56 Smallrat
 
26.10.14
11:25
(0) выпендрюсь ) - РегистрНакопления ))
с 10 ресурсами - каждый  док двигает свой ресурс. Соответственно остатотпо ресурсу не будет зависеть от проведения/распроведения других докумнтов, которые к соответствующему статусу не имеют отношения.
57 Smallrat
 
26.10.14
11:25
*остатотпо > остаток по
58 Smallrat
 
26.10.14
11:29
Там еще надо ограничить рапроведение документов, после которых есть документы, устанавливающие следущий статус такого-же типа.
59 supremum
 
26.10.14
11:32
Все же статус в измерение, сотояние в ресурс. Разные статусы - разные процессы и они должны отслеживаться независимо друг от друга.
60 Vovan1975
 
26.10.14
11:45
а почему не сделать регистр с измерениями "документ" и "вид статуса" и с ресурсом "Значение статуса"?
61 IamAlexy
 
26.10.14
11:47
(60) в журнале нужно в одну строку вывести 10 статусов.

10 левых соединений делать ?
62 braynt
 
26.10.14
11:53
(61) почему. Один запрос - срез последних по измерению "Документ". ты получишь таблицу значений: вид статуса - значение статуса
63 Aleksey
 
26.10.14
11:58
(58) Все статусы булевы. Он или есть (оплачен), или нет (не отгружен)
64 supremum
 
26.10.14
12:00
(63) Совсем не обязательно. Партия зарезервирована, отгружена, доставлена.
65 supremum
 
26.10.14
12:01
+(64) Документы на оформлении, отправлены, подписаны.
66 opty
 
26.10.14
12:02
По производительности - статусы в документе в реквизитах - самое быстрое решение . Совсем не обязательно перепроводить . А запись даже тяжелого документа штука достаточно быстрая .

Но такая система не гибкая
67 Aleksey
 
26.10.14
12:04
(65) А не факт что это один статус, а не 3 разных
68 Vovan1975
 
26.10.14
12:05
(66) зато надо получать объект. А объект может быть мама не горюй каких размеров
69 aspirator23
 
26.10.14
12:06
Регистр только не сведений а расчетов. Он позволяет использовать вытеснения и обработ
ать зависимые статусы
70 supremum
 
26.10.14
12:07
(67) СМК в помощь.
71 Aleksey
 
26.10.14
12:07
(66) А если хранить в ТЧ документа (аля Дополнительные реквизиты), тогда и объект получать не надо
72 Aleksey
 
26.10.14
12:09
(67) СМК это что?
73 supremum
 
26.10.14
12:21
(72) Управление качеством. Состовляющая ее описание и стандартизация процессов на предприятии.
74 NS
 
26.10.14
12:29
конечно-же (59) и (60)
75 Шурик71
 
26.10.14
12:30
(61) а что мешает?

ИМХО, есть только 3 различных корректных подхода:

1) РС документ/вид_статуса/значение_статуса либо 10 разных РС (что с т.з. блокировок проще)

2) вариант с РН, причем РН остатков так или иначе будет разбухать, а для оборотного - придется делать запрос за большой период времени

3) полу-оффлайновая непериодическая комбинация: РС с комбинарованным состоянием из справочника, где _каждый_ документ, который может повлиять на состояние переводит в состояние "изменен/нерассчитан", а регл. задание меняет состояние таких документов в верное.

Все остальные варианты приводят или к потенциальным конфликтам блокировок, или к некорректной картине при изменении задним числом.
76 opty
 
26.10.14
12:34
(68) Почти всегда выборка статусов делается за ограниченный период , так что особо не страшно
77 NS
 
26.10.14
12:36
о каких блокировках речь? десять записей в регистр в момент проведения - это блокировки?
78 Smallrat
 
26.10.14
12:48
Кстати я вспомнил похожу задачу: карта номерного фонда - количество статусов это количество номеров, каждый номер минимум три значения. Мы как-то обсуждали возможную реализацию - решили что РегистрНакопления подойдет, до реализации, к сожалению, не дошло.
79 NS
 
26.10.14
12:51
(78) А чем регистр накопления с пустым ресурсом отличается от регистра сведений?
80 Шурик71
 
26.10.14
12:59
(77) судя по количеству статусов - количество видов и экземпляров документов, которые могут изменить какой-либо статус текущего документа велико. И если с разными регистрами сведений скорее всего прокатило бы и на автоматических блокировках, то с разделением по измерению одного РС в которые будут писать все документы - надо использовать везде управляемые.

Хотя, конечно, вариант  периодического РС со структурой документ/вид_статуса/значение_статуса самый напрашивающийся - а значит, скорее всего и самый   подходящий.

Но я бы все же подумал о варианте без периодики с регл. заданием - потому, что наверняка вся масса "старых" сведений по документу нафиг никому не нужна и будет валяться в базе мертвым грузом.
81 Dmitry1c
 
26.10.14
13:02
(30) да. А еще круче - троить. Попробуй.
82 Hans
 
26.10.14
13:03
Имхо тема интересная. Сделайте голосовалку. Сам всегда делал через реквизит многим клиентам. Плюсы - не надо переписывать множество отчетов, можно быстро делать отборы с списках документов, в динамических списках, быстро получить текущий статус для всяких проверок. Минус - это блокировки. Но при нормальном построении запросов, индексации измерений регистров блокировки либо пропадают совсем, либо возникают очень редко. Но и железо в этом случае должно быть норм. базы в которых работает через реквизит 15-50 человек одновременно +  в некоторых базах активные обмены РИБ.
83 Hans
 
26.10.14
13:10
+(82) еще минус в этом подходе что статус может сменится когда открыт непосредственно сам документ со статусом, тогда косяк при записи возникает. В итоге взвесив все плюсы и минусы я прихожу к выводу что пока у меня реквизит это более плюсово чем РС.
84 Hans
 
26.10.14
13:13
+ (82) я в принципе даже не знаю были бы эти блокировки когда организовано через РС, не разпирался, просто оптимизировал расччеты статусов, помоему было бы тоже самое и с РС. тогда остается проблема только с (83) -  смена статуса когда док кем то открыт.
85 IamAlexy
 
26.10.14
13:16
(74) чем комбинация  "заказ/вид статуса/значение статуса" будет луче чем "заказ/статус1/статус2/статус3/статус4/..../статус10" ?

ведь для построения журнала с текущими статусами (это по сути единственное ради чего вся эта возня) у меня при 10 ресурсах будет 1 левое соединение, а при комбинации "заказ/вид статуса/значние статуса"  будет 10 левых соединений..
86 Aleksey
 
26.10.14
13:20
(85) Ты же сам сказал, что обновлять эту портянку будет сложнее
87 Aleksey
 
26.10.14
13:23
Допустим ты задним числом изменил статус оплачено (выяснилось что не на того контрагента повесили оплату). В этом случае тебе нужно будет перепровести документа по отгрузки, по доставки ... вообщем всю цепочку документов которые сформированы после твоего документа, так как в них сидит твой кривой статус и срез последних будет давать неправильную информацию
88 Drac0
 
26.10.14
13:40
(85) могу предложить изврат. Добавь системный справочник. Реквизиты - все твои статусы. Элементы - все возможные варианты статусов. В регистре будет измерение док, а ресурс - ссылка на этот справочник. Обновление будет хитрым, но не ресурсоемким, а вывол в ДС двумя няшными левыми соединениеями. Или даже внутренними :-)
89 NS
 
26.10.14
13:59
(85) Потому что тебе придется поддерживать актуальность данных, и при каждом проведении документа смотреть значения неизменившихся ресурсов, чтоб записать их в регистр.
А в случае если показатель в измерении - тебе не надо восстанавливать последовательность, у тебя всегда на любой момент времени будут правильные значения, даже если ты будешь менять документы задним числом, и не надо смотреть текущий статус не изменяющихся признаков при проведении документа.
90 NS
 
26.10.14
14:00
(88) Зачем нужен изврат, если всё делается четко и правильно, и средств в языке для этого достаточно?
91 roman52
 
26.10.14
14:42
(80) без периодики нельзя будет ответить на вопросы "кто/когда/почему", а они обязательно возникнут )))

имхо, РС + регл.задание тут лучший вариант
92 bolder
 
26.10.14
15:31
(54) ага.Такой справочник на сочетание 10 признаков под 30 млн элементов легко потянет)).
93 Drac0
 
26.10.14
15:37
(90) Задача-таки не в том, как правильно организовать хранение статусов, а как организовать быстрый вывод их в ДС.
94 Drac0
 
26.10.14
15:39
(92) если состояния бинарные, то 1024. А если есть определенные условия (не может быть отгружен неоплаченный товар, к примеру), то пару сотен :-)
95 Drac0
 
26.10.14
15:40
(0) а вообще, внедри бизнес-процесс.
96 IamAlexy
 
26.10.14
16:16
(86) ну почему сложнее?
сейчас я пихнул  в общий модуль процедуру которая рассчитывает  все статусы одним запросом (то что раньше журнал делал) и результаты кладет в регистр.

то есть при проведении каждого документа потенциально влияющего на статус - обновляется состояние ВСЕХ статусов на момент проведения документа


то есть по логике - срез последних обновляется только по движению документов которые влияют на статусы..  и обонвляются ВСЕ статусы сразу.
97 NS
 
26.10.14
17:16
(96) а потом у тебя изменился старый документ, который менял один из статусов.
98 IamAlexy
 
26.10.14
17:25
(97) ну так если периодический регистр сведений со статусами то что так что эдак - период в регистре это дата документа изменяющего статус..

и когда ты задним числом запишешь - в любом случае статус измениться задним числом..

то есть пофиг - что так что эдак..
99 NS
 
26.10.14
17:27
(98) если у тебя регистр с двумя измерениями, то после перепроведения задним числом статус поменяется, и все ок.
в твоем случае - более поздний документ, который не имеет отношения к этому виду статуса -  делает неправильное движение, и в регистре будут неправильные данные.
100 NS
 
26.10.14
17:29
(98) в смысле пофик?

док0 - заявка.
док1 - оплачен
док2 - отгружен.

у тебя удаляется док1, то есть снимается оплата (например ошибочно заведено не на того контрагента)
а док2 в твоем случае делает неправильное движение.
101 IamAlexy
 
26.10.14
17:33
(100) убедил.
ты прав..

так действительно будет корректнее.

спасибо..
102 IamAlexy
 
26.10.14
17:33
пля..ненавижу работу задним числом..
103 Ник второй
 
26.10.14
18:07
(81) Глупость пишешь, двоить информацию нормально, например в 1С она задвоена.
Важнопонимать принесет ли задвоение доп плюсы.
104 trdm
 
26.10.14
18:36
(22)  >>  у документа 10 разных статусов одновременно.. и со временем некоторые из этих статусов меняются из других документов другими пользователями

использую для этого 2 справочника (v7)
- логСменыСтатуса - история изменения статуса с документами
- логСменыСтатусаФинал - финальные статусы документа
соответственно ссылка на единственный на документ экземпляр логСменыСтатусаФинал торчит в документе и определение статуса самого документа не представляет сложности.
Единственный гемор - процедура многотомная процедура переключения статуса.
105 IamAlexy
 
26.10.14
19:00
переделываю на схему "заказ/видстатуса/значениестатуса" посмотрим что получится..
щас базу в 10 000 заказов конвертну гляну..
106 opty
 
26.10.14
19:53
(102) От блин удивил так удивил ...
107 Ник второй
 
26.10.14
19:53
(105) Хотел как раз этот вариант предложить.... самый универсальный
108 opty
 
26.10.14
20:03
У меня логистические статусы последовательные :

1 Распечатан складом
2 Набран
3 Погружен
4 Доставлен
5 Подтверждены документы
6 Документы в архиве

Следующий статус нельзя присвоить если не было предыдущего . Таки через реквизит документа  числовым значением и дата -время смены статуса . Алгоритмы присвоения-отмены упростились (+-1)
109 Drac0
 
26.10.14
20:07
(100) м, а зачем здесь делать привязку к регистратору?
110 NS
 
26.10.14
20:11
(109)  не нужно.
111 NS
 
26.10.14
20:13
(110) (109) ты меня путаешь :) изменение производится только документами.
112 Drac0
 
26.10.14
20:18
(111) Ок. А зачем все равно делать привязку к регистратору? Без нее не будет проблемы с изменениями задним числом и будет максимально эффективно решена задача вывода данных в ДС.
113 IamAlexy
 
26.10.14
20:18
для контроля работы задним числом теперь надо последовательность будет вводить.. эх..
114 IamAlexy
 
26.10.14
20:18
(112) хороший вопрос..
115 opty
 
26.10.14
20:20
На учет статусов через реквизит пошел осознанно (то же рассматривал в свое время варианты со справочником и регистром) .

По крайней мере у меня 90% случаев когда нужно узнать статус , документ уже определен - конкретный документ в журнале , или скажем реестр документов конкретного агента и т.п. Документы УЖЕ получены , посмотреть статус выбранных очень быстро и с точки зрения скорости обработки и простоты кода .

А выборки типа "Реестр не отгруженных с прошлой недели" относительно редки , и имеют небольшую глубину - очень редко глубже месяца - серьезных тормозов не вызывают .

Метода не универсальная , но для конкретного применения - наиболее оптимальная
116 Drac0
 
26.10.14
20:22
(115) Ну, ты по факту "срез последних" на документ выводишь. Нормально, иногда даже необходимо :-)
117 NS
 
26.10.14
20:24
(112) то есть как не будет? У нас в день три документа изменяющих статус. Один делается непроведенным. Какой статус в итоге? Проводим/перепроводим документ неким временем в середине дня, какой в итоге статус? Ты не знаешь, есть ли позже документ или нет.
Или ты при каждом проведении будешь перебирать все документы за день?
118 Reaper_1c
 
26.10.14
20:25
(112) Для истории. Я тебе больше скажу - некоторые статусы в типовых хранятся в регистрах накопления... У меня для одного из производств статусы на регистрах накопления сделаны...
119 opty
 
26.10.14
20:26
(116) :)

Статус например проверяется при при каждом открытии документа , в зависимости от статуса происходит соответствующее ограничение возможности редактирования в зависимости от набора прав .

Если каждый раз при открытии лезть в регистр где статусы хранятся в привязке к документу - намного медленней будет .

Конкретной задаче - конкретное решение :))
120 NS
 
26.10.14
20:26
Можно поставить вопрос иначе - чем тебе регистратор помешал?
У тебя автоматом при проведении/снятии с проведения в регистре правильные данные. Как ты это организуешь без регистратора?
121 Hans
 
26.10.14
20:31
(117) У вас как статус рассчитывается? По документам что ли? У меня например все статусы на основе регистров сделаны, т.е мне пофигу сколько документов до и сколько после, смотрим остатки регистра и все.

Вобщем по моему опыту история изменения статусов без привязки к регистратору никакой полезной информации не несет, а только очень запутывает всю аналитику.  

Без регистратора можно. Инфа записывается текущей датой в регистр и все. Типа можно отследить реальную историю смены статусов.

Вобщем можно делать два регистра с привязкой к регистраторы и просто история изменений статусов без привязки к регистратору.
122 Classic
 
26.10.14
20:32
Тоже возникала проблемма статусов. Программистское нутро поначалу отказывалось писать статусы в док. Но пришлось. Оправдано в случае когда чтение преобладает над записью. А со статусами так всегда.
123 opty
 
26.10.14
20:37
(122) Скорее даже не так .

Оправданно когда преобладает получение информации Документ-->Статус , против Статус-->Документы (или даты)
124 IamAlexy
 
26.10.14
20:43
(118) по сути так и было сделано..
но когда журнал документов за год отккрывают и менеджер его тупо листает бездумно а система по каждому заказу делает запрос к 10 регистрам и выкатывает состояние исходя из остатков по этим регистрам - на быстродействии системы это сказывается не лучшим образом..
125 NS
 
26.10.14
20:43
(121) Рассчитывается? Зачем его рассчитывать? Он хранится в регистре на текущую дату. Документ тоже ничего не рассчитывает. Он делает движения по новому статусу, и всё.
126 Drac0
 
26.10.14
20:43
(117) Берешь срез последних по статусу. Получаешь текущие значения, меняешь, допустим флаг "Оплачено" на Истина. Отвязываемся от документа, переходим к событию, которое происходит именно сейчас, а не в дату документа. Уверен на все 100, что рано или поздно понадобится дать права главбуху или другому боссу "ручками" менять статус. Например, дир в сауне хорошо отдохнул с директором контрагента, тот подогнал хороших девочек, и наш решил отгрузить ему партию-другую без оплаты вообще. Девочек по учету не проведешь, деньги из ниоткуда не возьмутся, тупо спишем потом в убыток, а процессы тормозить нельзя.
127 Drac0
 
26.10.14
20:44
(120) Ты про вариант, где измерения "Документ, ВидСтатуса" или какой?
128 IamAlexy
 
26.10.14
20:44
(125) ну тут вопрос примерно в следующем:

состояние "заказ готов" выставляется тогда когда каждое изделие заказа готово.. соответственно документов меняющих статус  может быть несколько..
соответственно при проведении каждого нужно смотреть - а на момент документа все ли изделия готовы и когда все - ставить статус "заказ готов", если нет - то "в работе"
129 IamAlexy
 
26.10.14
20:45
(128) сейчас все просто - регистр накопления.. остатки и если конечный остаток нулевой то типа готов..

для одного-двух статусов - нормуль, работает..

а вот когда этих статусов 10..
возникает вопрос в необходимости оптимизации..
130 IamAlexy
 
26.10.14
20:46
(129) плюс у меня вопрос, с точки зрения нагрузки на сервер и соответственно быстродействия - сделать левое соединение к 10 регистрам накопления будет по быстродействию сильно отличаться от 10 запросов к регистру сведений срезу последних ?
131 NS
 
26.10.14
20:46
(126) Глупость какая-то. Документ "изменение статуса".
132 supremum
 
26.10.14
20:47
(126) Система должна показывать реальную ситуацию, а не такую, кто что захотел. Если необходимо грузить без оплаты - пусть грузят: процессы оплаты и отгрузки независимые.
133 NS
 
26.10.14
20:47
(130) Если тебе так нравится регистр накопления - кто мешает сделать в нем вид показателя измерением?
134 NS
 
26.10.14
20:48
(128) А в чем вопрос?
135 opty
 
26.10.14
20:49
(132) Ситуации бывают всякие :)
136 supremum
 
26.10.14
20:51
(135) Для разных ситуаций есть БУ, вот пусть там и рисуют все что угодно.
137 Drac0
 
26.10.14
20:52
(131) А какая разница? Что с ним, что без него? По факту ты переходишь на то же событие, только заводишь под это новый объект. Есть в этом один плюс: можно порядок в пределах одной секунды сделать. Кое-где использую и такое. Но по факту ты переходишь к моей схеме, где док, меняющий статус, не является регистратором.
138 supremum
 
26.10.14
20:52
+(136) Вообще у меня позиция простая: что на входе - то и на выходе.
139 NS
 
26.10.14
20:53
(137) В смысле не является? Ты когда делаешь документ непроведенным, его движения убираешь? Или если в документе поменял реквизит, ты старые движения не убираешь?
140 Drac0
 
26.10.14
20:54
(136) В БУ, что угодно? И какой закон запрещает продавать без оплаты?

Кроме того есть штатная ситуация: аномальные скидки в заявке должен завизировать начальник отдела. Он не проводит, не сохраняет документ, просто ставит галку. Тут чисто событие.
141 Drac0
 
26.10.14
20:55
(139) Тебя там двое? Сам писал в (131) "Документ "изменение статуса"." Как он будет связан с тем документом, что его создал?
142 supremum
 
26.10.14
20:56
(140) Это к тому, что абсурдно грузить товар не формируя ДЗ или хотя бы расходную часть в БДР.
143 opty
 
26.10.14
20:56
(136) В оперативном учете их не меньше . Ну в конкретном примере "с девочками" док все равно должен быть закрыт по оплате , из собственных средств понятно . если отгружать по нулевой цене потом концов не найти . У нас ситуация "товарный ретробонус покупателю" ситуация штатная :))
144 supremum
 
26.10.14
20:59
(143) Ретробонус должен быть начислен, чтоб его потом закрыть. Это разные процессы и необходимо давать реальную картину по ним.
145 NS
 
26.10.14
21:01
(141) Документ Изменение статуса нужен только в случае если мы хотим провести операцию изменения статуса которая не связана с стандартными документами в системе. Для того случая что ты описал. Если всё хочешь делать через него - то будет связан структурой подчиненности, через реквизит.
146 NS
 
26.10.14
21:02
(141) Еще раз повторю вопрос - ты делаешь документ непроведенным, в нем ошибка, либо его нужно исправить и провести с другими данными, как ты без регистратора уберешь его движения? Пусть это даже будет документ "изменение статуса".
147 opty
 
26.10.14
21:06
(144) Процессы начисления ретробонуса , и отгрузки товара со склада и транспортировки клиенту - независимые . Складу вообще пофигу бонус это или обычная накладная , и ему пофигу оплатят ли  ее безналом или котлетой капусты
148 Classic
 
26.10.14
21:08
(146) в чем проблемма убрать без регистратора?
149 supremum
 
26.10.14
21:11
(147) независимые, о чем сказал в (132)
150 NS
 
26.10.14
21:11
(148) А как ты узнаешь без регистратора какие движения сделал этот документ?
151 Drac0
 
26.10.14
21:11
(146) Делаем новую запись со снятием флага для этого статуса? В чем проблема получить срез последних и сделать новую запись?
152 supremum
 
26.10.14
21:14
Вообще сейчас в самописке прихожу к рабочим интерфейсам и не показываю регистраторы конечным пользователям.
153 opty
 
26.10.14
21:14
(149) Но по оперативному учету бонус так же должен быть закрыт по оплате , "погашен" иначе будет вылезать во все отчеты как неоплаченный и просроченный документ . Так что одним БУ , и "делайте там что хотите " не обойтись
154 NS
 
26.10.14
21:16
(151)
В смысле?
А тем документам которым не надо снимать статус, ты нафига статус снимешь? Один и тот-же статус может проставляться неоднократно, разными документами. И при снятии документа с проведения не для всех документов нужно снимать статус.
155 NS
 
26.10.14
21:16
Не для всех объектов надо снимать статус.
156 Classic
 
26.10.14
21:18
(150) Писать в реквизит?
Честно говоря я уже потерял нить, кто что отстаивает. Но в случае, когда изменение РС может производиться не только доком (вручеую или задачей) обычно решается через независимый РС с реквизитом.
157 supremum
 
26.10.14
21:19
(153) Задача БУ не показывать убытки, как, впрочем, и прибыль.

Задача УУ показать реальную картину. Если товар отгружен мы должны сформировать ДЗ и ее погасить. Погашение следует из условий договора: он может быть как бонусным, так и по 100% предоплате. Не вижу ни каких проблем в отражении этих фактов в системе. А вот простановка всяких статусов в зависимости от разных хотелок привет к неадекватным оценкам и решениям.
158 NS
 
26.10.14
21:19
(156) И чем запись документа в реквизит отличается от регистратора?
159 Classic
 
26.10.14
21:21
(156) Независимостью регистра. И необязательностью регистратора.
160 supremum
 
26.10.14
21:21
+(157) Или к адекватным, но не в пользу компании.
161 NS
 
26.10.14
21:21
(156) Чего тут ослеживать?
Нормальная схема - каждый документ меняет только свои статусы. Документ - регистратор. При любом изменении документа, проведении, распроведении - соответственно меняются/появляются/удаляются записи.
В итоге мы можем получить статус и на текущий момент, и на любой момент. В самой простой схеме документам не нужны никакие расчеты, тупо запись статуса. Последовательность восстанавливать не надо. Она никогда не портится.
162 NS
 
26.10.14
21:22
(159) А как ты будешь изменять/удалять движения ошибочно проведенного документа?
163 NS
 
26.10.14
21:23
Допустим ошибочно провели документ, который присваивает статус "находится в отделе логистики" куче первички.
Его надо удалить, но часть первички действительно в отделе логистики, и был этот статус присвоен другим документом, а часть в других местах.
164 NS
 
26.10.14
21:24
Или провели не ошибочно, но статус должен быть не в отделе логистики, а в бухгалтерии. Но после этого документа есть еще куча движений первички.
165 NS
 
26.10.14
21:34
Более того - если есть статусы, то по ним потребуется и отчетность, например скорость сборки заказов попозиционно.
Потом потребуется отчет по сборщику (например автору документов изменяющих статус). Или по человеку который присваивает статусы - сколько позиций или документов (первички) конкретно он обработал. И как без регистратора? Из-за такой мелочи разработчик окажется крайним, ибо не предусмотрел элементарное.
166 supremum
 
26.10.14
21:36
(165) Получается, регистратор фиксирует момент ввода данных и оператора и нужен только для этого?
167 NS
 
26.10.14
21:39
(166) Нет, регистратор нужен для изменения или отмены записей сделанных этим документом.
Ты когда делаешь реализацию, или поступление, у тебя движения привязаны к документу? Зачем? Ты же можешь просто посчитать остаток после проведения, и записать в реквизит.
168 NS
 
26.10.14
21:40
Мои посты (163) и (164) видны? Или форум глючит?
169 supremum
 
26.10.14
21:40
(168) Видны.
170 NS
 
26.10.14
21:52
(169) Я тебе приведу пример - у нас 10000 первички в день, всей первичке присваиваются различные статусы (не только местонахождение) путем сканирования первички (все документы включая входящие штрихкодированы) в документ "изменение статуса", и автоматическое изменение документами которые должны менять статус по смыслу.

Естественно при любом объеме неизбежны ошибки, документы правятся и перепроводятся. В случае хранения статуса без регистратора - ты даже просто отменить проведение не сможешь. Ибо не сможешь узнать какие статусы необходимо присвоить конкретной первичке. А в случае правильной схемы - тебе даже восстанавливать последовательность никогда не потребуется.

И в принципе - в статусах нет принципиальной разницы с остатками товаров, кроме разницы в том что в остатках накопление, а тут сведения. Которые так-же возникают в определенный момент времени, и так-же подвержены ошибкам.
171 Drac0
 
26.10.14
22:30
(170) Ты мне так и не сказал, ты какую структуру регистра держишь в уме: измерения "Документ, ВидСтатуса" или только документ?
172 NS
 
26.10.14
22:36
(171) зачем в регистре документ, если есть регистратор?
Измерения объект, вид статуса
ресурс статус.
173 Drac0
 
26.10.14
22:41
(172) Я объект и имел ввиду. Для твоей ситуации с регистратором все ок. Но он решает не задачу оптимально правильной организации процесса движения по статусам, а максимально быстрый вывод в ДС. Ради последнего приходится порой идти на огромные уступки :(
174 Aleksey
 
26.10.14
22:41
(172) Каким образом регистратор (выписка, реализация) к объекту контроля (заявка покупателя)?
175 NS
 
26.10.14
22:59
(174) регистратор нужен для отмены проведения, что указано выше, а объект контроля пишется в измерение регистра (объект)
176 NS
 
26.10.14
22:59
(173) в чем неоптимальность? где мы теряем в скорости?
177 Torquader
 
26.10.14
23:17
Не, ребята - история статусов отдельно, а сами статусы - тоже отдельно, чтобы при выводе на экран всё было быстро и красиво, а не запросом к регистру через срезы.
178 NS
 
26.10.14
23:19
(177) Получить актуальное значение регистра сведений - это и быстро, и красиво.
179 Torquader
 
26.10.14
23:24
(178) Не так уж это и быстро, особенно, если в него все пишут, а когда он будет независимый и непериодический, то будет ещё быстрее, а "мухи", то бишь история будет нужна не так часто - может пожить и в другом регистре.
180 Torquader
 
26.10.14
23:25
+179 опять же, если мы что-то отменяем, то нам нужно не стирать запись, а создавать новую об отмене предыдущей или какой-то в истории (в этом случае, итоговую таблицу никто и трогать не будет).
181 NS
 
26.10.14
23:25
(179) Только посчитай, сколько потеряется времени на проведениях документов, если в каждом документе по каждому движению (по каждому набору объект/видстатуса) ты будешь писать значение в справочник.
А сделать так чтоб не тормозило в журналах - проще простого.
182 NS
 
26.10.14
23:26
(180) Можно поподробней?
У нас есть движение.
Объект1, видстатуса1, Да

Что мы делаем при отмене проведения?
183 Torquader
 
26.10.14
23:27
(181) А где я сказал, что будет справочник - просто будет два регистра - в одном значение, в другом - история. Справочник, конечно, от обычного регистра сведений мало чем отличается, если про GUID не вспоминать.
184 NS
 
26.10.14
23:29
(183) То есть в каждом проведении, вместо того чтоб просто записать значение в регистр,
мы
Пишем значение в регистр,
Получаем актуальное значение,
Пишем актуальное значение еще в один регистр.

То есть замедляем грубо говоря проведение в три раза.
185 Torquader
 
26.10.14
23:29
(182) А что там сложного - в одну таблицу (регистр) пишем, кто когда и почему сделал это движение, а в другую таблицу записываем (точнее перезаписываем) изменение статуса для нашего объекта.
Во второй таблице можно держать и все десять статусов в строке, чтобы выборка была быстрее.
186 Torquader
 
26.10.14
23:30
(184) Замедление записи в несколько раз не страшно, если запись не сильно частая, а вот скорость чтения может намного увеличиться, а если статусы смотрят все, то будет выигрыш в скорости.
187 Torquader
 
26.10.14
23:31
Просто, если статусы все пишут, а смотрит кто-то один, то их вообще для быстроты можно в ЛОГ-файл писать - явно быстрее регистра будет, а вот как они там будут читаться - это не проблемы пишущего - так что-ли ?
188 NS
 
26.10.14
23:33
(185) Не совсем понял - при отмене проведения мы пишем зачем было сделано движение? Какое значение мы пишем в ресурс при отмене проведения?
(186) Показ в журнале нет проблем сделать моментальным. А сделать вместо записи 200000 движений в день - 400000 движений, при этом добавить 200000 получений актуальных значений - это конечно круто, но нужно сравнивать количество показов, и количество движений за день, чтоб решить что выгодней.
189 NS
 
26.10.14
23:34
(187) Нет, не так - я сделаю честное получение атрибутов из регистра, при этом без тормозов. Оно же лежит в таблице, с индексом по объект/видстатуса, отсортированное по позиции документа.
190 Torquader
 
26.10.14
23:35
(188) Отмена статуса, это не совсем отмена проведения.
Если в какой-то момент времени статус был установлен, то он там остаётся навечно, просто потом он был снят - и, по хорошему, должно быть записано оба события - первое, о том что статус был установлен, и второе - о том, что его отменили.
191 Torquader
 
26.10.14
23:36
(189) Оно-то там лежит, но нужно для десяти статусов выбрать десять строк, причём с последними значениями.
192 NS
 
26.10.14
23:37
(190) То есть записать новый статус не надо? Ты предлагаешь пойти дальше, и брать значение на момент проведения, и еще и его крутить? Есть подозрение, что замедлением на порядок тут не обойтись :)
193 NS
 
26.10.14
23:37
(191) Выбрать последнее значение, причем с последним значением? :)
194 Torquader
 
26.10.14
23:39
(192) Я чего-то вообще не понял - разве статусы при проведении используются ?
Просто, все сведения, которые используются для проведения документа желательно вообще хранить в самом документе, чтобы не было ужасов при перепроведении.
195 NS
 
26.10.14
23:42
(194) Нет, при проведении мы пишем в ресурс статусы из документа. Без каких либо расчетов либо получения итогов/движений.
Но чтоб отменить проведение, если мы не отменяем движения документа - то естественно надо знать (получить) статус на момент проведения документа.
Только непонятно зачем городить огород, если проще просто убрать движение?
196 NS
 
26.10.14
23:43
Чтоб вывести в журнал, нам нужно только одно обращение к базе - срезПоследних. А потом тупо разобрать ТЗ, там нечему тормозить.
197 Torquader
 
26.10.14
23:46
(196) Просто, если кто-то в таблицу пишет, то некоторые строки будут заблокированы до подтверждения изменения, если пишут часто, то именно срез последних и будет подвисать.
А так понятно, что запрашиваемые статусы у нас в списке или массиве - мы строим таблицу среза с условием, что объект наш и статусы в нашем массиве - сервер выбирает всё достаточно быстро и просто, если, конечно, в регистр нет записи.
198 Torquader
 
26.10.14
23:48
(195) Если рассматривать статус, как движение, то можно и удалять, но тогда о том, что такой статус какое-то время был установлен - никто не узнает. Вопрос в том - а нужно ли это кому-то знать ?
199 NS
 
26.10.14
23:48
(197) Всяко количество записей по статусам будет не так велико, чтоб вызывать тормоза на получении актуальных значений.
Ты что-то усложняешь. Не надо запрашиваемые статусы в списке - получаем все актуальные статусы по объекту.
В журнале.
200 NS
 
26.10.14
23:49
(198) Это уже отдельная тема, документирование действий пользователей.
201 NS
 
26.10.14
23:50
+ (199) У него в задании - получить все статусы.
202 Torquader
 
26.10.14
23:50
(199) В журнале мы получаем все статусы всех объектов, которые есть в отборе журнала - там получается уже и не так просто, особенно, если отбор журнала не просто по дате.
203 Torquader
 
26.10.14
23:52
Хотя, если схитрить и показывать статусы только для тех, кто попал на экран, то можно получить очень хорошее быстродействие даже при плохооптимизированных запросах.
204 NS
 
26.10.14
23:53
(203) В крайнем случае вообще получаем только по активной строчке. Пользователь без проблем проедет по журналу.
205 IamAlexy
 
26.10.14
23:54
(202) самая хрень когда отбора тупо нет
206 Torquader
 
26.10.14
23:54
(204) Лучше сразу по всем, хотя в 1С это не так уж и просто.
Просто на экране более 20 строк, и делать сразу двадцать запросов при пролистывании страницы - как-то не айс.
207 Torquader
 
26.10.14
23:55
(205) Ну да "сейчас мы запустим запрос и поднимем всю базу в память и посмотрим - хватит ли её нам".
208 NS
 
26.10.14
23:56
:LOL:
209 Torquader
 
26.10.14
23:57
+(206) Пользователь проедет по журналу со скоростью улитки, так как многозадачности в 1С просто нет.
210 NS
 
26.10.14
23:58
Предлагаю все-таки получать только по активной строчке, и кешировать в что-нибудь индексированное.
То есть если текушая строка не равна последней,
то последняя равна текущей, и значение в соответствие.
211 NS
 
26.10.14
23:59
(209) Пользователю никто не мешает так-же листать. Либо установить отбор.
212 Torquader
 
27.10.14
00:00
(211) У меня, когда я такие поделки смотрю, есть желание выкинуть монитор в окно, так как медленность реакции на пролистывание и создаёт ощущение жутких тормозов.
213 NS
 
27.10.14
00:01
(212) Не совсем понял - реакция ровно такая-же, как не было бы вообще вывода статуса.
214 NS
 
27.10.14
00:03
А вот если хочешь посмотреть статус документа - встань на него. И получишь его в табличной части.
215 Torquader
 
27.10.14
00:05
(214) Ну это вообще называется издевательство над пользователями - встань на документ, подожди пока окно статуса обновится и он покажется.
Данное решение ещё хуже, чем кнопка "посмотреть статус".
216 Злопчинский
 
27.10.14
00:08
Сильно сомневаюсь что надо видеть журнал - то есть ОДНОВРЕМЕННО МНОГО ОБЪЕКТОВ со всеми их 10 состояниями.
Всегда бесило желание юзверей из журнала сделать отчет.
попытки юзверей иметь такой мегажурнал - свидетельстует о не до конца оформившихмя хотелках. или непонятности самого процесса обслуживания таких объектов.
.
имхо.
217 NS
 
27.10.14
00:08
(215) Какое окно статуса обновится? Во первых статус получается за миллисекунду, если не быстрее. Вряд ли существует пользователь который может заметить такую паузу.
Во вторых не в окне статуса, а в табличной части.

А что там в восьмерке с ПриВыводеСтроки()?
Её отменили, или она работает не только с тем что на экране?
Я уже потерялся во всех 1Совских нововведениях.
218 Torquader
 
27.10.14
00:11
(217) Да работает она прекрасно - и при перелистывании страницы двадцать раз и отрабатывает, чтоб им пусто было.
(216) Если только они не захотели экран, где все статусы всех документов за текущий день, но и здесь можно его обновлять раз в минуту.
219 NS
 
27.10.14
00:11
(218) см. (210) Кеширование спасет от тормозов.
220 Reaper_1c
 
27.10.14
00:12
(216) +100500
221 NS
 
27.10.14
00:13
Можно сделать кеширование с запоминанием времени последнего обновления, если им нужно обновление автоматическое обновление.
222 NS
 
27.10.14
00:16
(216) Тоже всегда считал что в журнале достаточно максимум двух галок, и нечасто нужную инфу вообще надо выносить в подстрочник. Простынь в журнале действительно нафик не сдалась, всё равно никто ей пользоваться не будет.

Например "клиенты у нас иногда спрашивают когда закончится товар" - нафига эта инфа в табличной части? Если клиент спрашивает про конкретный товар, значит можно на него встать, и посмотреть в подстрочнике. И нет никакого резона городить оптимизации по расчету средней продажи в многострочной части.
223 Drac0
 
27.10.14
00:20
(196) Ты на УФ с ДС работал?
224 NS
 
27.10.14
00:21
(223) Нет, но суть то от этого не меняется, хранение данных такое-же как всегда.
225 Torquader
 
27.10.14
00:21
(222) Товар в журнале - гнать в шею таких клиентов.
P.S. во "взрослых" системах количество объектов в любой выборке обычно ограничивается (например 100), чтобы никто не выбрал всё и сразу.
226 Torquader
 
27.10.14
00:22
(223) Когда он поработает, ему сразу 1С разонравится - несколько раз сходить на сервер при перелистывании страницы, да за такое всю 1С можно сразу в топку.
227 NS
 
27.10.14
00:22
(225) Товар в справочнике, но суть от этого не меняется.
228 NS
 
27.10.14
00:23
(226) Всегда любые препоны от 1С можно обойти.
229 NS
 
27.10.14
00:23
Не нравятся динамические списки - ведь никто не заставляет ими пользоваться.
230 Drac0
 
27.10.14
00:25
(224) ))))))))))))))))
Ты даде не представляешь, как динамический список обрадуется лишним десяти соединениям. А статусы нудны в дурнале польщователям, чтобы фильтровать по ним.
231 Torquader
 
27.10.14
00:27
(230) Он просто хитрый и на сервер пойдёт, когда строка уже будет в списке и выводиться на экран, а не когда нужно что-то фильтровать.
232 Drac0
 
27.10.14
00:27
(228) да? Заставь гребаный метод ПроверитьВывод работать корректно и я тебе коньяк поставлю. Высчитывать масштабы вручную по миллиметрам желания нет :-(
233 NS
 
27.10.14
00:28
(230) Разве ТС говорил что нужно фильтровать по статусам? Тогда как говорил Torquader - писать куда-нибудь актуальный статус при проведении каждого документа влияющего на статусы. По всем объектам на статусы которых документ влияет при проведении. Либо не пользоваться фильтрами по статусам.
234 Drac0
 
27.10.14
00:29
(229) Сейчас журнал (т.е. форма списка) это и есть динамичнский список. И больше никак. Вообще никак. Остальное - изврат, нежизнеспособно вообще.
235 Drac0
 
27.10.14
00:30
(233) В ДМ для фильтра можно использовать все поля (видемые и нет). Поэтому вывести их - значит уже дать возмодность отбора по ним.
236 Drac0
 
27.10.14
00:31
(235) *ДМ = ДС
237 NS
 
27.10.14
00:32
(234) Ээээ... Даже ТЗ в качестве источника данных запрещено?
238 Torquader
 
27.10.14
00:32
(234) Ну, можно вообще таблицу на форме, которая из ТЗ строится, и обновляется, когда пользователь нажмёт "обновить", тогда явно тормозов при выводе не будет, только вот назвать такое "творение" журналом как-то язык не поворачивается.
239 NS
 
27.10.14
00:33
(238) Не верю что существуют языки в которых невозможно сделать динамическое обновление. Ни разу в жизни не видел.
240 Drac0
 
27.10.14
00:33
(238) я про это и писал: "изврат, нежизнеспособно вообще."
241 NS
 
27.10.14
00:34
(240) Почему?
242 Drac0
 
27.10.14
00:34
(239) Оно есть. В Динамическом списке :-)
243 Torquader
 
27.10.14
00:34
(239) Просто, есть языки, где несколько процессов одновременно работают, и друг другу не мешают.
244 NS
 
27.10.14
00:36
(243) Ничего не понял, говоришь загадками.
245 Torquader
 
27.10.14
00:37
(244) В нормальном языке, если запрос ушёл на сервер, то клиент продолжает работать дальше, не ожидая прямого ответа на запрос.
246 NS
 
27.10.14
00:38
(245) Естественно. Если язык такого не поддерживает, то можно сделать внешнюю компоненту, которой отправишь запрос, она в фоне получит данные, и вернет по событию.
247 Drac0
 
27.10.14
00:39
(241) Аж теряюсь, с чего начать. 90% функционала системы (для работы со списками документов) уйдут в топку. Никакого автоматического обновления данных. Таки у ДС полно ништячков. И еще можно что вспомнить. И тормозить это будет все равно.
248 Drac0
 
27.10.14
00:40
(245) ну, в СКД так и сделано :-)
249 Drac0
 
27.10.14
00:41
(245) как это поможет в листании журнала?
250 NS
 
27.10.14
00:42
Отсутствие многопоточности конечно иногда добивает, привык даже на любую кнопку вешать thread.
(249) Не будет тормозов в листании на время обновления данных.
251 Drac0
 
27.10.14
00:43
(237) тз только во временную можно. А воеменные в ДС юзать нельзя :-)
252 Drac0
 
27.10.14
00:44
(250) и данных не будет :-) у 1с в выборку попадает 50 записей всего.
253 NS
 
27.10.14
00:45
(247) Прикол. У меня в системе десятки миллионов документов, и если я выведу полный журнал - никаких тормозов не будет несмотря на обновляемые колонки.
Даже поиск по реквизиту (например по штрих-коду при сканировании) - отрабатывает моментально. В полном журнале за весь период.

Динамическое обновление данных написать - это как правило совсем немного работы.
254 Drac0
 
27.10.14
00:45
Спать уже час как пора. Ушел.
255 Злопчинский
 
27.10.14
00:46
(218) даже за один день - имеет какой-то смысл в размере если порячдка 20-30 запией. в противном случае - задача/потребность пользователя неясны ему самому.. - это сразу всплывает на больших объемах
256 Torquader
 
27.10.14
00:47
(255) Да автор вопросов уже десятый сон досматривает, пора бы и нам туда же.
257 Drac0
 
27.10.14
00:48
(253) я помню, как было на семерке. Объем данных не так влияет на производительность, как количество пользователей. Сколько у тебя в системе активных одновременно?
258 NS
 
27.10.14
00:49
(257) До сотни примерно.
259 NS
 
27.10.14
00:51
Объем данных всегда влияет на производительность, ибо пользователи должны успеть за день провести 10000 новых документов. И подправить какое-то число старых задним числом. Учитывая что никаких управляемых блокировок у меня нет, при проведении блокировки как обычно, то требования к оптимизации достаточно суровые.
260 Drac0
 
27.10.14
00:51
(258) у нас более 200. Причем база во многих местах редкостный го*нокод. И работает приемлимо. Даже из Китая через веб-интерфейс.
261 NS
 
27.10.14
00:52
(260) Но у вас данных наверно поменьше. 10000 в день - это только первичка.
262 Drac0
 
27.10.14
00:53
(259) это скорее не объем данных, а количество транзакций и блокировок. Разные вещи же.
263 Drac0
 
27.10.14
00:53
(261) да. У нас довольно специфическая система.
264 Drac0
 
27.10.14
00:54
Блин, точно ушел.
265 NS
 
27.10.14
00:57
Кстати, я для быстрой обработки, актуальное значение главного статуса пишу в документ. Не очень красивое конечно решение (из-за возможных блокировок документа в момент когда в него надо писать), но другого выхода быстро не придумал.
266 Злопчинский
 
27.10.14
01:12
(261) а суммарное количество проведенных строк (по всем документам) за день?
267 NS
 
27.10.14
01:32
(266) На порядок больше.
268 Злопчинский
 
27.10.14
01:33
те около 100 тыс строк в день?
269 NS
 
27.10.14
01:35
(268) Да, примерно 100000.
270 NS
 
27.10.14
01:37
Может больше. Но строки же не нагружают, в 1SJOURN их нет.
А движения да, плодят.
271 Злопчинский
 
27.10.14
02:07
(270) получается тч доков небольшие. строк по 10
272 supremum
 
27.10.14
03:38
(170) У меня в такого вопроса нет. Все статусы прекрасно работают.
273 NS
 
27.10.14
10:44
(272) отменяя проведение документа снимаешь все статусы, и нормально работает?
это примерно как снимая с проведения приход, удалять номенклатуру из справочника.
274 supremum
 
27.10.14
11:07
(273) У меня другая система. По проекту выполняется множество работ. Эти работы распределяются по видам и в зависимости от вида работы определяются наборы статусов. Для ведения текущего состояния по работам и истории сделал периодический регистр сведений. Работы с прочей аналитикой (проект, организация, сценарий, подразделение) вынесены в измерения, ресурс значение состояния.

Статусы работ устанавливаются отдельным документом, при этом при распроведении состоянии работ (значение статусов), конечно, записи из регистра удаляются. Обновление статусов работ регистрируются отдельным документом.

Есть отдельные статусы по документам: направлен, подписан. Там свой периодический регистр сведений: документ измерение, значение состояния: ресурс. В самом документе есть два поля: дата изменения состояния и новое состояние. По этим полям и происходит запись в регистр сведений. Но, скорее всего этот момент переделаю, а может и нет, там не такой большой поток данных.
275 NS
 
27.10.14
11:11
(274) Так эта схема - и есть немного испорченная схема с регистратором. Или я не так понял?
Только если например подпись документа отозвана в тот-же день что он был подписан, возможны глюки. Или нет?
Отмена идет отдельным документом, или ищут документ которым была поставлена подпись?
276 IamAlexy
 
27.10.14
11:12
блин.. походу от статусов таки придется отказываться..
посмотрел - 6 показателей из 10 считаются по регистрам накопления на предмет заверешния работ (обнуления остатка)

черт..
277 supremum
 
27.10.14
11:16
(275) Документ может быть аннулирован. Для этого было введено состояние "аннулирован", соответственно движений по базе он не делал. Отзыв не предусматривал в тот же день. Эти статусы нужны были для контроля сроков подписания документов заказчиками. Если произошла ошибка пользователя, то просто ставили нужный статус и дату и все работало нормально.
278 supremum
 
27.10.14
11:18
+(277) Но эта схема мне не нравилась из-за того, что заново делались все движения. По хорошему бы вынести это из документа. Может отдельным документом фиксировать изменение и корректировку статуса.
279 supremum
 
27.10.14
11:23
+(274) Одновременно по работам ведется куча другой информации: потребность в часах, сметная стоимость, сроки, в какой пункт договора входит выполняемая работа. Все это можно двигать, планировать, анализировать.
280 IamAlexy
 
27.10.14
11:26
(274) как решаешь следующие ситуации:

1. работа сделана а статус не изменен (статус влияет на возможность начать следующий этап работ)

2. работа сделана, статус изменен, работа отменена  а статус остался

?
281 supremum
 
27.10.14
11:28
(275) Корректировка ошибки происходит тем же документом. Пока "сторнирование статусов" делать не хочу, смысла не вижу. Обновление статусов происходит новым документом.
282 trdm
 
27.10.14
11:48
(121)  >> Вобщем по моему опыту история изменения статусов без привязки к регистратору никакой полезной информации не несет, а только очень запутывает всю аналитику.  

+1
283 NS
 
27.10.14
12:07
(282) +100500. Может так убедим Мистовское сообщество :)
284 NS
 
27.10.14
12:08
(121) Конечно по регистрам.
285 NS
 
27.10.14
12:12
(277) Подпись может быть отозвана не только из-за ошибки пользователя. А например - не тот человек подписал, ошибка в оформлении бумажного документа и т.д.
286 supremum
 
27.10.14
12:21
(280)

1. Работы взаимосвязаны. В системе это никак не регулируется. Т.е. даже несмотря на статус предыдущей работы следующая работа может начаться. Можно вешать на работы вехи и вести сетевой график в системе, но такой потребности нет. Расчет сроков начала и окончания работ и вехам ведется в других системах.

По хорошему нужно еще сетевой график и вехи вести, но не хочу :)

2. Этот момент пока не проработал. В любом случае состояния по работе должны сохранятся, т.к. некоторые телодвижения велись по ней и есть какой-то статус, как и последнее состояние. Заодно нужно вести доп. статусы на работу: приостановлена и до какого срока или бессрочно, отменена. Как это будет реализовано пока не знаю. Может через галочку, может через дополнительный регистр сведений.
287 supremum
 
27.10.14
12:24
(285) Регулировать и регистрировать такие коллизии необходимости нет.
288 NS
 
27.10.14
12:27
(287) Я к тому что схема с регистратором и двумя измерениями - вообще не вызывает таких вопросов - надо отменить - пожалуйста, провели изменение статуса на отмену.
Нужно исправить документ - просто исправили и перепровели.
Нужно удалить документ - просто сделали непроведенным либо удалили. И всё работает, причем само.
289 supremum
 
27.10.14
12:27
+(287) Документ проведен - данные попали в отчет.

В моем же случае расстыковки в данных "вылезут" на уровне отчетов. Ну и куча проверок перед записью.
290 supremum
 
27.10.14
12:40
(276) Я кажется начинаю догадываться, что там происходит )

(288) Тут не все так просто. Процессы, по которым ведутся статусы могут быть взаимосвязаны. Предположим, что есть:

Процесс 1, статус 1, 2, 3
Процесс 2, статус 1, 2

И Процесс 2 может перейти в состояние 2, только когда Процесс 1 в состоянии 3.

Если мы должны откатить Процесс 1 назад в состояние 2, то мы должны проверить Процесс 2.
291 supremum
 
27.10.14
12:41
+(290) И откатить или задать (как минимум) вопрос, что делать.
292 trdm
 
27.10.14
12:46
(283)  >> Может так убедим Мистовское сообщество :)

А зачем его убеждать?
столкнутся с задачей, набьют шишек, сами прийдут.
У меня статусы интернет заказов отслеживаются так.
История весьма полезна.
293 supremum
 
27.10.14
12:50
(292) Вы тут все это время обсуждали стоит ли привязывать регистратор к регистру сведений? Значит я что-то пропустил.
294 NS
 
27.10.14
12:50
(290) Кто мешает проверить?
Вообще можно завести шаблоны, где расписать допустимые переходы и необходимые условия, и всё так-же автоматом будет проверяться.
295 NS
 
27.10.14
12:51
(293) Да, именно это. Привязка движений к документу их сделавшего. С автоматическим удалением и изменением движений.
296 supremum
 
27.10.14
12:52
(295) Как-то абсурдно это обсуждать.
297 supremum
 
27.10.14
12:53
(295) Меня больше волновал вопрос стоит ли вешать статусы на документ, например акт реализации, или вести их отдельным документом.
298 NS
 
27.10.14
12:53
(296) В смысле? Ведь кто-то с этим не согласен. Только по этому и обсуждается.
299 supremum
 
27.10.14
12:57
(298) Не интересно, кто там с чем не согласен. Есть простая логика: проведен есть движения, нет проведения - нет движения.

+(297) Например, по акту может быть несколько статусов. Разные отделы вешают разные статусы. Так вот потихоньку прихожу к мысли, что регистрировать статусы отдельным документом имеет смысл.
300 NS
 
27.10.14
12:58
(297) По уму, чтоб не засорять систему, все документы которые по смыслу должны изменять статус - должны менять статус. Если уж в системе нет документа который должен менять по смыслу, тогда документ "изменение статуса".

(293) Был и второй вопрос - менять все статусы объекта при изменении части статусов, и писать все статусы в один сборный ресурс, или менять документом только те статусы которые должны измениться, и хранить разные виды статусов объекта отдельно. То есть в первом случае измерение объект, и ресурс "сборный статус", во втором два измерения - объект, вид_статуса, и один ресурс статус.
Я утверждаю что второй способ единственно верный, а проблемы с журналом решаемы. И никто не запрещает дублировать куда-нибудь актуальный сводный статус при проведении .
301 NS
 
27.10.14
12:58
(299) Слава богу. Теперь вроде пришли к консенсусу с регистратором :)
302 supremum
 
27.10.14
13:10
+(299) Другой интересный момент - это построение S-кривой по статусам работ, к статусу цепляется процент и мы высчитываем итоговый процент по проекту с учетом веса работ.
303 supremum
 
27.10.14
13:18
(301) Немного добавлю мыслей по поводу регистратора. Сейчас в системе, которую ваяю как таковых в пользовательском интерфейсе нет журналов документов, а есть рабочие интерфейсы для разных групп пользователей. Не так давно возникла мысль, зачем мне нужен документ, если он скрыт, и записывать данные непосредственно в регистры.
304 Drac0
 
27.10.14
13:22
(300) "а проблемы с журналом решаемы." Достаточно голословно, если не знаешь текущего инструмента и технологии. Я тебе, вроде, уже описал все проблемы, которые возникают с ДС.

(299) "Есть простая логика: проведен есть движения, нет проведения - нет движения. " Я правильно понимаю, что разобраться, какой же дятел делает кривые документы постоянно нам не интересно? (Склад уже три дня в полном составе собирает заказ с ошибочным доком по оплате) Движения распроведенного дока пропали, значит, и истории не сохранится?
305 NS
 
27.10.14
13:26
(304) Есть
1. Структура хранения.
2. Механизмы отображения.
Со структурой хранения всё понятно, и понятно что получение данных по одному документу практически моментально (всяко не будет превышать 1 мс даже на относительно слабом сервере)
В любом языке, в том числе и в восьмерке достаточно средств чтоб хоть свой журнал написать. На чем угодно.
Хоть в табличном документе с динамическим обновлением.

Можем забиться. Я давно не писал на восьмерке, но на спор готов написать.
306 NS
 
27.10.14
13:27
(304) Кто мешает журналировать действия? У меня история изменений сохраняется для практически всех видов документов. Точнее для всех значимых. И всегда можно посмотреть кто что и зачем поменял.
307 NS
 
27.10.14
13:28
(304) Есть такое понятие - человеческий фактор. Человек не бог, и не может не совершать ошибок. Если у тебя 100 документов в день, то ошибка это ЧП. Если 10000 - то ошибка это нормальная рабочая ситуация.
308 NS
 
27.10.14
13:29
+ (306) Даже с привязкой документов к телефонным разговорам, если кто-то наговорил эти изменения по телефону, из документа можно их прослушать.
309 Drac0
 
27.10.14
13:36
(306) Чтобы что-то найти, надо знать, что искать. Склад говорит, что у дока был статус "Оплачено" и они три дня собирали этот заказ. А оказалось, что тетя Глаша банк криво разнесла и оплата от ИП Пупкин разнесла на ИП Пупочкин, а потом исправила. Твоя история позволяет найти документ, который имел значение "ИП Пупкин" вчера? Или лишь позволяет просмотреть историю изменения данного объекта?
310 Drac0
 
27.10.14
13:39
(305) И я могу написать. И что? Это так или иначе будут костыли, с которыми потом придется бороться, а реализация будет все равно не сильно лучше, чем штатный ДС.
311 NS
 
27.10.14
13:39
(309) Если история сохраняется, значит по ней возможен поиск. Только не понял к чему эти вопросы, и какое они имеют отношение к организации регистра? Тем более миллион раз уже было сказано что нет никаких проблем при проведении каждого документа влияющего на статусы писать дополнительно куда тебе нужно сводный статус. Только чтоб его правильно получать - нужна правильная организация основного регистра.
312 NS
 
27.10.14
13:40
(310) Ничего не понял. Ты говоришь что проблемы с тормозами в ДС не решаемы. Я тебе говорю что даже если это так, я легко их решу написав свой журнал.
313 Drac0
 
27.10.14
13:42
(312) Средствами 1С? В 8.2-8.3 на управляемых формах со всем функционалом ДС? Ты искушаешь меня согласиться на твое предложение :)
314 Drac0
 
27.10.14
13:43
(311) "писать дополнительно куда тебе нужно сводный статус" Т.е. будут два регистра - Статусы и История статусов?
315 NS
 
27.10.14
13:44
(313) Средствами 1С, с необходимым пользователю функционалом, а не со всем функционалом ДС.
Можно и весь накрутить, только зачем?

Я честно говоря потерял нить. Ты что пытаешься доказать?
Например в (304)?
316 NS
 
27.10.14
13:46
(314) Еще раз - основной регистр это РС с регистратором с измерениями <объект> (у ТС это документ) и вид_статуса и с ресурсом Статус.

Второй - структура на твой выбор, в которую ты будешь писать актуальное значение сводного статуса по объектам которые участвуют в движениях документа. Любая.
У тебя же есть предложения как сделать быстро, на какой структуре? В ту и пиши.
317 Drac0
 
27.10.14
13:47
(315) Сам уже запутался. Главная мысль, что удалять движения по статусам при удалении проведения документа - не хорошо.

"Средствами 1С, с необходимым пользователю функционалом, а не со всем функционалом ДС." Ок, достаточно только кнопки "Настроить список..."
318 DosBot
 
27.10.14
13:48
РС:
Измерения:
- Заказ
- ТипСтатуса (справочник??)
- Значение статуса (СтатусыДокументов, Родитель - спр. ТипСтатуса)

Документ двигает РС только по изменённому статусу и его типу...
не? )
319 NS
 
27.10.14
13:48
(317) По другим регистрам у тебя такое-же мнение? То есть подход 1С в принципе неверен?
Я же написал - без проблем делается история изменений. Полная. С необходимыми отчетами, отборами и т.д.
320 Drac0
 
27.10.14
13:49
(316) Второй ты подразумеваешь периодический или нет?
321 NS
 
27.10.14
13:49
(318) Да.
Только обязательно с регистратором / автоматическим удалением движений.
322 NS
 
27.10.14
13:49
(320) Нет конечно. Зачем периодика на актуальное значение?
323 Drac0
 
27.10.14
13:50
(318) "Значение статуса" в измерения. Хитро.
324 Drac0
 
27.10.14
13:50
(322) Тогда где ты получишь информацию, что три дня по этому докумету стоял статус "Оплачено" ,а потом пропал?
325 DosBot
 
27.10.14
13:51
Значение статуса - ресурс, блин...
326 NS
 
27.10.14
13:51
У тебя же во всех отборах, в показе журнала - нужно только актуальное значение. Историю движения мы можем взять из основного РС.

Кстати, насчет истории - никто не мешает ошибки сторнировать тем-же документом "ИзменениеСтатуса", и все изменения будут задокументированы. Но ей богу это совершенно неудобно.
(323) Это скорей всего опечатка. Конечно-же ресурс.
327 NS
 
27.10.14
13:52
(324)  В истории изменений конечно.
328 Drac0
 
27.10.14
13:52
(319) Котлеты отдельно, мухи отдельно. Здесь интересна вся история объекта с ошибками, изменения, переделками, погонями, предательствами.
329 NS
 
27.10.14
13:53
(328) Правильно. Котлеты (регистр по статусу) отдельно, мухи (история исправлений) отдельно.
330 NS
 
27.10.14
13:58
+ (329) Ровно так-же как и по всем другим регистрам в 1С.
331 NS
 
27.10.14
13:59
+ (327) У меня история по видам документов делается на точной копии этого документа в метаданных. И итоге любая отчетность по изменениям легко собирается.
332 Drac0
 
27.10.14
13:59
(329) Нам нужна не история документа "Платежка" ,а история статуса документа "Заявка". Разные же вещи.
333 Drac0
 
27.10.14
14:00
(331) Я уже догадался.
334 NS
 
27.10.14
14:02
(332) Не получится подколоть :)
У меня документы по которым платеж делает движения собираются в табличной части платежки/строкивыписки :)  И так-же легко собирается в отчете.
335 Drac0
 
27.10.14
14:03
(334) Т.е. регистры?
336 RedHotExpert
 
27.10.14
14:07
(0)пригласите специалиста
вы там всё равно сами ничего сделать не сможете
два года и опять статусы
337 NS
 
27.10.14
14:13
(335) Какие регистры? История изменений строки выписки и платежки содержит табличную часть, в которой есть оплаченные документы.

Но если у тебя все изменения статусов делаются документом изменения статуса, и сохраняется история изменения документа "изменение статуса" - то тут уже совсем просто выцепляется полная история изменений статусов.
338 RedHotExpert
 
27.10.14
14:15
(337)продолжаю в вашем стиле мыслить:
нужно использовать бизнес-процессы
339 Drac0
 
27.10.14
14:16
(337) "Казалось бы, зачем было убивать убийцу убийцы..." Я боюсь представить размеры твоей базы, если для тебя хранить историю истории - это нормально.
340 NS
 
27.10.14
14:16
(338) Зачем?
Превратили простейшую задачу простейшего регистра в невесть что.
341 NS
 
27.10.14
14:18
(339) История истории это как? У меня история истории не хранится. У меня хранится только история изменения документов. Причем нагрузку на базу это практически не дает. Да, чуть пухнет 1SJourn, но естественно исправлений документов на порядок меньше чем самих документов.

Ты немного странный, то говоришь что нужна история изменения документов, то считаешь ненормальным хранить историю изменений в удобном для сбора отчетности по ней виде.
342 RedHotExpert
 
27.10.14
14:18
да... уж...
ни статусы ни бизнес-процессы не заменят вам мозг
ошибка начинается с того что документ не имеет статуса
документ сам отражает изменения статуса некоего объекта
а вы просто сделали решето и обеспечили себя работой по затыканию дыр
343 Drac0
 
27.10.14
14:19
(337) Что у тебя с блокировками будет, когда 10 документов (по нескольку тысяч в день каждого) столкнуться в одной таблице документа "Изменение статуса"?
344 Drac0
 
27.10.14
14:22
(341) Что странного в желании не городить огород из нового документа, документа, дублирующего его, для хранения изменений, регистра статусов, отчет по истории документа, чтобы вынуть фактическую историю статуса объекта, а сделать это одним регистром?
345 NS
 
27.10.14
14:22
(342) Расскажи это бухгалтерии, которая например уверена что у любого первичного документа должен быть статус "принят бухгалтерией".
(343) Можно поподробней? Документ "ИзменениеСтатуса" - самый быстропроводимый в системе. Что значит столкнуться в одной таблице? Ничего что в семерке все документы сталкиваются в одной таблице?
346 RedHotExpert
 
27.10.14
14:22
а теперь вместо ремейка технической части исполнения запросов    
хотите чтобы за вас придумали как вам ускорить ваше болото
т.е. опять переделывать искусственное болото, было вдоль, станет поперек. главное чтобы учредитель верил что несколько десятков статусов это ахренеть как тяжело для скульного движка )))
347 NS
 
27.10.14
14:23
(344) Опиши схему. Особенно как ты присваиваешь старый статус на позицию документа при отмене проведения.
348 RedHotExpert
 
27.10.14
14:26
(347)это вы должны схему описать
если вы поняли что с этого следовало начать это уже хорошо
пока вы (342) не осознали вы будете высмеивать советы
какой смысл вам подсказывать.
а поймете так и сами догадаетесь )))
349 Drac0
 
27.10.14
14:27
(345) да, ты прав, идет тупо добавление записи. Блокировок 0. (347) Я не присваиваю старый статус, я присваиваю новый. По оплате это может быть не бинарное "Оплачено"/"Не оплачено", а "Не оплачено"/"Внесен аванс"/"Оплачено". При отмене проведения  достаточно рассчитать этот флаг (копейки по времени), и записать. И позиция документа тут при чем? У меня будет РС без регистратора.
350 NS
 
27.10.14
14:29
(349)
Для примера. У нас
Док1 делает статус Объекта1 - Статус3
Док2, который идет за ним делает статус Объекта1 - Статус2.
Сначала док2 сделали непроведенным.
...
А теперь немного усложним. После этого В Док1 изменим статус Объекта1 на Статус3.
...
Что у тебя в регистре? Каким кодом ты этого добился?
Как ты узнал новый статус?

(348) Э. В пьяном виде не надо разгуливать по форумам.
Во первых ТС не я, во вторых свою схему я описал уже давно. Простая удобная и прозрачная схема.
351 NS
 
27.10.14
14:29
(349) Будет? Я правильно понял? Будет? Не сделано, а будет?
352 NS
 
27.10.14
14:30
То есть ты даже примерно не представляешь какие подводные камни могут возникнуть, ни разу со статусами не работал?
353 Drac0
 
27.10.14
14:32
(351) Было бы для этой задачи. А для других задач по статусам уже сделано без регистратора. Но у меня не столько объектов пересекается, а где много участников удачно легли бизнес-процессы.
354 Drac0
 
27.10.14
14:32
(350) перепиши без опечатки.
355 supremum
 
27.10.14
14:34
(304) В моем случае такая работа останется в системе, т.к. по ней шли телодвижения и были потрачены ресурсы. Но в состояние перейдет "Отменена".
356 Drac0
 
27.10.14
14:36
(355) У тебя же пропадают движения сделанные регистратором при отмене проведения? Где фиксится это состояние?
357 supremum
 
27.10.14
14:37
(342) Работать нужно по правилам, но не все случаи правила вместить в себя не могут, вот для этого нужен руководитель процесса, который сможет принять решение по ситуации выходящей за пределы правил..
358 supremum
 
27.10.14
14:38
(356) Тут нужно определится с причиной. Если это ошибка пользователя мне не интересно их хранить, нет управленческой установки контролировать коллизии ошибок ввода при регистрации данных.
359 supremum
 
27.10.14
14:39
+(358) Если процесс переходит в другое состояние, то это состояние мы фиксируем и получаем историю изменения состояния процесса.
360 Drac0
 
27.10.14
14:41
(358) 0_о Три дня склад пашет, т.к. тетя Глаша выписку криво разнесла, и это не интересно?
361 supremum
 
27.10.14
14:43
(360) Нет.
362 NS
 
27.10.14
14:44
(353)
Док1 делает статус Объекта1 - Статус3
Док2, который идет за ним делает статус Объекта1 - Статус2.
Сначала док2 сделали непроведенным.
После этого В Док1 изменим статус Объекта1 на Статус1
363 Drac0
 
27.10.14
14:45
(361) А если она ошибается раз в неделю и ее стоит уже отправить на пенсию? Удивительные вы люди. Можно к вам устроиться на клиент-банке посидеть? :)
364 supremum
 
27.10.14
14:46
(360) У меня будет начат процесс, потом он перейдет в состояние "отменен" (прекращен и т.д.), но история старта работы процесса и переход его по состояниям будет сохранен.
365 NS
 
27.10.14
14:47
+(362) Для начала что у тебя будет в регистре, а потом еще объясни какими алгоритмами ты этого добьешься.
366 NS
 
27.10.14
14:47
(362) -> (354)
367 supremum
 
27.10.14
14:49
(363) Есть владелец процесса. Есть связи между процессами. Если из-за ошибок в процессе 1 стартует процесс 2, то зная владельца первого процесса у руководства будет вся необходимая информация для принятия управленческого решения.
368 Drac0
 
27.10.14
14:52
Период ЗначениеСтатуса Основание Комментарий

01.01.01 Статус3 Док1 ""
02.01.01 Статус2 Док2 ""
03.01.01 Статус3 Док2 "Отмена проведения. Оператор да.ун."
04.01.01 Статус1 Док1 "Я этому да.уну больше не дам на проверку".

На третьем шаге возвращаем прошлый статус. На четвертом пишем новый.
369 Drac0
 
27.10.14
14:52
(367) Откуда у владельца первого процесса вся информация? Он в блокнотик записывает текущие статусы?
370 supremum
 
27.10.14
14:55
(369) У него должна быть полная информация для выполнения своей функции.
371 Drac0
 
27.10.14
14:56
(370) А еще не должно быть войн, все детки должны быть здоровы, а люди счастливы. Твоя система дает ему информацию. Где она?
372 supremum
 
27.10.14
14:58
(371) Слишком абстрактный вопрос. Ты должен определится что ты хочешь от системы и что тебе нужно для этого. Только тогда можно будет ответить на вопрос что мы можем от нее получить.
373 Drac0
 
27.10.14
15:00
(372) Мне надо знать, какие изменения статуса были у документа и кто их сделал. Желательно еще как (либо док основание, либо комментарий из обработки).
374 supremum
 
27.10.14
15:01
(373) Ну так в чем проблема? Тут уже полностью этот вопрос со всех сторон обсудили.
375 Drac0
 
27.10.14
15:02
(374) но ты говоришь ,что если отменят проведение документа, то его движение по регистру статусов тоже пропадет.
376 supremum
 
27.10.14
15:05
(375) И что?
377 supremum
 
27.10.14
15:06
(375) Другие связанные процессы никуда не денутся. И история по ним сохранится, а если он удалит, то будет разрыв связи.
378 Drac0
 
27.10.14
15:06
(376) И где я получу информацию, что этот статус был установлен этим документом?
379 NS
 
27.10.14
15:07
(368) А теперь набросай алгоритм которым ты этого сможешь добиться.
И на всякий случай третьего числа добавим последним документом Док3, который объекту1 ставит статус4, и был проведен этот документ третьего числа.

На самом деле я уже отлично вижу что рабочей схемы у тебя просто нет.
380 Drac0
 
27.10.14
15:15
(379) У тебя нет задания ,а ты хочешь решение. Кто, когда, в какие статусы, при каких условиях может проводить? Аналогично можно и тебе дать порешать такие задачи. Особенно весело будет, когда у непроведенного документа тоже будут статусы :)
381 supremum
 
27.10.14
15:16
(378) Если документ распроведен, значит фактов по нему в реальности нет, с точки зрения системы. Но если при этом он введен на основании другого документа, и он же является основанием для третьего документа, то тут будет разрыв связей между документами (процессами). Такие ситуации возможны, фиксировать историю изменения таких связей не вижу.
382 NS
 
27.10.14
15:20
(380) Задание явно есть. Есть документы которые меняют конкретные статусы конкретных объектов. Реализовать получение актуального статуса. Естественно документы могут изменяться и делаться непроведенными.

У тебя есть идея - совместить историю изменения и получение самих статусов, но нет рабочей реализации. И не будет, ибо это задача не имеет хорошего решения за константу по времени проведения.

Это в твоем решении не проведенный документ делает движения по статусам, а в нормальном учете не проведенный документ не должен делать движений.
383 supremum
 
27.10.14
15:22
+(381) не вижу потребности.
384 Drac0
 
27.10.14
15:25
(382) Вот тебе пример:
есть заказы, которые собираются в спецификацию. Пока спецификация не проведена ,с ней работает, скажем, Оператор. У документа есть статусы в этом состоянии: "Поступила к Оператору", "В работе у оператора". Когда Опреатор закончил оформление,  он проводит документ, чем отправляет его в следующий статус и идет уже по цепочке. Но он может вернуться в статус "Поступил к Оператору", если возникла необходимость переделать эту спецификацию. Вот тебе статусы непроведенного документа.
385 Drac0
 
27.10.14
15:28
(383) ИМХО, до первого требования такую информацию предоставить.
386 Гёдза
 
27.10.14
15:30
не нужно пугаться левого соединения по индексу. Эта операция совсем не сложная.
387 NS
 
27.10.14
16:38
(384) При чем тут это?
Я говорю что документ изменяющий статус, не должен формировать движения если он не проведен. А не про проведенность "объекта" Статус которого мы отслеживаем.

Если мы изменяем статус самим документом спецификация, то соответственно должен быть проведен он. Если у тебя возникают потребности в движениях непроведенного документа - значит ты неправильно организовал учет.
388 rsv
 
27.10.14
16:51
(0) Имха продолжить путь по пути запроса . Его надо упростить  скорее и оптимизировать.
389 rsv
 
27.10.14
16:53
+(388) По сути регистр уже  есть - набор таблиц документов (статусов) где хотя бы одно поле - ссылка на  уитываемый документ.
390 rsv
 
27.10.14
16:54
Городить нормализацию  всегда можно успеть.
391 Drac0
 
27.10.14
20:37
(387) Не надо всех под одну гребенку. Это у тебя статус документа движение, а у меня это состояние документа. Проведенного, непроведенного, помеченного на удаление. Бизнесу важна история этого документа. Важны моменты и периоды переходов.
392 Drac0
 
27.10.14
20:37
(389) у него нет регистра.
393 NS
 
27.10.14
20:50
(391) Ты чего-то недопонимаешь. У всех статус - это состояние. И естественно у меня в том числе статус это состояние документа. Проведенного, не проведенного, помеченного.
О чем я уже писал в этой ветке. В последний раз не далее как в том посте на который ты отвечаешь. (387)
394 Drac0
 
27.10.14
20:54
(393) У нас с тобой спор в другом: нужен ли регистратор всегда или ИНОГДА это будет абсолютно искусственная сущность, которая не нужна.
395 NS
 
27.10.14
21:05
(394) Ты то говоришь о полном хранении историй, то говоришь что документы не нужны :)
Одно из двух - либо у тебя полная анархия с ручными изменениями статуса, либо у тебя всё делается документами.
В анархии история не нужна.
396 Bww_
 
27.10.14
21:05
Твои 10 одновременно разных статусов это 100 записей одного справочника в различных вариациях - и тогда да - это можно "вкарячить" в исходный документ.
Но собственно и мысль об РС с ключом "документ+статус" не плоха.
397 Bww_
 
27.10.14
21:06
Сори.
Далее тему не читал. По видимому - все не так однозначно :)
398 NS
 
27.10.14
21:07
А хранение истории движений в самих движениях - даже не знаю как назвать...
Утопия например. Наверно такой эпитет подходит. Как я уже говорил - приведенная тобой выше схема абсолютно нерабочая.
399 NS
 
27.10.14
21:13
А решение красивое четкое было предложено давно. РС с регистратором (ну или РН с пустым ресурсом), все движения спец. документами, и ведение истории изменения документов.

Вышеприведенный аргумент с распуханием базы от истории - несостоятелен, так как я уже говорил - например у нас в день 10000 новых документов, и всего порядка сотни исправлений. То есть история это 1% от общей базы.
Получается у тебя и полный контроль, и любая отчетность по изменениям, и быстрое проведение, и быстрое получение актуального статуса. Хочешь еще ускорить - продублируй актуальное значение.
400 NS
 
27.10.14
21:14
Естественно исправления в нормальной системе должны разрешаться только в случае ошибки. В остальных случаях создаются новые документы.
401 Ник080808
 
27.10.14
21:51
Все не читал. Вариант простой рс периодический подчинен регистратору. Измерение документ вид статуса (справочник виды статусов) и ресурс - значение статуса. Все.
402 Drac0
 
27.10.14
22:15
(395) Блин, забавно. Ты добавляешь к моим словам свои домыслы, а потом говоришь, что фигня получается. Это как добавить в манку вкуснейшего ядреного хрена и сказать, что фигня твоя манка с хреном :)
403 NS
 
27.10.14
22:16
(402) Вроде как наоборот - ты добавляешь к моим словам свои домыслы :)
Например чего стоит пост (391)
404 opty
 
модератор
27.10.14
22:17
Кхм ... Не ссортесь
405 NS
 
27.10.14
22:17
(402) Хорошо. Давай иначе - в каком случае к движению (изменению) статуса не нужен регистратор?
406 Torquader
 
27.10.14
23:13
Ребята, начнём с того, вы путаете оперативную работу и бухгалтерский учёт.
С точки зрения бухгалтерского учёта действительно не должно быть непроведённых документов и каких-то следов от них в базе.
А вот когда мы ведём оперативный учёт, то как раз у непроведённых документов и будут статусы, так как проведённые документы чаще всего будут считаться завершёнными.
Что касается установки статуса отдельным документом, то, это, наверное, лишнее, так как получается, что кроме самого статуса ещё и ведутся записи в таблицу документа.
С другой стороны, статусы может ставить как пользователь (тогда нужно запомнить момент установки), так и сама система, когда выполняет какой-то алгоритм по изменению статусов.
Кстати, если кто-то боится, что статусы могут тормозить и мешать, то можно сделать отдельное регламентное задание, которое меняет статусы по заранее заложенному алгоритму.
Тогда ошибка "тёти Маши" будет выглядеть как корректировка документа выписка с причиной "Ошибка ввода" после чего система проведёт анализ и расставит статусы документов, а также может сделать сразу вывод о потерянном из-за ошибки времени и затраты на устранение ошибки - товар-то могли и отгрузить.
407 NS
 
27.10.14
23:18
(406) конечно же у непроведенных документов есть статусы, которые им присваиваются другими, проведенными документами.
408 NS
 
27.10.14
23:19
мы похоже по кругу идем. Обсуждается уже в который раз очевидное и необсуждаемое.
409 opty
 
27.10.14
23:19
(406) Кхм , кхм .

В оперативном учете не волнует непроведенный документ (если данный тип ДОЛЖЕН формировать движения)

Мусор периодически идущий на удаление , его статусы интересны с точки зрения истории , например при разборках почему данный документ был распроведен .
410 NS
 
27.10.14
23:21
(406) насчет установки статусов отдельным документом.
Еще раз рассказываю - берется пачка из сотни документов, забивается в ОТДЕЛЬНЫЙ документ сканером штрихкодов, в шапке проставляются новые стутусы, и документ, отдельный документ который ты считаешь лишним - проводится.
411 NS
 
27.10.14
23:24
(410) в день у нас таким способом получают статусы тысячи документов :)
как я уже говорил штрихкодировано практически все, включая входящие документы и чеки.
412 NS
 
27.10.14
23:29
(409) движения удаленного документа (не движения созданные документом, а именно движения документа по бизнесс-процессам, естественно сам удаленный документ движений у нас не создает) как раз очень важны. например помеченная на удаления реализация - это отказ, но по нему проводились работы. в каком объеме были произведены работы, на каком этапе произошел отказ - вся эта статистика у нас собирается.
413 Torquader
 
27.10.14
23:36
Ладно, про вопрос "больших данных" можно и не вспоминать.
Анализ того, что было, можно вести отдельно от основной базы.

На самом деле, в 1С плохо то, что всё вообще идёт "от документа".
На самом деле, все действия должны идти "от события", то есть в вашем случае, когда сканируется документ, то система должна понимать, что с таким документом что-то произошло - например - вернулся подписанным от поставщика и т.п.

Но 1С событийную модель пыталась воплотить только в бизнес-процессах и не до конца понятно, так как для событийной модели нужны совершенно другие подходы - там вообще нет понятия "распроведён" или "отменён" - объекты под действием событий переходят из одного состояния в другое.
414 opty
 
27.10.14
23:40
(412) Ну у меня то же . Отчасти , с не очень большой детализацией , но в общем пока хватает .

Но это реализована как расширенное логирование действий - правки , изменения значений реквизитов и табличных частей (кстати и изменение статуса являющегося реквизитом дока туда попадает) .

Но собственно статусы это другое , у нас они служат для получения очень быстрой оперативной информации по документу (списку документов)

И да , я знаю , идет дублирование данных :) Но скуль тянет :))
415 NS
 
27.10.14
23:40
(413) в этом событии кроме возврата от поставщика еще куча параметров, которые куда-то должны быть забиты. С какими параметрами вернулся, какого числа и в какое время, в какой отдел, с какими статусами, кто документ обработал и т.д. По всем этим данным нужно собирать отчетность, эти данные, так же как и содержание табличной части может быть подвержено ошибкам, и нужно иметь возможность эти данные легко и быстро исправить, возможно с сохранением истории изменений.
Нормальное решение - эти параметры попадают в шапку документа изменяющего статусы, который в свою очередь делает соответствующие движения регистров.
416 opty
 
27.10.14
23:41
(413) >На самом деле, в 1С плохо то, что всё вообще идёт "от документа".<

А по моему хорошо :)
Но спор на эту тему уведет ветку в обсуждение глубоких теоретических эмпирией что станет офф-топом
417 Torquader
 
27.10.14
23:46
(416) От документа - это бухгалтерский учёт, предполагающий, что можно как провести документ, так и просто откатить его назад. Из-за этого есть куча геморроя, когда рассчитывается себестоимость и т.п.

(415) А кто мешает все данные хранить в самом событии ?

Нет, я, конечно, не будут спорить, что разбирать входящую корреспонденцию можно документом, где в табличной части полученные письма, а в шапке - информация, кто и когда.
Но к статусам это имеет опосредованное отношение.
418 NS
 
28.10.14
00:00
(417) А кто мешает считать документ изменяющий статусы "событием"?
Причем тут входящая корреспонденция? Тут идет сортировка документов по отделам и статусам. Идет документ (заявка покупателя) в сборку? Отсканировали его в табличную часть документа "Сборка", у которого еще куча параметров в шапке. Попала накладная в машину, есть соответствующий документ, у нас называется "Товарный отчет" (ну можно называть путевым листом, или еще как-нибудь, это неважно), в табличную часть которого сканируются документы. И у него тоже куча параметров в шапке. И т.д.
419 Torquader
 
28.10.14
00:01
(418) Как бы, получается, что то на то и выходит, только я бы несколько событий в один документ не стал бы объединять, так как потом проще понять, что было, когда каждое событие описывает только один объект.
420 NS
 
28.10.14
00:07
(419) То есть накладные которые мы собираем в одну машину - не надо объединять в табличной части одного документа?
Или если водитель привез пачку "правильно" оформленных документов без претензий - их не надо объединять в одном документе "изменение статуса"? Или сборщик физически собирает пачку заявок - их не надо объединять в документе "сборочный лист"? А если мне нужно распечатать  товарный отчет, сборочный лист и т.д. естественно опять-таки с штрих-кодом для легко поиска в дальнейшем? Это тоже не аргумент?
А что ты предлагаешь? Какие ваши предложения? :)
421 Злопчинский
 
28.10.14
00:16
(416) это однозначно плохо. особенно в оперативном учете. в бухгалтерии это канает т.к. бухия только фиксирует что-то - эту схему тупо перетащили на ОУ.
.
например: почему в куче контор сталкиваешься с прямо-таким нечеловечесикм сопротивлением манагеров в части например обработки заявок? они все колотят задним числом в одну и ту же исходную заявку. Потому что для них "заявка" - это процесс обслуживания клиента. а система корректировки заявок (попытка нарисовать такой процесс через оформление документов, на примере ТИС) - выносит им мозг напрочь. Потому что даже тривиально - когда работая по схеме "корректировки заявок" - манагер в одном дне видит несколько заяовк от одного клиента с разными сумамми - он просто теряется. потому что это противоречит его "логике" - и здесья с манагером кардинально согласен. В итоге: пришлось делать дополниетельный нумератор и внедрять его взаявки - то есть сугубо "номер  сделки" - этот номер идет красной нитью в обслуживании заявки клиента. и манагеру показывать только текущее состояние заявок, пряча псевдореализацию процесса некими оторванными от реальности "документами".
422 NS
 
28.10.14
00:18
В каждом событии мы отдельно будем забивать одно и то же время, одну и ту-же смену, одного и того-же сборщика, одного и того-же водителя, одинаковый статус и местонахождение? Потом сделаем какой-нибудь изврат типа отчета вместо журнала для их совместного отображения, напишем обработку которая их соберет в отдельную печатную форму. Естественно будем вместе собирать во всех отчетах, в расчет производительности труда, выполненной работы и зарплаты.

А не проще ли их, раз этот набор документов имеет большую общую шапку, печатную форму, и по сути является отдельным учетным внутренним документом - не проще ли просто взять, и объединить их в один документ? Один раз забить шапку, и просто отсканировать их скопом в табличную часть?

(421) У нас нельзя править заявку - точнее исправление заявки - это исправление, ЧП, с фиксацией исправления, и записью в историю. Если была предварительная заявка - то такой документ и делается, и дальнейшие изменения вводом на основании.
423 Torquader
 
28.10.14
00:19
(420) Зачем объединять накладные в один документ, если в событиях будет сказано, что их поместили в одну машину, причём, не факт, что все три и сразу - а если маршрут и загрузку выбирала сама система, то она просто покажет результат и будет отслеживать, что это выполнили.

Если работник собирает сразу три накладных, то или он их собирает по порядку или мы вообще пишем в событие подбор каждого товара - например - если у нас адресный склад, то нам потом будет очень интересно узнать, что собирается вместе, чтобы оптимально расставлять предметы по складу и уменьшать время хождения.
424 Злопчинский
 
28.10.14
00:20
(420) у мну заявки на отгрузку (реализации) в одну машину - объединяются в "отгрузочные листы" по машинам. Причем в листы отгрузки идут не сами заявки, а уже сгруппированные в путевые листы или в Транспортные накладные. Причем в ТН или ПЛ может быть как одна заявка, так и несколько. У меня так вот.
425 Torquader
 
28.10.14
00:21
(422) Время будет не одно и то же - у все документы в одну секунду не сосканируют, а вот все остальные реквизиты просто собираются в пакет реквизитов и будут записаны как ссылка на этот пакет, так как компьютер, например, и оператор не так часто меняются, а событий у нас будет много.
426 Злопчинский
 
28.10.14
00:21
(423) > если в событиях будет сказано, что их поместили в одну машину,
- как конкретно ты это скажешь событием?
427 opty
 
28.10.14
00:22
(423) В документе расписывается водитель и экспедитор как МОЛ , данный документ не просто "событие" , это документально зафиксированный факт передачи материальных ценностей со склада в транспортный отдел
428 Torquader
 
28.10.14
00:23
(426) Таки у меня в модели есть объекты, и связи между ними, а события меняют связи и данные объектов.
Причём, связь не удаляется, а просто делается недействительной.
429 NS
 
28.10.14
00:23
(423) В каких событиях? Ты каждый раз будешь выбирать машину? Вместо того чтоб один раз выбрать машину, а потом пройтись сканером, ты сделаешь выбор машины при каждом сканировании документа? Боюсь что за это тебя уволят.

Система? Пока AI не дорос до того чтоб лучше человека составлять маршруты и правильно распределять накладные по машинам, и естественно это делается в полу-автоматическом режиме. И почему три? Намного больше накладных влезет в машину.

(425) Водитель. Привез документы. В одно время. Он их привез не в момент сканирования. Есть время прибытия водителя.
430 Злопчинский
 
28.10.14
00:23
буду штудировать ветку.
потому у меня как на носу вот-вот - выбор как делать тотальный контроль прохождения доков. от момента выдан водителю до момента "закрыт бухгалтерией". пок анепонятно - нжна ли будет "история" прохождения дока или будет достаточно знать где док находится сейчас - не думал еще сильно над задачей.
.
поэтому ветка пригодится в хозяйстиве
431 Torquader
 
28.10.14
00:24
(427) Так этот бумажный документ может быть и отчётом по базе. В момент передачи мы фиксируем что передали и кому.
432 NS
 
28.10.14
00:25
Заполнение шапки - 10 секунд. Сканирование 20 документов - 10 секунд. Итого 20 секунд на заполнение документа.

При выборе шапки в каждом событии - 20*10=200 секунд. В 10 раз больше. Потребуется взять на работу в 10 раз больше сотрудников. Извините, но у нас и так огромный отдел логистики.
433 opty
 
28.10.14
00:25
(430) Ну вот такой контроль у меня и реализован на уровне "логистических статусов"
434 Torquader
 
28.10.14
00:26
(429) А кто сказал, что вообще что-то будет выбираться ?
Водитель привёз документы и сдаёт их, при этом идентифицируется как сам водитель, так и тот, кто принимает.
А уж как эти документы будут передаваться - это уже дело десятое. Главное, что никто не заставляет закрывать форму, пока всё не будет введено.
Плюс бонусом будут события - "начат приём документов" и "окончен приём документов".
435 opty
 
28.10.14
00:27
(431) "отчет по базе" как говорится к делу не пришьешь :)

Хозяйственные операции должны "квантоваться" , документ и есть такой квант
436 Злопчинский
 
28.10.14
00:28
вы все дятлы.
надо остановиться и подумать всем.
и еще раз обсудить. в т.ч. подумать что надо обсудить
437 Злопчинский
 
28.10.14
00:29
(435) угу, только у нас произошла подмена понятий. документ должен рождаться в ИТОГЕ выполнения некой цепочки действий. а не наоборот.
438 Torquader
 
28.10.14
00:29
(435) Документ - это отражение бумажной реальности - он, в данном случае, необходим, но никто не говорит, что мы просто будем рассматривать документ "как есть", у нас будет и история его ввода, разбитая на события, причём если потом будет привязка видеонаблюдения, то будет ясно к чему, а что можно привязать к просто документу ?
439 NS
 
28.10.14
00:29
(434) То есть всё будет забиваться в одну форму, но это не будет один документ?
В журнале он будет идти одной строкой, но это не будет один документ?
Он будет иметь свою, отдельную печатную форму, но это не один отдельный документ?
В отчетах он будет идти отдельной строкой, но это не документ?
Мне не кажется что ты хочешь поставить всё с ног на голову?
440 NS
 
28.10.14
00:30
(438) У меня привязывается видеонаблюдение и телефонные разговоры. А что? Правда видео пока в тестовом режиме, на одном компе.
441 Torquader
 
28.10.14
00:31
(439) В журнале действий будет не одна строка, так как событий было много. А в отражении списка полученных документов, подписанных передающим и принимающим - это будет один документ, точнее таблица, которую они подписали.
442 Злопчинский
 
28.10.14
00:32
.. например, в той же ВМС - может запросто не быть документа "задание на отбор из ячейки" - бо (в зависимости от реализации) - из какой ячейки что отобрать - может решаться по факту (а не заранее по плану - с этим кстатиу меян на ВМС куча проблем) - отобрали ячейку - вот тут в "документе" зафиксировался результат отбора. и быстро просчиталось - какая следующая чейка идти отбирать. а когда заранее оформляются какие-то "документ" - все получается плохо.
443 opty
 
28.10.14
00:32
(437) Есть документы которые ПОРОЖДАЮТ цепочку действий (событий , других документов , фактов обработки который учитываются статусами и т.п.) , есть документы которые ПОДТВЕРЖДАЮТ выполнение некоей хоз операции , или факта
444 NS
 
28.10.14
00:32
(438) У меня есть история изменений. Документа! Одного, с кучей первички в табличной части. И журналируются критичные ситуации во время ввода.
445 Злопчинский
 
28.10.14
00:32
(439) в самом общем случае - документ состоит или только из шапки или из одной строки.
446 Torquader
 
28.10.14
00:33
(443) Начнём с того, что у людей считается, что документ - это печатная форма, где ставят подписи, что есть в базе их просто не интересует.
447 NS
 
28.10.14
00:34
(441) Ты всё ставишь с ног на голову.
В любой учетной системе набор событий объединенных общей записью называемых шапкой - называются документом.

Ты только что говорил что мы сделаем без документа - так что не надо приводить всё опять к документу.
448 Torquader
 
28.10.14
00:34
У документа есть одна дата - то есть момент подписания, всё, что было до или после - это уже вне документа.
449 NS
 
28.10.14
00:35
(446) Есть два понятия документа.
1. в (447)
2. Печатная форма.

В данном случае документ имеет оба признака документа, более того к нему привязывается, как к единому документу еще куча событий - например совместное проведение, совместное отображение (в журнале и отчетах), привязка разговоров, видео и истории изменений.
450 Злопчинский
 
28.10.14
00:36
(446) это зашибись когда документооборот - 30 доков в день (да и тут пипидастры косячат). При больших объемах - никто не будет ставить и печатать мегапростыни. Подписывание таких мегапростыней - чистая профанацимя, ибо их никто не смотрит. ибо некогда/невнятно большйо объем.
и тут наличие дока в базе - без печатной формы - уже является сушщественным фактом. (бухию сюда не приплетаем - эти пипидастры вообще отдельнйо жизньбю оторванной от реальности живут)
451 NS
 
28.10.14
00:36
(448) Ты хочешь на ходу придумать новое определение документа?
452 opty
 
28.10.14
00:36
(446) Документ МОЖЕТ иметь печатную форму . Документ это всего лишь квант фиксирующий или инициирующий (что не мешает эту инициацию зафиксировать) некие действия .
453 Torquader
 
28.10.14
00:36
(447) А кто сказал, что события будут объединены общей записью - передача может идти сразу нескольких документов по разным отделам, а также не только получение документов, но и выдача водителю новых. Соответственно, у нас будет два документа - один, что водитель сдал, а другой - что ему выдали, но процесс будет один - это общение с водителем - и все события должны быть привязаны не к документу, а этому процессу.
454 Злопчинский
 
28.10.14
00:37
давайте остановимся на простом постулате.
АВТОМАТИЗАЦИЯ ЕСТЬ ЗЛО.
455 opty
 
28.10.14
00:37
(454) ВЫДЫХАЙ !!! :)))
456 NS
 
28.10.14
00:38
(453) Можешь яснее выразить свою мысль.
Конкретный сотрудник может одновременно сканировать первичку в разные документы по разным отделам?
см. (429) и (432)
При этом количество ошибок станет просто зашкаливающим.
457 Torquader
 
28.10.14
00:38
(452) Если так подходить, то в базе вообще нет документов - есть только таблицы, в которые что-то пишется, и объектов там вообще нет - только байты.
458 NS
 
28.10.14
00:39
(457) К этому как раз склоняешь ты, придумав новую терминологию, обзывая стоки табличной части событиями. А шапку общей частью событий.
459 Torquader
 
28.10.14
00:40
(456) Я говорю о том, что есть некоторый процесс - в данном случае - сканирование документов, который имеет свои начало и конец, а также приводит к изменениям в базе данных.
460 Злопчинский
 
28.10.14
00:41
вы ударенные.
сотрудник сканирует пачку доков. в зависимости от ситуевины система ему говорит - налево, направо, посрередине. получается три стопки. отсканировал все - жмакнул кнопарь конец - получилось хрен его знает скольо надо документов отражающих сущнсоти стопочек.
461 opty
 
28.10.14
00:41
(457) Опят ты все с ног на голову переворачиваешь . Вот что бы ТАК не подходить к учетной системе (на уровне таблиц и байтов) и вводится понятие "документ" - набор событий и данных объединенных общей записью (с)
462 Reaper_1c
 
28.10.14
00:41
463 Torquader
 
28.10.14
00:41
Основная проблема 1С в том, что документ пишется в базу один раз - в конце его формирования. В случае некоторых сбоев и отказов, часть информации будет потеряна, когда мы переходим на события, то в базу пишется каждое событие, и ничего не теряется, а также нет пути назад, а документ можно закрыть и не сохранить.
464 NS
 
28.10.14
00:42
(459) Да, и этот процесс является по всем признакам отдельным документом, и удобней его хранить именно в документе в базе.
465 NS
 
28.10.14
00:43
(463) Все критичные документы у нас пишутся построчно.
И даже на наших объемах это ни капли не замедляет.
466 opty
 
модератор
28.10.14
00:43
СТОП !!!

Таки ветка скатилась в теорию рассуждений о том что такое документ , хорошо это или плохо и т.п.

Говорим о статусах документов !
467 NS
 
28.10.14
00:44
Критичные части, например история взвешивания по конкретному товару пишется во внешнее хранилище.
Так-же построчно.
Насчет сбоев - например какие? Что-то у нас при наших объемах массовых сбоев нет и не было.
468 Torquader
 
28.10.14
00:46
Ну мы и говорим.
Просто, простановка статусов документов, которые сканирует оператор, это вообще вопрос в себе - сканирует, то он не сами документы, а всего лишь штрих-коды на бумажках, из которых система понимает, что такая-то бумажка вернулась к нам назад, содержимое-то бумажки никто не проверяет.
469 Злопчинский
 
28.10.14
00:47
(465) нафиг писать документы построчно? проще писать документ из однйо строки = событие. "одинаоковые" объединять владелцем, указывающим на документ-шапку.
470 Злопчинский
 
28.10.14
00:48
> содержимое-то бумажки никто не проверяет.
никто не мешает в ШК зашить "подпись" документа. при сканировании ШК - ищем док в базе - сверяем "подпись" дока в базе и подпись из ШК - сошлось зхначит ок., не сошлось - кто-то что-то нахимичил...
471 Torquader
 
28.10.14
00:49
На самом деле, весь вопрос в хранении действий - у нас есть оперативная информация - это процесс ввода, а документ ли там вводится или что-то ещё - нам не суть важно - далее - есть результат ввода, оформленный в виде документа, по которому и будут проставляться статусы, и который потом уйдёт в долгую историю, а все действия будут хранится определённое время, чтобы можно было устроить разбор полётов.
Причём, даже, есть вероятность, что в итоге нам и сам документ уже не понадобится, если все бумажные документы вернулись подписанными, то их отражений в базе будут проставлены статусы "получен" и всё, больше ничего нам и не нужно.
472 Злопчинский
 
28.10.14
00:50
даже казалось бы такой простой вариант как статус документа = "распечатан" - реализуется с такими извращениями... что пока навскидку я не видел нормально реализованного получения ответа что документ отправленный на пчеать действиетльно распечатан.
473 Torquader
 
28.10.14
00:50
(469) Так я о том и говорю, что зачем что-то писать целиком, когда можно писать по частям.
474 Torquader
 
28.10.14
00:51
(472) Ну только если на выходе из принтера поставить сканер, да и то, есть вероятность, что как раз сканер его и зажуёт.
475 NS
 
28.10.14
00:51
(469) Чтоб в случае критической ситуации все строки сохранились. Восстановить взвешивания например достаточно серьезная проблема. Особенно если товар уже утащили на склад.
476 NS
 
28.10.14
00:52
(469) Ты уверен что проще? Я вроде написал что нагрузку на базу построчная запись документа не напрягает. А документ один - например Прием продукции, которые взвешивает конкретную накладную.
477 Torquader
 
28.10.14
00:53
К сожалению, 1С не умеет записывать документы по частям - она всё равно пишет всё и сразу.
478 NS
 
28.10.14
00:54
(472) Даже если вдруг окажется что документ не распечатан, то есть признак даст сбой (хотя это редкость, как правило принтер глючит редко, и даже если сглючил то сотрудник это видит, и посылает повторно на печать), это будет сразу замечено в интерфейсах рабочих мест, так как документ будет светится как не прошедший по цепочке.
479 NS
 
28.10.14
00:55
(477) И что? Ты сталкивался с тем что простая операция построчной записи вызывает тормоза?
480 Torquader
 
28.10.14
00:56
(479) Просто я видел документы, где более тысячи строк - тут уже начинаешь задумываться, стоит ли его писать при изменении каждой строки.
481 NS
 
28.10.14
00:56
+ (478) Заявка будет светится как не попавшая в сборочный лист. А чтоб её отсканировать нужно распечатать. Накладная как не попавшая в товарный отчет, а чтоб её отсканировать нужно распечатать.
482 opty
 
28.10.14
00:57
(478) Угу ++

По этому  это ставится в момент нажатия кнопки "Печать" или групповой обработки печати пачкой
483 NS
 
28.10.14
00:57
(480) В нормальной системе не должно быть документов на тысячи строк. Они нечитабельны, и их слишком сложно редактировать.
484 Torquader
 
28.10.14
00:59
(483) Ну вот мы к тому и приходим, что нечего держать всё в одном документе. А тысяча строк - это небольшая газелька с товаром по маршруту.
485 Torquader
 
28.10.14
01:00
Просто у нас получается, что газелька - это набор коробок, а их будет не так много, и документ будет отражать только какие коробки положены в газель, а сбор каждой отдельной коробки - это другие документы.
486 NS
 
28.10.14
01:01
(484) Если тысяча строк - то нечего. А если до сотни, а в среднем около 10-20, как у нас сделано - то не просто можно, а даже нужно.
Большие у нас только документы ввода остатков при обрезке - они разбиваются на части.
487 Torquader
 
28.10.14
01:03
Ладно - пора спать - всем удачи.
488 NS
 
28.10.14
01:05
Выписки огромные, но выписка собирается из отдельных документов "строк выписки" в системе. Объединяются действительно только формой. Ну тут еще есть одна причина - у строк выписки есть табличная часть. Необходим список документов погашаемых строкой.
489 Злопчинский
 
28.10.14
01:36
(483) нифгиа себе заява.. у меня заявки от клиентов на 700-800 строк - не редкость. бывают и более 1000 строк.
490 Злопчинский
 
28.10.14
03:15
(93) > Задача-таки не в том, как правильно организовать хранение статусов, а как организовать быстрый вывод их в ДС.
/
при большом колве документов вывод статусов в ДС не имеет смысла. ибо неясно какую КОНКРЕТНО задачу решает такой вывод.
491 Drac0
 
28.10.14
09:41
(405) Движение дока по бизнесс-процессу. Сейчас пишем небольшой блок по учету, согласованию и контролю входящей первички с помощью объекта бизнесс-процесс. Нам поставщик присылает документ. Этот документ поступает на согласование к экономисту. Ему создается задача (не документ, а объект бизнесс-процесса у которой два состояния "Выполнено"/не выполнено), после выполнения документ идет финансистам и логистам ,которым генерятся свои задания. После их выполнения документ идет дальше и потом процесс заканчивается. Так вот. Здесь нет документов регистраторов. Здесь даже регистров нет. Но есть жесткая, регламентированная последовательность движения документа по статусам (этапам бизнесс-процесса). Здесь можно сделать документы-регистраторы, но есть вопрос: НАФИГА они здесь?
492 Drac0
 
28.10.14
09:42
(489) У него все, что не соответствует учеты в ЕГО компании априори бред и бесогонство :)
493 User_Agronom
 
30.10.14
14:14
(491) Собственно это интересно.
Если нужно отслеживать этапы прохождения некого набора событий насколько удобно использовать бизнес-процесс
Ошибка? Это не ошибка, это системная функция.