![]() |
![]() |
![]() |
|
Вопрос начинающего: по флажку на форме не проводить/проводить документ | ☑ | ||
---|---|---|---|---|
0
Барабашка серверная
29.03.08
✎
23:19
|
Собственно, сабж. Что-то не могу допереть как это сделать. Из модуля документа модуль формы ведь не виден, так? Значит узнать, находясь в нем, в каком состоянии флажок, нельзя. Тогда как сделать "отказ" по событию "ОбработкаПроведения"?
|
|||
1
ТелепатБот
гуру
29.03.08
✎
23:19
|
||||
2
PR
29.03.08
✎
23:22
|
Тебе че надо-то?
|
|||
3
Барабашка серверная
29.03.08
✎
23:25
|
На форме документа флажок (мной размещенный). Если флажок True, то Документ проводим. Если False, то Документ не проводим. Яснее некуда.
|
|||
4
Defender aka LINN
29.03.08
✎
23:25
|
(0) Мда...
Чтобы не проводить документ достаточно не нажимать кнопку "провести". Заметь, все штатно, никаких доработок. |
|||
5
Барабашка серверная
29.03.08
✎
23:29
|
Считайте, что это такое ТЗ. То, что кнопка "Провести" существует, я в курсе.
|
|||
6
Мимохожий Однако
29.03.08
✎
23:30
|
Отказ = Истина;
Есть такой параметр в процедуре проведения |
|||
7
Defender aka LINN
29.03.08
✎
23:32
|
(5) Тут варианта 2:
1. Считать, что это идиотское ТЗ, поставленное идиотом. 2. Реализовать за двойную цену. Мне какой вариан выбирать? Пока склоняюсь к первому. |
|||
8
Барабашка серверная
29.03.08
✎
23:33
|
>> Отказ = Истина;
>> Есть такой параметр в процедуре проведения Замечательно. Как передать в "процедуру проведения" значение флажка (Истина/Ложь), который на форме. |
|||
9
PR
29.03.08
✎
23:37
|
(8) Мы на идиотские вопросы ответов не даем. Читай (4).
|
|||
10
Defender aka LINN
29.03.08
✎
23:39
|
(8) Найди на форуме Пита, он же у лю 427
Он тебе скажет твой номер по реестру. |
|||
11
Барабашка серверная
29.03.08
✎
23:40
|
Скажите лучше, что просто не знаете. Так будет честнее.
|
|||
12
PR
29.03.08
✎
23:41
|
(11) Забъемся на ящик армянского, что ты не прав?
|
|||
13
Барабашка серверная
29.03.08
✎
23:44
|
(12) (Как цитату вставлять?)
Неправ в чем? |
|||
14
Defender aka LINN
29.03.08
✎
23:44
|
(11) Не умею врать.
Поэтому скажу, что знаю, как это сделать правильно. И скажу, что уже это сказал, прошу прощения за тафталогию. (12) Мы ж так сопьемся :) |
|||
15
PR
29.03.08
✎
23:45
|
Цитату вставлять руками.
Неправ в своем утверждении, что мы не знаем. За всех говорить не буду, но конкретно я знаю. |
|||
16
Hadgehogs
29.03.08
✎
23:45
|
(13) У Улю 427 счаст 3 ночи. Вряд ли он чем поможет автору.
Так что ждем других Санитаров Леса. |
|||
17
Defender aka LINN
29.03.08
✎
23:47
|
(16) А у него счетчик телепатический. Номера безошибочно раздает :)
|
|||
18
Барабашка серверная
29.03.08
✎
23:48
|
(14)(15) Ну если все всё знают, то скажите, трудно подсказать, что ли?
|
|||
19
PR
29.03.08
✎
23:49
|
(18) Ответ в (4)
|
|||
20
Hadgehogs
29.03.08
✎
23:49
|
(17) А ну тогда я зря волнуюсь.. Все пучком. Автору осталось расслабиться и попытаться получить удовольствие.
|
|||
21
Hadgehogs
29.03.08
✎
23:50
|
(18) Вы бы лучше смысл требуемого в (0) сказали, авось помогли бы..
|
|||
22
Hadgehogs
29.03.08
✎
23:58
|
ВСЁ? Технологический шок? Что молчим то?
|
|||
23
Барабашка серверная
29.03.08
✎
23:58
|
(21) Смысл передать в модуль документа значение из элемента формы. Вот конкретная задача. Что ЕЩЕ осталось выяснить? (На хамство и оскорбительное тыкание незнакомому человеку я стараюсь не обращать внимание.)
|
|||
24
Барабашка серверная
30.03.08
✎
00:00
|
(22) Это Вы мне?
|
|||
25
PR
30.03.08
✎
00:01
|
Мда, просто не получается :o)
Ну что ж, начнем :)) Для затравки, как быть в случаях, когда документ проводится не из формы? |
|||
26
Defender aka LINN
30.03.08
✎
00:01
|
(23) Ты меня умиляешь. Скажи, ты на самом деле думаешь, что эта бредовая мысль только тебе в голову пришла?
Тогда я расскажу, как это сделать, если ты мне четко ответишь, что делать, если я документ создаю и провожу программно. На сервере. |
|||
27
Hadgehogs
30.03.08
✎
00:02
|
(26) Вот теперь точно будет шок..
|
|||
28
Hadgehogs
30.03.08
✎
00:07
|
В Модуле формы:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) ЭтотОбъект.Отмечено=ОтмеченоВФорме; КонецПроцедуры В Модуле объекта документа Перем Отмечено Экспорт; Процедура ОбработкаПроведения(Отказ, РежимПроведения) Отказ=Не Отмечено; КонецПроцедуры |
|||
29
Hadgehogs
30.03.08
✎
00:07
|
Где ОтмеченоВФорме - это Данные флажка на форме
|
|||
30
Hadgehogs
30.03.08
✎
00:07
|
Сами напросились
|
|||
31
Hadgehogs
30.03.08
✎
00:08
|
(23) Я вам не тыкал.
|
|||
32
Барабашка серверная
30.03.08
✎
00:08
|
(25) Понятия не имею - я до этого еще не добрался. Но если Вы скажете, где посмотреть, я это сделаю прямо сейчас.
|
|||
33
Барабашка серверная
30.03.08
✎
00:11
|
(27) Какой еще шок, Вы шутите? Не обижайтесь, но нервные вы тут какие-то, ребята, честное слово.
(28) Спасибо, уже что-то. |
|||
34
Asmody
модератор
30.03.08
✎
00:11
|
рекомендую всем заглянуть сюда: http://www.forum.mista.ru/rules.htm
п.1 |
|||
35
Defender aka LINN
30.03.08
✎
00:12
|
(28) Мда... Заботливо уложил грабли и листвой для красоты присыпал.
(32) Очуметь... Скажи, ты машину водить умеешь? |
|||
36
Hadgehogs
30.03.08
✎
00:12
|
(32) Заводим реквизит в документе типа Булево, размещаем его на форме. И в ОбработкаПроведения() он будет поступен сразу. И храниться будет. Только нафига это вообще нужно?
|
|||
37
Defender aka LINN
30.03.08
✎
00:13
|
(34) Ну суббота ведь... Вечер... Дай пофлудить...
|
|||
38
Asmody
модератор
30.03.08
✎
00:13
|
(28)+ где Отмечено - либо реквизит объекта, либо экспортная переменная в модуле объекта
|
|||
39
Hadgehogs
30.03.08
✎
00:13
|
(35) Я сделал, что просили. И честно предупредил. И пытался образумить.
|
|||
40
Барабашка серверная
30.03.08
✎
00:17
|
(36) "Ну так и я сыграть смогу" ©.
(35) Уже лет 15 как, а что? (34) Спасибо - модератор здесь как раз кстати. |
|||
41
Барабашка серверная
30.03.08
✎
00:19
|
(39) Я же не буду ЭТО вставлять (в каком-то виде) в реальную конфигурацию для живого клиента, поэтому вразумлять меня не надо, я не сумасшедший.
|
|||
42
Defender aka LINN
30.03.08
✎
00:21
|
(40) Ты учился по принципу "Сначала тронемся, а потом будем думать, как тормозить"?
(41) Из Ивоих постов трудно сделать такой вывод. |
|||
43
Asmody
модератор
30.03.08
✎
00:27
|
кстати, для "умников" могу привести пример для чего это нужно. например, у нас есть технические счета, которые менеджеры выписывают для "внутренних" нужд, например, чтобы разбить большой счет на несколько меньших. в таких счетах ставится галка "непроводной". такой счет не может быть проведен. у проведенного счета эту галку изменить (т.е. поставить нельзя)
|
|||
44
Defender aka LINN
30.03.08
✎
00:35
|
(43) Асмоди, я того всего... Вот не думал, что ты туда же.
Тогда может ты мне расскажешь, что будет с вашей схемой, если приду я и тупо перепроведу документы универсальной обработкой? 1. "Автоматизируя бардак мы получи автоматизированный бардак" (с) А. Орлов 2. "Автоматизируя неэффективный процесс мы увеличиваем его неэффективность" (с) Б. Гейтс Проведение документа НЕ ДОЛЖНО зависеть от чего-нибудь, кроме данных в базе. Точка. |
|||
45
Барабашка серверная
30.03.08
✎
00:41
|
(42) Я не понимаю, "в чем твоя проблема" © ? Когда я учился водить, со мной рядом был инструктор, который всегда мог подстраховать. Тем более, я не вчера родился, писал на асме еще для "Радио-86РК" (хобби такое), ты тогда еще под стол пешком ходил - в прямом смысле, так что с целесообразностью я разберусь. Так вот вместо того, чтобы подстраховать начинающего и просто ответить на элементарный вопрос, началась, пардон, клоунада "профессионалов".
(43) Спасибо, надо будет подумать над этим потОм. |
|||
46
Asmody
модератор
30.03.08
✎
00:41
|
(44) непроводные документы не проведутся. "Непроводной" - это реквизит документа.
|
|||
47
Defender aka LINN
30.03.08
✎
00:46
|
(45) Я хренею... Я, между прочим, тебе еще в (4) сказал, как сделать то, что ты просишь. И намекал всеми доступными способами, причем не я один.
Годы чужого опыта лично для меня нифига не значат - насмотрелся. (46) Таки вот. А (0) реквизит не устраивает. Не знаю, религия, наверное. Или еще какие убеждения. |
|||
48
Asmody
модератор
30.03.08
✎
00:48
|
(47) один хрен конфу курочить :)
|
|||
49
Wladimir_spb
30.03.08
✎
00:50
|
(47) ИМХО, (43) можно реализовать без доп.реквизитов.
|
|||
50
Defender aka LINN
30.03.08
✎
00:52
|
(48) Да мы уже 40 постов пытаемся намекнуть :)
(49) Пример? |
|||
51
Asmody
модератор
30.03.08
✎
00:53
|
(49) чтобы избежать косяков (44) все равно надо что-то где-то сохранять. реквизит - самый простой и очевидный вариант
|
|||
52
Wladimir_spb
30.03.08
✎
00:56
|
(50) Взять (28), и добавить проверку на текущий статус документа, что бы разрешить перепроведение проведенных. А не проведенные групповой обработкой проводиться и не должны.
|
|||
53
Defender aka LINN
30.03.08
✎
01:04
|
(52) Кому не должны? Мне? А если я через консоль запросов делаю? А вообще - это уже какое-то извращение - мы добавим переменную модуля, введем ненужные проверки, и придем к тому функционалу, который могли бы реализовать добавлением реквизита.
(51) +1 |
|||
54
Defender aka LINN
30.03.08
✎
01:11
|
+(53) И, кстати, в (0) частный случай - "Да/Нет". А если несколько состояний?
|
|||
55
Wladimir_spb
30.03.08
✎
01:12
|
(53) Тебе нужен был пример? )) Получите и распишитесь)
А если в (52) добавить запрет на проведение документа, если он не проведен и переменная "неопределена", то все траблы с групповыми обработками снимаются. Проводить можно будет менять только открыв форму, а перепроводить как угодно. С реквизитом естественно проще и прозрачнее, но если человек хочет извратиться, то пусть попробует... |
|||
56
Барабашка серверная
30.03.08
✎
01:14
|
(47) Да нет, это я фигею. Во-первых, ты думаешь, я такой идиот и не знаю, что если кнопку "Провести" не нажимать, то документ не проведется? Во-вторых, как подсказали старшие товарищи, такая задача может иметь место в реальности.
|
|||
57
Hadgehogs
30.03.08
✎
01:15
|
Уходил чая испить. УУУУ, как тут события повернулись..
(45) А что тогда даже Basic -а не было еще? |
|||
58
Asmody
модератор
30.03.08
✎
01:20
|
(54) а на несколько состояний уже РС напрашивается. или БП..
|
|||
59
Asmody
модератор
30.03.08
✎
01:21
|
(56) добавляй реквизит, дольше обсуждаем.
|
|||
60
Барабашка серверная
30.03.08
✎
01:28
|
(57) Чайку? А я думал у вас технологический шок от прочитанного. Тогда много чего не было. Даже 1С, сотовых телефонов и ЖК-мониторов. А то, что было, отъедало 90% памяти и работало в 100 раз медленнее асма.
Кстати, конкретный вопрос по коду. Установка параметра Отказ не даёт записать документ. Т.е. вываливается ошибка "Операция не выполнена" и всё. |
|||
61
Wladimir_spb
30.03.08
✎
01:30
|
(60) А если просто ЗАПИСАТЬ непроведенный документ?
|
|||
62
Барабашка серверная
30.03.08
✎
01:36
|
(61) Если просто записать, то ессно записывается без звука. Проблема в том, что Отказ отменяет не только проведение, но и запись. Вопрос: а что происходит раньше? По идее, конечно, запись... Но по наблюдаемому процессу мне уже непонятно.
|
|||
63
Wladimir_spb
30.03.08
✎
01:41
|
Хм.. мне кажется что задача (0) решена. Теперь вас не устраивает результат ее решения...
По ходу вас долго убеждали в том, что (0) является некорректно поставленой задачей, но вы все-таки настояли на решении. Видимо только для того, что бы убедиться, что задача действительно поставлена некорректно... ИМХО, Вам нужно было поменять действие по кнопке "ОК" в форме, а не в модуль лезть. |
|||
64
Asmody
модератор
30.03.08
✎
01:52
|
(62) поскольку проведение - суть формирование записей движений документа по регистрам, каковые чаще всего не могут существовать без объекта-регистратора, т.е. самого документа, то сначала происходит запись объекта.
с другой стороны, при проведении и запись объекта и формирование движений происходят в обдной транзакции, по-этому, с точки зрения вне модуля документа можно (и нужно) рассматривать проведение как неделимую атомарную операцию, в общем случае неэквивалентную записи. |
|||
65
Барабашка серверная
30.03.08
✎
01:54
|
(63) Допустим. Надо поменять действие по кнопке "ОК" в форме. С какого на какое? И как распараллелить процесс без привлечения модуля объекта (документа) на только запись и запись+проведение?
|
|||
66
Барабашка серверная
30.03.08
✎
01:57
|
(64) Я так и подозревал, что в одной транзакции. Вот только что хелп изучал по этому вопросу. Хм. Тогда как быть?
|
|||
67
Wladimir_spb
30.03.08
✎
01:58
|
(65),(66) Сдается мне, что без ЖКК тут не обойтись. Если что-то будет непонятно - спрашивайте. А готовые решения здесь редко предлагают.
|
|||
68
Asmody
модератор
30.03.08
✎
01:58
|
(65) а, ну это просто! в свойствай кнопки выбираем вместо "Запись+Проведение" просо "Запись". или делаем свой обработчик При нажатии, в котором пишем код (да, придется писать). что-то типа:
ЗаписатьВФорме(<тут режим записи. прочитать в СП>); |
|||
69
Барабашка серверная
30.03.08
✎
03:20
|
(68) Что-то я запутался. У меня в обработчике (Действие) для кнопки "ОК" нет "Записать+Провести", а установлено "Записать+Закрыть", а для второй кнопки "Записать", соответственно, только "Записать". В любом случае, кода будет немного.
|
|||
70
Wladimir_spb
30.03.08
✎
03:25
|
Все завтра, все уж спят давно.
Завтра и Пит появится - рейтинг обновит... А пока, если не спится, читайте ЖКК. |
|||
71
Валерыч
30.03.08
✎
03:35
|
Думается мне, чтобы не наступать на грабли описанные в (60) надо в ОбработкаПроведения сделать так:
Если РеквизитНеПроводить Тогда Возврат; Конец; Тогда документ, то будет отмечен как проведенный, но вот движений по нему не дождетесь. А я так понимаю именно это и надо. |
|||
72
Барабашка серверная
30.03.08
✎
04:31
|
Попытка
Заработало. |
|||
73
bfg98
30.03.08
✎
11:30
|
Кстати, видел реализацию такой задачи в реальной базе.
Операторы набивали фактуры, но не могли их провести без установки такой галочки. Галочку мог проставить только один человек. Может это можно было сделать иначе, но работает именно так. |
|||
74
BabySG
30.03.08
✎
12:01
|
(43) Долго ломал голову, как вы проводите документ, который не имеет понятия проведения :)
|
|||
75
Барабашка серверная
30.03.08
✎
12:23
|
Не хочу открывать новую тему, спрошу здесь, ибо вопрос короткий. Подскажите, пжлст, чему равна ТекущаяСтрока в табличном поле (гриде), если в нем вообще нет строк? Т.е. надо либо сравнивать с ТекущаяСтрока, либо как-то по-другому выяснять, что строк нет. Я так понимаю, что там не пробел и не ноль. По идее, Null, но такого типа в 1С нет.
|
|||
76
Wladimir_spb
30.03.08
✎
12:28
|
(75) Опять же возникает вопрос типа (2), т.к. постановка задачи несколько подозрительна...
Не хотелось бы разводить дискуссию на 70 постов, что бы выяснить, что решение этой задачи вам все-равно не подходит. |
|||
77
Барабашка серверная
30.03.08
✎
12:39
|
(76) Первая задача была корректно описана в (3), причем без конкретного решения. Если местные "профессионалы" были не в курсе, что запись и проведение документа идут в одной транзакции (мне простительно, я об этом сам вчера узнал, хотя мог бы догадаться раньше), и предложили нерабочий код, то причем здесь моя задача, тем более, что она встречается в жизни? (Впрочем, я все равно кое-что вынес полезное и из этого.) Они ведь не сказали: "У тебя по такой схеме не будет ни записи, ни проведения, потому что это одна транзакция", а принялись обсуждать саму задачу (для чего..? а почему..?).
По вашему вопросу (76). В строках табличного поля происходят вычисления + берется информация из регистра. Если строк нет, соотв. вылетает ошибка. |
|||
78
Pahomich
30.03.08
✎
12:42
|
А в 77 это делается элементарно!
|
|||
79
Барабашка серверная
30.03.08
✎
12:50
|
Кстати, у меня вчера отказал Отладчик. Вообще. Ставлю точку останова - и ничего не происходит, причем неважно, где она ставится - в пустой строке или в заполненной. Работает так, как будто никаких точек вообще нет. Кнопки отладчика соотв. не появляются. Может я чего-то глобально отключил? Кто-нибудь сталкивался?
Ковыряюсь вот в этом продукте: 1С:Предприятие 8.1, учебная версия (8.1.9.57). |
|||
80
Барабашка серверная
30.03.08
✎
12:53
|
Спасибо всем, но я отсутствую до вечера.
|
|||
81
Мимохожий Однако
30.03.08
✎
12:58
|
(77)Прежде чем обращаться к текущей строке сделай проверку на наличие строк при помощи метода Количество()
Например, из СП: ВыделенныеСтрокиТабличногоПоля (TableFieldSelectedRows) Количество (Count) Синтаксис: Количество() Возвращаемое значение: Тип: Число. Описание: Получает количество выделенных строк табличного поля. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Пример: Количество = ЭлементыФормы.ТабличноеПоле1.ВыделенныеСтроки.Количество(); |
|||
82
Wladimir_spb
30.03.08
✎
13:04
|
(77) Где в (3) хоть одно слово про з.а.п.и.с.ь?.. Если бы вы написали, что вам нужно з.а.п.и.с.ы.в.а.т.ь без проведения, то разговор мог бы повернуться несколько иначе, хотя...
"В строках табличного поля происходят вычисления + берется информация из регистра." Что ЭТО? А вообще ТП как правило связано с источником данных, с ним и работайте. (79) Файервол отключите. |
|||
83
Hadgehogs
30.03.08
✎
13:32
|
(75)
NULL - в 1С есть. ТекущаяСтрока=Неопределено, если Табличная часть пустая, или курсор в табличном поле не установлен. Проверить, пустая ли табличная часть, можно вызвав метод Количество(), который покажет число строк.. Не ЭлементыФормы.ТабличнаяЧасть1.Количество(), а ТабличнаяЧасть1.Количество(), ибо осознаем, что табличное поле - это элемент формы, а табличная часть - это часть документа, содержащая данные. (77) Здесь скорее всего уже не "профессионалы", а "специалисты". |
|||
84
France
30.03.08
✎
14:04
|
а вот за "Предупреждение("Невозможно провести документ");" в модуле проведения нужно ржавым серпом срезать...
под корень, чтоб никаких воспоминаний не осталось. |
|||
85
Wladimir_spb
30.03.08
✎
14:09
|
(84) Код из (72) выполняетяс в форме.
|
|||
86
Asmody
модератор
30.03.08
✎
14:14
|
(74) "Счет" в (43) - это условное название. он же "Заказ покупателя", он же "Коммерческое предложение" и т.п. У нас он проводится, да еще и проведенный несколько состояний может принимать
|
|||
87
BabySG
30.03.08
✎
23:49
|
(86) Угу, поэтому и говорю, что голову ломал, ибо в голове сидела типовая УТ, с которой ковырялся в данный момент :)
|
|||
88
Барабашка серверная
31.03.08
✎
00:08
|
(82) По пунктам.
А разве можно провести документ БЕЗ его сохранения (записи)? Вычисляется итог по строке, например. Количество * Цену = Итого. А цена берется из регистра. В чем дело? У меня файервол постоянно включен. С ним всё работало месяц, а потом вдруг перестало. Что произошло, пока понять не могу, но действительно, отключил фаервол - заработало. Спасибо, буду разбираться. |
|||
89
Барабашка серверная
31.03.08
✎
00:16
|
(83) Про NULL не знал. Возможно, его не было в 7.7? Ок, буду знать, что есть такой тип. За подсказку спасибо, сделал уже - заработало.
|
|||
90
Wladimir_spb
31.03.08
✎
00:24
|
(88) "А разве можно провести документ БЕЗ его сохранения (записи)?"
Вы наверно уже забыли с его началась эта ветка... Вы спрашивали не о том как провести, а о том как отказаться от проведения. Провести документ действительно можно только записав его, но вы то как раз спрашивали о том как НЕ проводить, а в этом случае док записывать совсем необязательно... |
|||
91
Барабашка серверная
31.03.08
✎
01:09
|
(90) А каким образом, без записи, документ попадает в БД?
|
|||
92
Wladimir_spb
31.03.08
✎
01:14
|
(91) Никаким. Вопроса записи, сохранения в БД и пр. просто не стояло. Прочитайте внимательно (0).
|
|||
93
Барабашка серверная
31.03.08
✎
01:28
|
(92) Я не понимаю - Вы пытаетесь меня поймать на слове, анализируя по формальным признакам, что ли? По-другому общаться не получается? Еще раз:
В (0) изложено мое неправильное решение, которое возникло из-за того, что я не знал механизма записи/проведения (см. выше ). В (3) задача изложена БЕЗ решений. Вот от нее и надо отталкиваться в общем случае. То, что там не сказано о том, что документ надо записывать, не говорит о том, что его НЕ надо записывать. Если документ не будет сохраняться в БД, зачем тогда его вводить и, тем более, в каком-то частном случае проводить? Поэтому мне интересно (прочитав (90)) - как одновременно НЕ проводить документ и НЕ записывать его? Что это вообще значит? |
|||
94
Wladimir_spb
31.03.08
✎
01:37
|
(93) Это значит, что пользователь ввел документ не удовлетворяющий каким-то условиям и документ не будет проведен. У пользователя остается вариант либо исправить док и провести, либо записать без проведения. Это СТАНДАРТНАЯ ситуация. Откройте любую типовую. По своим пожеланиям (0) + (3) вы получили вполне стандартное решение, которое вас в прочем не удовлетворило.
|
|||
95
Барабашка серверная
31.03.08
✎
01:43
|
(94) Что значит "пользователь ввел"? Набрал данные в форме? Какое решение меня не удовлетворило? Я же все сделал еще вчера, просто изначально выбрал неверный путь.
|
|||
96
Zlodey1С
31.03.08
✎
01:46
|
Народ да помагите вы человеку !
|
|||
97
Wladimir_spb
31.03.08
✎
01:49
|
В (94) описана ситуация "как одновременно НЕ проводить документ и НЕ записывать его". Если вам не нравится слово "ввел", можете заменить его на "создал новый".
|
|||
98
Wladimir_spb
31.03.08
✎
01:50
|
(96) Поздно уже помогать) Время упущено))
|
|||
99
Барабашка серверная
31.03.08
✎
01:55
|
(95) Да я уже все сделал, спасибо. Просто некоторые товарищи никак не могут успокоиться, всё хотят найти ошибки в постановке задачи (чтобы почувствовать себя психологически комфортнее) и обосновать, например, хамство в (7) (см. п.1), в стиле "ну мы же говорили" (хотя говорили совсем не то и не о том), "это вас не устроило" (хотя меня давно уже все устроило) и т.п. А вообще, не хотелось бы развивать флейм по этому вопросу.
|
|||
100
Wladimir_spb
31.03.08
✎
01:57
|
100
|
|||
101
Барабашка серверная
31.03.08
✎
01:58
|
(97) Можно пример? Я чувствую, что могу превратно понять вашу мысль. В какой момент наступает условное событие "создал новый"?
|
|||
102
Wladimir_spb
31.03.08
✎
02:06
|
(101) Событие наступает по кнопке "insert" в списке документов. До тех пор пока док не сохранен в БД его можно считать новым.
|
|||
103
Барабашка серверная
31.03.08
✎
02:16
|
(102) Ок, тогда если 'пользователь создал новый' = 'пользователь ввел', то какие условия проверяются в этот момент? Правильно ли я понял, что речь идет о проверке соответствия полей выбора/ввода неким условиям после того, как пользователь нажал на кнопку "ОК"?
|
|||
104
Wladimir_spb
31.03.08
✎
02:24
|
(103) Условия проведения задаете вы, как программист. Момент их проверки также определяется вами. В большинстве случаев проверка осуществляетсяв модуле проведения, когда уже началась транзакция.
|
|||
105
Барабашка серверная
31.03.08
✎
02:35
|
(104) Про условия и момент проверки я знаю. Я хочу понять, что меня не устроило (см. (94)) и где в постановке задачи (3) написано про доп. условия проверки.
|
|||
106
Wladimir_spb
31.03.08
✎
02:44
|
(105) Вас не устроило, что при отказе от проведения не происходит записи.
Условия проверки: "Если флажок True, то Документ проводим. Если False, то Документ не проводим." |
|||
107
Барабашка серверная
31.03.08
✎
02:59
|
(105) Я говорил (и Вы) о доп. условиях проверки ДОКУМЕНТА, а не о флажке, который не является характеристикой документа, а всего лишь отмечает способ сохранения последнего. Поэтому, т.к. доп. условий проверки нет, то и отсутствие записи с последующим возвратом на (до)редактирование теряет смысл. Это просто частный случай: считается, что проверка уже прошла, а значит записывать документ надо в любом случае. Это ясно следует из условия задачи.
|
|||
108
BabySG
31.03.08
✎
08:26
|
(107) из (0) совсем этого не следует, это ВАМ понятно, т.к. это ВАША задача, но тут, из за монитора, этого не видно, поэтому писать надо четко и ясно!
PS. Почитайте тут: http://www.citforum.ru/howto/smart-questions-ru.shtml |
|||
109
Wladimir_spb
31.03.08
✎
09:46
|
(107) Занятно. Если мы п.р.о.в.е.р.я.е.м состояние флажка на форме, то это не является п.р.о.в.е.р.к.о.й только потому, что флажок не связан ни с одним реквизитом документа... Боюсь тут даже присловутые ЖКК не помогут.
|
|||
110
JARRE
31.03.08
✎
10:15
|
В 8.1 есть свойство у документа объекта - ДополнительныеСвойства тип Структура. Для передачи значений из формы в модуль проведения я им пользуюсь
|
|||
111
Wladimir_spb
31.03.08
✎
10:19
|
(110) Вопрос уже давно решен. Попытка передачи инфы в модуль объекта была только от неправильной постановки задачи. Все решилось в пределах модуля формы.
|
|||
112
Барабашка серверная
31.03.08
✎
13:25
|
(109) Вы стали забывать, что сами писали несколько постов назад? Вот тут (94): "пользователь ввел документ не удовлетворяющий каким-то условиям и документ не будет проведен". Еще раз: ДОКУМЕНТ - УСЛОВИЯМ. Какое отношение имеет ФЛАЖОК к содержанию ДОКУМЕНТА, которое проверяется? Вы же прекрасно сами понимаете, что такое же, как кнопки "записать" и "ОК". Тут уж действительно ЖКК не помогут. Зачем отправлять пользователя обратно в форму ввода, если он просто не установил флажок "проводить" в true? Получается замкнутый цикл. Ведь ничего редактировать в документе ему не надо. А значит, надо просто записать документ без проведения.
(111) В любом случае, разобрали и этот вопрос, тоже пригодится. (110) Спасибо за наводку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |