Имя: Пароль:
1C
1С v8
Удаление записей из регистра сведений
0 СэдКС
 
20.08.13
06:19
Доброе утро! Возможно, простой вопрос, но решить не получается.
Какое условие можно прописать, чтобы при отмене проведения документа записи из регистра сведений удалялись?
Регистр сведений периодический и независимый

Добавление записей таким образом:
Для Каждого ТекСтрока Из Материалы Цикл
        Движение = РегистрыСведений.СпецодеждаВЭксплуатации.СоздатьМенеджерЗаписи();
        Движение.Период = Дата;
        Движение.Номенклатура = ТекСтрока.Номенклатура;
        Движение.Подразделение = ТекСтрока.Подразделение;
        Движение.ХарактеристикаНоменклатуры = ТекСтрока.ХарактеристикаНоменклатуры;
        Движение.ФизЛицо = ТекСтрока.ФизЛицо;
        Движение.ДатаПередачиВЭксплуатацию = ТекСтрока.ДатаПередачиВЭксплуатацию;
        Движение.НазначениеИспользования = ТекСтрока.НазначениеИспользования;
        Движение.Количество = ТекСтрока.Количество;
        Движение.Операция = (Перечисления.КодыОперацийМатериалыВЭксплуатации.СписаниеИзЭксплуатации);
        Движение.Записать();
    КонецЦикла;
1 Godofsin
 
20.08.13
06:22
(0) Конфа какая?
2 Godofsin
 
20.08.13
06:24
ОбщегоНазначения.УдалитьДвиженияРегистратора
3 Godofsin
 
20.08.13
06:24
(Объект, Отказ)
4 Vovan_Magadan
 
20.08.13
06:28
" чтобы при отмене проведения документа записи из регистра сведений удалялись? "


Удалялись ВСЕ записи этого регистра? Или только которые делал документ? Если регистр не подчинен у него и нет регистратора)
5 СэдКС
 
20.08.13
06:47
(1) УПП
(4) Удалить нужно только те движения, которые сделал текущий документ. Регистратора нет. Значит, невозможно. Очень печально(((
6 Godofsin
 
20.08.13
06:52
(5) Прикольно.
7 Rie
 
20.08.13
06:53
(5) Не помню в типовой УПП такого регистра сведений.
А если сами добавляли - то подчините его регистратору. И проблема решится.
8 Vovan_Magadan
 
20.08.13
06:53
(5) ну в крайнем случаи добавить в регистр "Реквизит" типа регистратор. Потом при отмене документа выбирать из регистра ОТБОРОМ записи по регистратору.

= быдлокод
9 СэдКС
 
20.08.13
07:56
(2) Godofsin, вы были правы, только я вашего намека не поняла.

В Процедуре ОбработкаУдаленияПроведения(Отказ) добавляем те же строчки, что и при добавлении записей, только вместо Движение.Записать() пишем Движение.Удалить(). Как хорошо, что я не успела изменить регистр
10 Rie
 
20.08.13
07:57
(9) А если документ - изменился? Будут ли строчки - теми же?
11 СэдКС
 
20.08.13
08:27
(10) Если дата документа изменилась, то конечно эти строки не удалятся и останутся в регистре
12 СэдКС
 
20.08.13
08:29
не только дата. любые данные
13 Starhan
 
20.08.13
08:30
(11) если документ изменили и перепровели, как думаешь что произойдет?
14 Rie
 
20.08.13
08:30
(11) И если спецодежда изменилась - тоже не удалятся, а останутся в регистре...
Подчините регистр регистратору - и не мучайте себя и базу.
15 СэдКС
 
20.08.13
09:46
(14) Нельзя подчинять регистратору. Тогда не получится отчет по выданной спецодежде, движения по которой в базе с 2009г. С мая мы всю спецодежду перекинули в эксплуатацию, а дату выдачи в регистре подправили вручную. Если бы изначально спецодежда выдавалась документами, кот. предназначены специально для спецодежды, то этот регистр мы бы не создавали.
16 Rie
 
20.08.13
09:54
(15) Тогда заведите дополнительный реквизит и записывайте в него документ, создавший движения, как предложено было в (8).
17 СэдКС
 
21.08.13
11:05
+ (10) Добавили условие, в котором указано, что изменение документа возможно только при предварительной отмене проведения документа. Теперь ненужные строчки в регистре оставаться не будут.
18 Rie
 
21.08.13
11:37
(17) (Левой рукой... В правом ухе... Зонтик открывать...)
Что плохо - заставляете пользователя делать дополнительное действие. Конечно, если операторам на работе больше нечем запяться - то пусть хотя бы проведение отменяют.
(Временами ошибаясь - проведение отменили, вспомнили, что этот документ изменять не надо, бросились к следующему, забыв вновь провести документ, проведение которого было отменено).
19 СэдКС
 
21.08.13
12:04
(18) Я понимаю, что это создает неудобства, но бухгалтер не должен забывать провести документ
20 Rie
 
21.08.13
12:06
(19) "Не должен" - не означает "не забудет".
Зачем перекладывать на пользователя работу, которую должна сделать программа?
Какая религия запрещает Вам дополнить регистр сведений реквизитом?
21 СэдКС
 
21.08.13
12:23
(20) -> (8) придется же писать быдлокод? а без отбора не обойтись
22 Rie
 
21.08.13
13:10
(21) А требовать от пользователя отмены проведения перед редактированием документа - это, видимо, шедевр программистского искусства?
23 СэдКС
 
21.08.13
14:43
Нет конечно. Я же не говорю, что это есть хорошо. Но может быть у пользователя появится стимул делать документ сразу без ошибок? Вспомните диктанты по русскому языку. Даже за исправление ошибки у нас снижалась оценка на бал.
24 MSOliver
 
21.08.13
14:49
(0) постановка задачи не корректив
25 hhhh
 
21.08.13
14:53
(23) но это ведь реально ваша недоработка. И на сколько баллов вам снизят? Может просто выгонят.
26 Rie
 
21.08.13
17:21
(23) Стимулов у пользователя и так хватает. А вот исправлять ошибки программиста - в задачи пользователя не входит. А провоцировать пользователя на ошибки (которые скажутся на работе предприятия, где Вы зарплату получаете) - нехорошо. Совсем нехорошо.
27 СэдКС
 
22.08.13
05:34
Я вас поняла
Ошибка? Это не ошибка, это системная функция.