|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson Что же это за обязательные поля, которые необязательно заполнять? Записывать документ и проводить - разные вещи. Записываться он должен всегда. Во-первых не все документы проводятся, некоторые в принципе проводиться не могут. Во-вторых я могу только повторить то что писал выше. Если бизнес-логика такова что документ с незаполненным полем не имеет смысла, то документ не должен записываться до тех пор пока это поле не будет заполнено. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 11:32 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Извините, но это нормальная практика, пример реализация товара: учет в разрезе компаний/складов как вы прикажите списать товар по документу в котором отсутсвует склад или компания, это я вам сочувствую, коли вы не осознаете, что есть вещи которые от пользователя надо требовать. При списании и проверяй. Если документ не записывается потому, что в 1235 позиции не указана цена, то это просто издевательство над людьми. Он должен записываться, но не должен проводиться. У меня 7,5 летнормальной практики и юзера меня пока не расчленили :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 11:33 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Если бизнес-логика такова что документ с незаполненным полем не имеет смысла, то документ не должен записываться до тех пор пока это поле не будет заполнено. Таких документов не должно быть. Я вот прекрасно обхожусь без goto, думаю вполне можно обходиться и без незаписываемых документов. Представьте, что у Вас код не записывается, пока он не избавлен от ошибок. Очевидно же, что код с ошибками никому не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 11:35 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson Что же это за обязательные поля, которые необязательно заполнять? Записывать документ и проводить - разные вещи. Записываться он должен всегда. Вам никогда не приходилось разгребать за юзерами пользующими вот такие(не контролирующие ввод со стороны пользователя) системы??? Мне доводилось! Картина между прочим малоприятная, поскольку уровень многих пользователей находится на где то в верхнем палеолите и в целом оценить возможные последствия ввода гнилых данных они не в состоянии! Зато система позволяет записать все... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 11:48 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson Извините, но это нормальная практика, пример реализация товара: учет в разрезе компаний/складов как вы прикажите списать товар по документу в котором отсутсвует склад или компания, это я вам сочувствую, коли вы не осознаете, что есть вещи которые от пользователя надо требовать. При списании и проверяй. Если документ не записывается потому, что в 1235 позиции не указана цена, то это просто издевательство над людьми. Он должен записываться, но не должен проводиться. У меня 7,5 летнормальной практики и юзера меня пока не расчленили :) При нормальном подходе к ограничению на вводимые данные у вас такой строки быть в принципе не может! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 11:50 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson Если бизнес-логика такова что документ с незаполненным полем не имеет смысла, то документ не должен записываться до тех пор пока это поле не будет заполнено. Таких документов не должно быть. Я вот прекрасно обхожусь без goto, думаю вполне можно обходиться и без незаписываемых документов. Знаете есть такое правило: "клиент всегда прав". И если одно из требований клиента чтобы документ с незаполненным полем не записывался, то придется реализовывать его требование. Хотя вы конечно можете сказать клиенту что он дурак, но тогда вы просто лишитесь клиента, а он найдет другого исполнителя. А если по вашей вине ваша фирма будет регулярно терять клиентов, то и работы лишиться можете. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 11:51 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
XenoX gybson Извините, но это нормальная практика, пример реализация товара: учет в разрезе компаний/складов как вы прикажите списать товар по документу в котором отсутсвует склад или компания, это я вам сочувствую, коли вы не осознаете, что есть вещи которые от пользователя надо требовать. При списании и проверяй. Если документ не записывается потому, что в 1235 позиции не указана цена, то это просто издевательство над людьми. Он должен записываться, но не должен проводиться. У меня 7,5 летнормальной практики и юзера меня пока не расчленили :) При нормальном подходе к ограничению на вводимые данные у вас такой строки быть в принципе не может! И кто-же запрещает проверять поля на валидность перед записью документа? Это и есть бизнес-логика, и отстутствие или присутствие этой проверки определяется разработчиком конфигурации. Возвращаясь к истокам этого спора (про наличие пустых ссылок) - в 1С:Предприятие нет понятия "непустая ссылка", поэтому и SQL скрипт генерируется таким образом. Так же как и в MSSQL, проверка на пустоту может быть реализована в скрипте (1С скрипт или MSSQL ХП) а не в метаданных. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:01 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
При нормальном подходе к ограничению на вводимые данные у вас такой строки быть в принципе не может! Если для Вас нормально похерить получасовую работу человека, до для меня нет. А насчет "Клиент всегда прав" - клиент прав в своих желаниях, а вот методы реализации его не касаются. И клиент, который думает, что лучше меня знает как проектировать ИС либо меняет свое мнение, либо перестает быть моим клиентом. С голоду не умираю. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:04 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson Если для Вас нормально похерить получасовую работу человека, до для меня нет. Если вы не умеете грамотно оповестить о нарушении БЛ пользователем, тем самы похерив его работу, то это сугубо ваше личное дело! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:07 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
С:Предприятие нет понятия "непустая ссылка", поэтому и SQL скрипт генерируется таким образом. Есть ссылка в "никуда", т.е. на {00000000-0000-0000-0000-000000000000} Кроме того, при определенных стратегиях построения распределенной базы, ссылка может быть, а объекта нет. Вот так вот, ссылка на документ есть, движения его есть, а документа нет, политика безопасности такая. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:09 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Если вы не умеете грамотно оповестить о нарушении БЛ пользователем, тем самы похерив его работу, то это сугубо ваше личное дело! Я то умею. У меня документ не делает движений если он неверно заполнен. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:12 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybsonЕсли для Вас нормально похерить получасовую работу человека, до для меня нет. А насчет "Клиент всегда прав" - клиент прав в своих желаниях, а вот методы реализации его не касаются. И клиент, который думает, что лучше меня знает как проектировать ИС либо меняет свое мнение, либо перестает быть моим клиентом. С голоду не умираю. Уважаемый gybson, никто не утверждает, что не должны существовать документы, которые должны записываться всегда. Напротив в большинстве случаев действительно документ должен записываться всегда, а проводиться только тогда когда заполнены обязательные поля. Но бывает, что в документе обязательно должно быть заполнено поле. Если оно не заполнено, то документ просто не имеет смысла. И этот документ не проводится, только записывается. Как правило это небольшие документы и для их заполнения не требуется много времени. Например, это может быть выданная счет-фактура. Другой пример - заявка на доставку товара. Если заявка некорректно заполнена то она никому не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:17 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson С:Предприятие нет понятия "непустая ссылка", поэтому и SQL скрипт генерируется таким образом. Есть ссылка в "никуда", т.е. на {00000000-0000-0000-0000-000000000000} Кроме того, при определенных стратегиях построения распределенной базы, ссылка может быть, а объекта нет. Вот так вот, ссылка на документ есть, движения его есть, а документа нет, политика безопасности такая. Я имею в виду то, что есть ограничения, например только положительное число, "not null" в MS SQL, которые задаются на уровне метаданных. Для ссылки такое не катит, т.к. при создании нового объекта у которого есть поле типа ссылка, данная ссылка должна быть проинициализирована корректным значением по умолчанию. Иначе, после создания объекта, у него будет невалидное состояние, что в целом плохо при разработке приложений, как на 1С скрипте, так и например на С++. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:20 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Но бывает, что в документе обязательно должно быть заполнено поле. Если оно не заполнено, то документ просто не имеет смысла. Бывает. Но мы обсуждаем "ОБЩУЮ" ситуацию, а не "бывает". Чего только не бывает. Я, кстати, вообще против документов, которые не делают движений, так как это уже не документ, а шаблон печатной формы. Но пока еще встречаются, что наталкивает на мысли о дальнейшем развитии метаднных. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:33 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybson Если вы не умеете грамотно оповестить о нарушении БЛ пользователем, тем самы похерив его работу, то это сугубо ваше личное дело! Я то умею. У меня документ не делает движений если он неверно заполнен. А что же вы в таком случае сслылаетесь на "похерить"? Я думаю мало-мальски внятный разработчик никогда не похерит работу пользователя, он оповестит вежливо последнего, о возникшей исключительной ситуации связанной с нарушением БЛ и ничего ни куда херить не будет. Тем не менее вы ссылаетесь на то, такие вот оповещения могут похерить работу?? С какого рожна это должно произойти то? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:39 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
а тут в личку можно сообщения отправлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:52 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybsonа тут в личку можно сообщения отправлять? НЕТ, что, уже на мат перейти охото??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:55 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Просто не хочу дальше оффтопик плодить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 12:56 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybsonа тут в личку можно сообщения отправлять? а для чего в профили почту указывают? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 13:10 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Не понимаю, о чем спор. Откуда столько эмоций, и что тут кому кто пытается доказать? Документ не должен проводиться, если в нем содержатся ошибки ввода, выявляемые на этапе ввода. Должен ли он сохраняться и в зависимости от того, какие именно ошибки - решается на конкретном месте в конкретных условиях в зависимости от целесообразности. И не нужно утверждать, что всегда целесообразно делать "вот именно так, а не иначе". Ошибки ввода могут быть разными. И незаполнение обязательного поля - это только один вид такой ошибки. А если в поле типа "дата" будет написано "примерно через год" - он тоже должен сохраняться? А если в поле "сумма" будет написано вместо указания конкретного числового значения "ну очень много денег" - тоже? А если кому-нибудь захочется указать на каждую штуку товара разные цены (ну потому что он решил, что они разные), но в одной строке? А если в строке "продавец он захоче указать не одну фирму, а 4 штуки? Давайте не доводить все сомнитрельные пожелания сомнительных "клиентов" до абсурда. Если клиент хочет делать что попало и как попало, а потом получать "всё как надо" при нажатии большой красной кнопки с надписью "взмахнуть волшебной палочкой, которая весь бардак приведет в порядок", то с таким клиентом честный исполнитель даже разговаривать не станет - пусть ищет себе волшебную палочку в ямке, в которую Буратино денежки закопал. У любого документа существует некоторая структура и некоторый набор правил по его заполнению. Если клиент не намерен соблюдать "вообще никакие правила", то он будет иметь "вообще никакой результат". В ряде случаев, однако, нужно предоставить пользователю возможность промежуточного сохранения документа еще до того, как он полностью заполнен. Такая необходимость может возникать, например, при вводе данных по очень объемным документам (например, инвойсу, объемом в 10 листов). Пользователь может вводить данные по нему 2 дня, и ему будет очень неприятно, если перед вводом последней строчки вдруг сбойнет компьютер и придется начинать всё сначала. Но это несолько другая задача. И не нужно ее смешивать с необходимостью соблюдения требований к структуре документа и правилам его заполнения. Действительно, документ может быть "черновиком" и "беловиком". Но предоставлять документам делиться на "черновики" и "беловики" или не предоставлять - тут нужно смотреть по ситуации. В принципе, в 1С для любого документы можно ввести параметр "статус документа", которому присваивать либо значение "беловик", либо "черновик", и в алгоритме его проведения либо выполнять проведение, либо не выполнять в зависимости от значения этого поля. Однако, следует понимать, что если в системе могут находиться как документы-беловики, так и документы-черновики, значит требуется предусмотреть процедуры изменения статуса, значит могут возникать дополнительные орагнизационные и просто технические ошибки в работе (юзер случайно забыл выставить значение "беловик" в поле "статус", и документ не провелся, хотя юзер думает, что провелся). Кроме того, для юзера требуются дополнительные усилия по поиску ранее сохраненных черновиков, их модификации и сохранению - еще не известно, что им больше не понравится (или понравится), дополнительные усилия связанные с наличием двух фаз фиксации документа (сначала черновик, а уже потом беловик), либо невозможность сохранить некорректно заполненный документ. К чему я всё это говорю? Не понятно, о чем спор. Одни кричат "стакан наполовину полон", другие "нет, он наполовину пуст!". Забавно, что правы и те, и другие. Но в большей степени они неправы, потому что в этот спор ввязались... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 13:15 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Не надо никаких галочек "черновик-беловик", просто "черновики" не надо проводить. А формировать отчеты только на основании проведенных документов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 13:45 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
gybsonНе надо никаких галочек "черновик-беловик", просто "черновики" не надо проводить. А формировать отчеты только на основании проведенных документов. Если отчеты формируют движения регистров, то желательно по регистрам если не формируют тогда можно по документам ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 14:18 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
Если отчеты формируют движения регистров, то желательно по регистрам если не формируют тогда можно по документам Я имел в виду случай с документами, которы "не должны проводиться". Пусть они проводятся без движений в таком случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 14:32 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
люди напомните мне про чё сабж вот я за 15лет юзал Информикс, Оракл, ДБ2, MS и ни когда не думал что возможность подключения в трехзвенке ДБ2 может развести такой флуд. Да мы лет 10 назад делали трехзвенку на чем ни попадя включая ДБФ и не бегали с круглыми глазами. Может стоит топик прибить? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 14:49 |
|
1C будет использовать IBM DB2
|
|||
---|---|---|---|
#18+
velfimovлюди напомните мне про чё сабж вот я за 15лет юзал Информикс, Оракл, ДБ2, MS и ни когда не думал что возможность подключения в трехзвенке ДБ2 может развести такой флуд. Да мы лет 10 назад делали трехзвенку на чем ни попадя включая ДБФ и не бегали с круглыми глазами. Может стоит топик прибить? Пора... а то остановиться невозможно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2007, 14:56 |
|
|
start [/forum/topic.php?fid=28&msg=34261253&tid=1525529]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 294ms |
0 / 0 |