|
При отмене проведения документа | ☑ | ||
---|---|---|---|---|
0
kotokent
23.01.14
✎
13:59
|
Создается общий модуль и привязка к подписки на событие, задача следующая:
При отмене проведения документа проверять, если документ содержит реквизит ответственный и текущий пользователь отличается от пользователя, выбранного в качестве ответственного тогда система не должна позволять отменить проведение документа. А если реквизит не заполнен тогда заполнить его текущим пользователем. Процедура ОтменаПроведенияОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт Если Источник.Ответственный = Истина и ПараметрыСеанса.ТекущийПользователь <> Источник.Ответственный Тогда Источник.Провести = Ложь Иначе Если Источник.Ответственный = "" Тогда Источник.Ответственный = ПараметрыСеанса.ТекущийПользователь КонецЕсли КонецЕсли КонецПроцедуры |
|||
159
Мимохожий Однако
27.01.14
✎
11:17
|
(154) Ты прав. Надежда умерла.
|
|||
160
kotokent
27.01.14
✎
11:20
|
(158) http://s019.radikal.ru/i619/1401/3b/06ede025f6e1.png
я нажимаю да и он по коду в конец цикла уходит |
|||
161
NcSteel
27.01.14
✎
11:20
|
(158) Ты не 1Сник.
|
|||
162
NcSteel
27.01.14
✎
11:21
|
(160) И че?
|
|||
163
kotokent
27.01.14
✎
11:22
|
(162) это я хотел у вас спросить, получается надо делать оперативный режим проведения или что
|
|||
164
NcSteel
27.01.14
✎
11:23
|
(163) Чем отличается оперативный от неоперативного режима проведения и как режим проведения связан с твоей задачей?
|
|||
165
kotokent
27.01.14
✎
11:25
|
(164) незнаю, я его и так и так попробовал, но он нафига не работает, не меняет ответственного и не выдает ошибкиесли ответственный и текущий пользователь отличаются
|
|||
166
Wobland
27.01.14
✎
11:25
|
(161) 1Сник. только не настоящий, не жадный. исключение, так сказать ;)
|
|||
167
NcSteel
27.01.14
✎
11:27
|
(165) Ну вот, у тебя уже есть первая задача - "Узнать чем отличается оперативное проведение от неоперативного".
Например гугл мне выдал: http://blog.ut10.ru/2012/02/16/op_ne_op/ |
|||
168
NcSteel
27.01.14
✎
11:28
|
(167) + http://programmist1s.ru/operativnoe-i-neoperativnoe-provedenie-dokumentov-1s/
В общем гугл знает. |
|||
169
kotokent
27.01.14
✎
11:28
|
(167) не... я это уже понял... ща покажу что он мне по отладчику делает
|
|||
170
NcSteel
27.01.14
✎
11:28
|
(166) С делаешь за него - не научится ни чему.
|
|||
171
catena
27.01.14
✎
11:28
|
(167) Он свою-то задачу сформулировать не может, а вы его еще лишними теминами грузите.
|
|||
172
NcSteel
27.01.14
✎
11:29
|
(169) Если понял, то как связана твоя задача с режимом проведения?
|
|||
173
NcSteel
27.01.14
✎
11:29
|
(171) Человек хочет на готовенькое... такое надо искоренять сразу.... Иначе дубиной и помрет.
|
|||
174
Wobland
27.01.14
✎
11:30
|
(170) иногда я вопросами задалбываю. иногда помогает. но здесь ТС уже достал ;)
|
|||
175
catena
27.01.14
✎
11:30
|
(173)Этого человека пока еще надо носом в ЖКК тыкать, в самые первые страницы.
|
|||
176
kotokent
27.01.14
✎
11:31
|
||||
177
NcSteel
27.01.14
✎
11:32
|
(176) Вопросы заданы - ждем ответа )
|
|||
178
Wobland
27.01.14
✎
11:32
|
(176) что, условие про режим проведения дало ложь?
|
|||
179
catena
27.01.14
✎
11:32
|
(176)И какой у тебя при этом режим проведения?
|
|||
180
Wobland
27.01.14
✎
11:33
|
а есть ли переменная РежимПроведения?
|
|||
181
Wobland
27.01.14
✎
11:33
|
(180) вижу
|
|||
182
kotokent
27.01.14
✎
11:33
|
(175) (173)
я учусь, и не надо на меня орать;) (179)Оперативный, да и это не важно как то |
|||
183
Wobland
27.01.14
✎
11:34
|
(182) угу. главное, что не отмена. тогда заход в ветку не происходит
|
|||
184
catena
27.01.14
✎
11:34
|
(182)Все еще удивляет поведение отладчика?
|
|||
185
kotokent
27.01.14
✎
11:34
|
я вот не пойму как режим проведения и режим записи документа могут совпасть
|
|||
186
kotokent
27.01.14
✎
11:35
|
(184) нет, но мне он сильно не помогает
|
|||
187
kotokent
27.01.14
✎
11:35
|
(184) может режим проведения поменять на режим записи
|
|||
188
Wobland
27.01.14
✎
11:36
|
(185) правильный вопрос: как может совпасть режим проведения с системным перечислением про отмену проведения?
|
|||
189
catena
27.01.14
✎
11:36
|
(186)Тебя таблом уже учили пользоваться?
|
|||
190
kotokent
27.01.14
✎
11:36
|
(189) нет, но я видел это чудо
|
|||
191
catena
27.01.14
✎
11:37
|
(190)Ну так смотри в таблу и переписывай оттуда те значения, которые тебе нужны для реакции. Что ж ты тупо код копируешь, ты даже задачу толком не озвучил, тебе тут понапишут...
|
|||
192
NcSteel
27.01.14
✎
11:39
|
(185) Правилньый вопрос - и ответ ни как. Поэтмоу условие и не отрабатывает.
|
|||
193
kotokent
27.01.14
✎
11:40
|
задача тут(0), как у меня на листочке написанно
|
|||
194
NcSteel
27.01.14
✎
11:40
|
(187) Я тебе советую с начала сделать аоритм на одном документе . Описать его в модуле документа без подписок... А потом уже переносить в подписку.
|
|||
195
kotokent
27.01.14
✎
11:42
|
(194) вот он первое ЕСЛИ видит, но при проведении, а потом сразу в конец перескакивает
|
|||
196
Wobland
27.01.14
✎
11:43
|
(195) если работает так. проверяется логическое условие, при истинном результате идёт заход внутрь, при ложном - в конецЕсли. внезапно, правда?
|
|||
197
Wobland
27.01.14
✎
11:44
|
найди Colobot - прекрасная игрунька
|
|||
198
NcSteel
27.01.14
✎
11:44
|
(195) Показывайте код который у Вас получился для одного документа.
|
|||
199
kotokent
27.01.14
✎
11:44
|
(196) нет, я про то что не так в первом если то... я уже его поменял немного
Если РежимЗаписиДокумента.ОтменаПроведения = Истина Тогда так сделал |
|||
200
Wobland
27.01.14
✎
11:45
|
твести!
|
|||
201
Wobland
27.01.14
✎
11:45
|
(199) всегда будет ложь
|
|||
202
Wobland
27.01.14
✎
11:45
|
(201) всегда будет фигня какая-то, не?
|
|||
203
NcSteel
27.01.14
✎
11:45
|
(199) Зачем гадать? Не легче ли написать нормальный алгоритм?
|
|||
204
kotokent
27.01.14
✎
11:47
|
(203) я сам пытался но не выходило (0)
|
|||
205
NcSteel
27.01.14
✎
11:50
|
(203) Давай по порядку... При каком событии документа должен отрабатывать твой код?
|
|||
206
catena
27.01.14
✎
11:51
|
(193)В (0) у тя только про отмену проведения написано, а тестируешь на проведении почему-то И удивляешься, что предоставленный код не работает. Удивительно, правда?
|
|||
207
kotokent
27.01.14
✎
11:51
|
(205) При отмене проведения любого документа
|
|||
208
kotokent
27.01.14
✎
11:52
|
(206) так он просто отменяе проведение и все, я его обрано провожу, чтобы потом еще раз отменить
|
|||
209
NcSteel
27.01.14
✎
11:52
|
(207) такого события у документа нет.
Какие события документов вы знаете? |
|||
210
kotokent
27.01.14
✎
11:53
|
(209) записать
|
|||
211
kotokent
27.01.14
✎
11:54
|
(209) при записи, перед записью и т.д.
|
|||
212
NcSteel
27.01.14
✎
11:54
|
(210) И такого нет.
Советую зайти в синтаксис помощник и перейти по: Прикладные объекты - документы - документ объект - События |
|||
213
NcSteel
27.01.14
✎
11:55
|
(211) Именно.
так вот у некоторых событий есть параметры. И через эти параметры можно понять что сделал пользователь (отменил проведение или провел). параметр именуется "РежимЗаписи".... |
|||
214
NcSteel
27.01.14
✎
11:57
|
(213) + Какое событие нам может подойти?
|
|||
215
kotokent
27.01.14
✎
11:57
|
(213) так при проведении документа срабатывает событие при записи, а при отмене проведения срабатывает ?
|
|||
216
Wobland
27.01.14
✎
11:57
|
(215) срабатывает, также происходит запись
|
|||
217
NcSteel
27.01.14
✎
11:58
|
(215) Отменяя проведение мы меняем объект - а это и есть запись. Поэтому естественно срабатывает.
|
|||
218
kotokent
27.01.14
✎
11:58
|
(214) (216) ну тогда надо передзаписью (217) событие назначить
|
|||
219
Wobland
27.01.14
✎
12:00
|
(218) а почему бы не заюзать удаление проведения?
|
|||
220
NcSteel
27.01.14
✎
12:01
|
(218) Отлично.
для проверки алгоритма, я бы в документе где есть Ответственный добавил бы событие "ПередЗаписью" в модуле документа (если он там не описан конечно) И описал бы алгоритм. Останется в условии проверить соответствие ответственного и заполненность его. |
|||
221
NcSteel
27.01.14
✎
12:01
|
(219) Вот и я ступил - точно... то что надо )
|
|||
222
NcSteel
27.01.14
✎
12:02
|
(220) В свете (219) Событие другое , но суть не меняется )
|
|||
223
kotokent
27.01.14
✎
12:04
|
(222) так событие передзаписью добавить или "ступил" :)?
|
|||
224
Wobland
27.01.14
✎
12:06
|
(223) включить мозг и постараться ответить на свой вопрос самостоятельно
|
|||
225
kotokent
27.01.14
✎
12:07
|
(222) вооот... теперь он мне где не было пользователя написал "Текущего" и не дал отменить провести с другим ответственным
|
|||
226
NcSteel
27.01.14
✎
12:09
|
(225) У события есть параметры, каким параметром события можно отказаться от его выполнения?
|
|||
227
Wobland
27.01.14
✎
12:09
|
это хорошо или плохо?
|
|||
228
kotokent
27.01.14
✎
12:11
|
(226) отказ
|
|||
229
kotokent
27.01.14
✎
12:11
|
(227) это хорошо, очень хорошо, но что то нет чувства что задание выплнено
|
|||
230
Loyt
27.01.14
✎
12:13
|
(156) А при чём тут вообще режим проведения?
|
|||
231
NcSteel
27.01.14
✎
12:13
|
(228) То есть сделав что то с этим параметром, можно отказаться от выпонления действия пользователя...
|
|||
232
kotokent
27.01.14
✎
12:13
|
(226) (227) Спасибо большое, вроде работает как по заданию написано, без вас я бы и не додумался
|
|||
233
kotokent
27.01.14
✎
12:14
|
(231) не, тогда РежимПроведения
|
|||
234
kotokent
27.01.14
✎
12:15
|
(231) отказ это не то
|
|||
235
kotokent
27.01.14
✎
12:16
|
(231) хотя и отказ можно так поставить что просто не дост сделать действий с документом
|
|||
236
Loyt
27.01.14
✎
12:16
|
(218) Про "ПередЗаписью" тебе давно уже написали, ты что, и после этого другое событие использовал?
|
|||
237
kotokent
27.01.14
✎
12:18
|
(236) там тело процедуры не правильное было
|
|||
238
NcSteel
27.01.14
✎
12:18
|
(234) отказ как раз это то...
Возводя его в Истину пользователь не сможет отменить проведение дкоумента. |
|||
239
Loyt
27.01.14
✎
12:18
|
(233) На режимПроведения тебе вообще положить должно быть.
|
|||
240
Loyt
27.01.14
✎
12:19
|
(235) Он и должен запрещать отмену проведения, если ответственный заполнен и не совпал.
|
|||
241
kotokent
27.01.14
✎
12:20
|
(238) Да, я прочитал уже, до этого не посмотрел:)
(239) ну я то думал это то что мне надо |
|||
242
catena
27.01.14
✎
12:20
|
Я вот думаю, при приеме решения тестового задания от кандидатов, имеет смысл так же просить ссылку на ветку с обсуждением.
|
|||
243
Loyt
27.01.14
✎
12:21
|
(237) Да ну? И ты, разумеется, не знаешь, что было неправильно?
|
|||
244
kotokent
27.01.14
✎
12:22
|
(242) ну если бы я это знал, то и не спрашивал, то что описано в книгах и на сайте я сразу разобрал и сам написал метод Гаусса, а здесь запарился
|
|||
245
Loyt
27.01.14
✎
12:22
|
(242) По-моему, такие мелкие задания при очной ставке задают, не?
|
|||
246
kotokent
27.01.14
✎
12:22
|
(243) теперь то знаю
|
|||
247
Loyt
27.01.14
✎
12:23
|
(246) Поделись, пожалуйста.
|
|||
248
kotokent
27.01.14
✎
12:23
|
(245) ну вам то виднее, я то еще не работаю, а учусь
|
|||
249
kotokent
27.01.14
✎
12:26
|
(247)
Процедура ПроверитьОтветственногоПередЗаписьюДокументаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Перем Ответственный; Ответственный = ОбщегоНазначения.ПолучитьРеквизитШапки("Ответственный", Источник, Источник.Метаданные()); Если (НЕ Ответственный = НЕОПРЕДЕЛЕНО) И (НЕ РольДоступна("ПолныеПрава")) Тогда //Если НЕ РольДоступна("ПолныеПрава") Тогда //Если НЕ Источник.Ответственный=Источник.Ссылка.Ответственный Тогда // Сообщить("Нельзя менять ответственного!"); // Отказ = Истина; //КонецЕсли; Если Источник.Ответственный <> ПараметрыСеанса.ТекущийПользователь Тогда Сообщить("Этот документ создал "+Источник.Ответственный+", а не Вы ,"+ПараметрыСеанса.ТекущийПользователь+"). Редактирование запрещено"); Отказ = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры не было записи текущего пользователя если поле пустое |
|||
250
kotokent
27.01.14
✎
12:28
|
(247) во как
|
|||
251
catena
27.01.14
✎
12:31
|
(245)Иногда мелкие задачи просят решить заранее и придти с решением. Чтобы время не терять уже.
|
|||
252
kotokent
27.01.14
✎
12:32
|
(251) мне и дали написать конфигурацию небольшую, чтобы посмотреть что я могу
|
|||
253
catena
27.01.14
✎
12:34
|
(252)А где учишься? И на кого?
|
|||
254
kotokent
27.01.14
✎
12:35
|
(253) 5 курс информационные системы в управлений: прикладная информатика в экономике... а это задание мне на моей работе-практике дали, чтобыпройти сертификацию
|
|||
255
catena
27.01.14
✎
12:41
|
Был у меня один студент на собеседовании. Чистый лист, но схватывал на лету. Через полчаса общения запросы писал с любыми соединениями, параметры виртуальных таблиц усвоил, временные таблицы пощупал... Жаль не разрешили взять, некогда было обучать тогда.
|
|||
256
NcSteel
27.01.14
✎
12:43
|
(255) Такие обучаются сами.... достаточно пару пинков к нужным книгам
|
|||
257
catena
27.01.14
✎
12:46
|
(256)У меня тогда каждая штатная единица на счету была. Но мысля держать единицу на студента засела.
|
|||
258
Loyt
27.01.14
✎
12:52
|
(249) Это не мой код. Мой - в (151).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |