|
v7: Удаление документа, при отмене проведения | ☑ | ||
---|---|---|---|---|
0
Alekssey
15.05.13
✎
08:42
|
Необходимо сделать контроль создания только одного документа на одну дату. Модуль документа
ДокМеню=СоздатьОбъект("Документ.Меню"); ДокМеню.ВыбратьДокументы(); Пока ДокМеню.ПолучитьДокумент()=1 цикл Если ДокМеню.ДатаДок=ДатаДок тогда Предупреждение("Нельзя выдать несколько меню на одну дату");НеПроводитьДокумент();Возврат; КонецЕсли; КонецЦикла; Подскажите что дописать, чтобы документ не сохранялся? |
|||
1
Aleksey
15.05.13
✎
08:43
|
статусВозврата(0);
|
|||
2
Alekssey
15.05.13
✎
08:43
|
Либо чтобы пользователь возвращался назад в редактирование документа, и документ не сохранялся?
|
|||
3
Aleksey
15.05.13
✎
08:44
|
(2) не получится, потому что процедура записать и провести это разные разнесенные по времени процедуры
|
|||
4
Aleksey
15.05.13
✎
08:45
|
т.е. можно записать документ не проводя, но провести не записанный документ нельзя
|
|||
5
1Сергей
15.05.13
✎
08:56
|
минут 5 искал чем ваши ники отличаются
|
|||
6
ЧеловекДуши
15.05.13
✎
08:59
|
(5) Искал ошибку в Матрице :DDDD
|
|||
7
НикДляЗапросов
15.05.13
✎
09:00
|
(5) Длиной полоски ))
|
|||
8
Aleksey
15.05.13
✎
09:00
|
(5) чтобы рейтинг набить завёл твинк, теперь вот накручиваю счётчик сообщений
|
|||
9
Ёпрст
15.05.13
✎
09:10
|
(0) зачет перебирать все документы
|
|||
10
Ёпрст
15.05.13
✎
09:12
|
если что, делай так и наслаждайся:
Процедура ПриЗаписи() ДокМеню=СоздатьОбъект("Документ."+Вид()); Если ДокМеню.ВыбратьДокументы(ДатаДок,ДатаДок)=1 Тогда Предупреждение("Нельзя выдать несколько меню на одну дату"); СтатусВозврата(0); КонецЕсли; КонецПроцедуры |
|||
11
Ёпрст
15.05.13
✎
09:14
|
Хотя, лучше так:
Процедура ПриЗаписи() Если Выбран()=0 Тогда ДокМеню=СоздатьОбъект("Документ."+Вид()); Если ДокМеню.ВыбратьДокументы(ДатаДок,ДатаДок)=1 Тогда Предупреждение("Нельзя выдать несколько меню на одну дату"); СтатусВозврата(0); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
12
DJ Anthon
15.05.13
✎
09:22
|
(11) получается, можно потом меню перенести в другую дату и будет два меню на одну дату?
|
|||
13
DJ Anthon
15.05.13
✎
09:23
|
лучше все-таки перебрать документы и проверить на себя. все равно их будет не много. и не понятна связь сабжа с заголовком.
|
|||
14
Bigbro
15.05.13
✎
09:25
|
(12) а при "переносе" в другую дату записи не будет?
|
|||
15
Ёпрст
15.05.13
✎
09:26
|
(12) не охота делать перебор, проще запретить менять дату, если документ записан
|
|||
16
1Сергей
15.05.13
✎
09:27
|
(14) запись будет, но это будет уже не новый документ
|
|||
17
Ёпрст
15.05.13
✎
09:27
|
Процедура ПриЗаписи()
Если Выбран()=0 Тогда ДокМеню=СоздатьОбъект("Документ."+Вид()); Если ДокМеню.ВыбратьДокументы(ДатаДок,ДатаДок)=1 Тогда Предупреждение("Нельзя выдать несколько меню на одну дату"); СтатусВозврата(0); КонецЕсли; ИначеЕсли ДатаДок<>ТекущийДокумент().ДатаДок Тогда Предупреждение("Нельзя менять дату записанного документа, пнх, Альфредо!"); СтатусВозврата(0); КонецЕсли; КонецПроцедуры |
|||
18
ЧеловекДуши
15.05.13
✎
09:28
|
+ (17) И тоже самое исполнить и в "ВводНового" и в "ВводНаОсновании" :)
|
|||
19
Bigbro
15.05.13
✎
09:32
|
(16) от того что он не новый призаписи() не выполнится?
|
|||
20
Ёпрст
15.05.13
✎
09:33
|
(18) зачем ?
|
|||
21
DJ Anthon
15.05.13
✎
09:33
|
(16) (19) вы о чем спорите?
|
|||
22
Ёпрст
15.05.13
✎
09:33
|
пусть мучается - в начале заполнит и при записи обломится.. так кошернее :)
|
|||
23
DJ Anthon
15.05.13
✎
09:33
|
(20) чтобы чел не обламывался, когда полчаса забивал таблицу. надо заранее предупредить. никто о хомяках не думает...
|
|||
24
Bigbro
15.05.13
✎
09:34
|
(21) я не понял к чему написано 16
|
|||
25
DJ Anthon
15.05.13
✎
09:34
|
(22) ))))))))))))) садист детектед )
|
|||
26
ЧеловекДуши
15.05.13
✎
09:34
|
(20) А что бы вообще нельзя было делать лишние документа на эту дату :)
И при вводе нового документа, открывать старый документ :) |
|||
27
DJ Anthon
15.05.13
✎
09:34
|
(24) так вы вроде друг другу одно и то же и доказываете, не?
|
|||
28
1Сергей
15.05.13
✎
09:35
|
(24) первое условие глянь в (11)
|
|||
29
Bigbro
15.05.13
✎
09:36
|
(27) я вообще ничего не доказываю никому, тут уже все ответили по сабжу. просто в 16 написан какой то бред мной не понятый.
|
|||
30
DJ Anthon
15.05.13
✎
09:38
|
я бы еще проверку на дату запрета редактирования сделал...
|
|||
31
Bigbro
15.05.13
✎
09:38
|
есть 3 точки контроля - ввод нового, ввод на основании и запись. в чем проблема сделать проверку во всех трех не понимаю.
|
|||
32
Bigbro
15.05.13
✎
09:40
|
(28) и? что с этим условием?
это проверка на существование документа для ввода нового. если мы успешно создали документ, и затем изменяем в нем дату на ту в которой документ есть - эта проверка спокойно пройдет мимо. |
|||
33
Bigbro
15.05.13
✎
09:41
|
+32 такое чувство что у вас никогда пользователи программу не пытались "обмануть".
|
|||
34
1Сергей
15.05.13
✎
09:47
|
(32) и... ты суть разговора потерял.
в (11) предложили не перебирать документы, а тупо проверить открывается ли выборка за одну дату. Но, только для нового документа в (12) автор сетует на то, что при перенесении на другую дату проверка выполнятся не будет. А значит возможна запись двух документов на одну дату. в (14) ты упрекаешь автора в том, что процедура ПриЗаписи выполняется и для нового и для не записанного документа. в (16) я тебя поправил, сказав что процедура запустится, но проверка выполнятся не будет. Т.е. замечание в (12) верное |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |