Имя: Пароль:
1C
1С v8
Философия документа
0 jsmith82
 
20.09.11
10:14
Добрый день, господа.
Наверно, многие из вас встречались с проблемой, когда нужно изменить реквизит документа, не связанный с его движениями, но нельзя этого сделать, не проведя документ заново. Проблему решает запись документа в режиме "ОбменДанными.Загрузка = Истина". Но это не концепция.
Прочитал, что в Axapte документ вообще и не документ вовсе: после разноски документа по проводкам, документ можно теоретически удалить.
Хочу максимально отделить движения документа от прочих реквизитов. Например, 2 закладки: одна для реквизитов движения, другая - для прочих информативных реквизитов типа Вх. номер, вх. дата, комментарий, проч. Грубо говоря, можно их вообще закинуть в регистр сведений "РеквизитыДокумента<ИмяДокумента>", но раз есть возможность записывать в режиме загрузки, ладно уж.
Проблема встала на реквизитах контроля оплаты заказа (процент предоплаты, контроль числа дней задолженности, проч.). Куда их пихать. С одной стороны, это явно не реквизиты движения, ибо проводок не делают. С другой стороны, реквизиты могут меняться со временем (типа доп. соглашения к договору). Куда их было бы правильней пихать.
Вообще какие мысли по этому поводу есть. А то надоело одному думать.
1 butterbean
 
20.09.11
10:18
все реквизиты контроля оплаты - в договор
2 а кому щас легко
 
20.09.11
10:19
"когда нужно изменить реквизит документа, не связанный с его движениями"
РежимЗаписиДокумента.Запись позволяет изменить реквизит документа без перепроведения
3 jsmith82
 
20.09.11
10:21
да? прикольно, а я думал, что только в режиме загрузки. век живи, век учись
4 luckyluke
 
20.09.11
10:27
(3) параметр "ОбменДанными.Загрузка = Истина" сделан не для того, чтобы записывать документ без проведения.
СП:
Загрузка (Load)
Использование:

Чтение и запись.
Описание:

Тип: Булево. Если значение данного свойства Истина, то при выполнении записи или удаления данных будет производиться минимум проверок, так как при этом делается предположение, что производится запись данных, полученных через механизмы обмена данными, и эти данные корректны.
5 Megas
 
20.09.11
10:28
(2) Истину глаголишь!
А "ОбменДанными.Загрузка = Истина"  чем не устраивает?
Ещё можно сделать галку/кнопку чтоб при этом не было перепроведения и тд...
6 Megas
 
20.09.11
10:29
(4) Ну смотря как в коде напишешь. =)
7 DosBot
 
20.09.11
10:43
(0) на счёт хранить чего-то из реквизитов в отдельном регистре.. у меня несколько другая ситуация:

Есть реквизиты, например: номер для печати, дата для печати, представитель заказчика, представитель исполнителя.
Реквизиты присутствуют, в частности, в документах: "Реализация товаров услуг", "Счёт на оплату", в справочнике "Договоры контрагентов".

Чем не нравится хранить данные реквизиты в документе:
1) приходится залазить в модуль формы и менять процедуру "ПриОткрытии" для добавления своих реквизитов на форму
2) док. Реализация ТиУ запрещено проводить конкретному исполнителю (можно только бухгалтеру), чтобы исключить скилл "квивые руки" не пользователей не причастных к бух. отчётности.
3) Добавлять на множество док-в и спр-в одни и те же реквизиты...

Вот я подумываю об отдельно регистре сведение типа "Реквизиты для печати" где для разных типов доков и спр-в буду хранить эти самые реквизиты.. %)
8 jsmith82
 
20.09.11
11:26
Вообще непонятно откуда эта байда пошла, что реквизиты, не связанные с движениями, хранятся в документе.
Уж даже если они там хранятся, то пользователь всё равно не может записать их без перепроведения.
Мне кажется, документ должен (или по-крайней мере содержать на своём фасаде) только реквизиты проведения (Контрагент, Договор, Подразделение), которые попадают в проводки.
Всё остальное либо от лукавого, либо в регистр, либо реализовать фичу записи без перепроведения.
9 Леха Дум
 
20.09.11
11:42
В типовых есть стандартный механизм "Свойства и категории" - смотрели?
10 jsmith82
 
20.09.11
11:51
Да, смотрели, это благая фича.
11 Леха Дум
 
20.09.11
11:56
(10) чем то не устраивает?
12 jsmith82
 
20.09.11
12:01
Ну они же создаются в режиме Предприятия и скорее представляют "подручные вспомогательные" свойства. Моё мнение таково, что если свойство используется часто, то оно должно быть включено в конфигурацию.
Я скорее не про возможности, а про неудобство типовых решений. Но это уже дело реализации.
13 5 Элемент
 
20.09.11
12:01
(8) а может тут другая байда - зачем проводить документ если изменились реквизиты не влияющие на проведение.
14 jsmith82
 
20.09.11
12:04
байда в том, что пользователь не может изменить реквизиты без перепроведения
ну например документ проведён сто лет назад. пользователь хочет обновить свои комменты. Лезет в поле комментарий и не может не перепровести, а сделать это скорей всего не сможет, ибо прав не хватает
Короче, тупизна редкого свойства
Ну это я так, в русле философии документа
15 jsmith82
 
20.09.11
12:06
Вообще сабж создавался с несколько более расширенной целью - подумать о том, каким должен быть нормальный документ в программе. Тут две полярности - документ в Акспате, который "разносится на проводки" и уходит в лету, или документ в 1С, который не только хранит свои проводки, но и аккумулирует туеву хучу прочих реквизитов
16 Zapal
 
20.09.11
12:18
мое имхо если пользователи постоянно меняют реквизиты документа и им не надо его перепроводить - это косяк архитектуры. Эту справочную информацию нужно выносить в регистры сведений, справочники и т.п.
17 jsmith82
 
20.09.11
12:22
согласен. причём жёсткий косяк