Имя: Пароль:
1C
 
Как запретить снимать и ставить пометку на удаление
0 Uragan_a
 
23.05.11
11:52
Как запретить снимать и ставить пометку на удаление, если установлен запрет на изменение данных периода в который попадает документ по данной организации.
События такого нет, начальник сказал смотреть событие перед записью, но там тоже ничего не нашел. Что то где то натыкался что можно через роли?
Куда копать?
1С:Предприятие 8.2 (8.2.13.219)
омплексная автоматизация, редакция 1.1 (1.1.9.1)
1 IronDemon
 
23.05.11
11:54
Это изменение.
2 hhhh
 
23.05.11
11:54
если запрет установлен, там и пометки не даст вам поставить.
3 Uragan_a
 
23.05.11
11:54
суть в том, что если документ не проведен, хоть и стоит запрет редактирования система все равно позволяет ставить и снимать галочку на удаление.
4 Uragan_a
 
23.05.11
11:55
(2) если не проведен дает
5 IronDemon
 
23.05.11
11:55
(3) Правила покажи
6 shuhard
 
23.05.11
11:56
(0) начальник прав
7 Uragan_a
 
23.05.11
11:56
(5) это глде?)
8 ptiz
 
23.05.11
11:56
(0) В типовой это сделано через подписку на событие - смотри её.
9 Ksandr
 
23.05.11
11:57
ПередЗаписью

Отказ = НЕ ПериодДоступен И Объект.ПометкаУдаления <> Ссылка.ПометкаУдаления;
10 Uragan_a
 
23.05.11
12:03
(9) не угорайте) что тут объект?
11 Uragan_a
 
23.05.11
12:04
я не могу понять, как это работает (((
12 73
 
23.05.11
12:13
(11) В ПередЗаписью объекта сравнивается записываемое значение ПометкиУдаления с тем, что хранится в базе(у ссылки).
13 Uragan_a
 
23.05.11
12:21
видимо чего то не так (
Если ЭтотОбъект.ПометкаУдаления <> Ссылка.ПометкаУдаления тогда
         Сообщить("Работает");
   КонецЕсли;
14 73
 
23.05.11
12:25
Что не так?
15 Uragan_a
 
23.05.11
12:26
(13) ну не срабатывает(
16 73
 
23.05.11
12:27
(15) А где ты этот код написал?
17 shuhard
 
23.05.11
12:28
(15) весь код процедуры покажи + картинку подписки
18 Uragan_a
 
23.05.11
12:36
ну для проверки просто в процедуру перед записью

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
   Если ОбменДанными.Загрузка  Тогда
       Возврат;
   КонецЕсли;

   ОчиститьНенужныеТабличныеЧасти();

   // Проверка заполнения единицы измерения мест и количества мест
   ОбработкаТабличныхЧастей.ПриЗаписиПроверитьЕдиницуИзмеренияМест(Товары);
   ОбработкаТабличныхЧастей.ПриЗаписиПроверитьЕдиницуИзмеренияМест(Оборудование);
   
   ОбработкаТабличныхЧастей.ПриЗаписиПроверитьСтавкуНДС(ЭтотОбъект, Товары);
   ОбработкаТабличныхЧастей.ПриЗаписиПроверитьСтавкуНДС(ЭтотОбъект, Услуги);
   ОбработкаТабличныхЧастей.ПриЗаписиПроверитьСтавкуНДС(ЭтотОбъект, Оборудование);
   ОбработкаТабличныхЧастей.ПриЗаписиПроверитьСтавкуНДС(ЭтотОбъект, ОбъектыСтроительства);

   // Посчитать суммы документа и записать ее в соответствующий реквизит шапки для показа в журналах
   СуммаДокумента = УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект);

   УчетНДС.СинхронизацияПометкиНаУдалениеУСчетаФактуры(ЭтотОбъект, "СчетФактураПолученный");

   // Заполнить склад и ордер в табличных частях
   СкладИзШапки    =  (Не мУказаниеСкладовВТЧ) И (ВидПоступления <> Перечисления.ВидыПоступленияТоваров.ПоОрдеру);

   УправлениеЗаказами.ЗаполнитьЗаказПоставщикуВТЧ(ВидОперации,ЭтотОбъект, "Поступление");
   //при поступлении в переработку все товары должны быть зарезервированы под заказ из шапки
   Если ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ВПереработку и ЗначениеЗаполнено(Сделка) Тогда
       Для каждого СтрокаТЧ из Товары цикл
           СтрокаТЧ.Заказ = Сделка;
       КонецЦикла;
   КонецЕсли;

   ОбработкаТабличныхЧастей.ЗаполнитьСкладИОрдерВСтрокахТабЧасти(ЭтотОбъект, Товары,         СкладИзШапки);
   ОбработкаТабличныхЧастей.ЗаполнитьСкладИОрдерВСтрокахТабЧасти(ЭтотОбъект, ВозвратнаяТара, СкладИзШапки);
   ОбработкаТабличныхЧастей.ЗаполнитьСкладИОрдерВСтрокахТабЧасти(ЭтотОбъект, Оборудование,   СкладИзШапки);
   
   Если Не мУказаниеПроектовВТабличнойЧастиДокументов Тогда
       УправлениеПроектами.ЗаполнитьПроектВСтрокахТабЧасти(ЭтотОбъект, Услуги);
   КонецЕсли;

   // Удаление неиспользуемых строк табличной части "Серийные номера".
   УчетСерийныхНомеров.УдалитьНеиспользуемыеСтрокиПодчиненнойТЧ(ЭтотОбъект, мПараметрыСвязиСтрокТЧ, "Товары");

   УчетНДС.ПроверитьСоответствиеРеквизитовСчетаФактуры(ЭтотОбъект, "СчетФактураПолученный");
   
   // Заполним субконто затрат
   СчетаУчетаВДокументах.ЗаполнитьСубконтоТабличнойЧасти("Услуги", ЭтотОбъект, ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете);
   
   мУдалятьДвижения = НЕ ЭтоНовый();
   
   Отказ =  ЭтотОбъект.ПометкаУдаления <> Ссылка.ПометкаУдаления;   //НЕ ПериодДоступен И
   
   Если ЭтотОбъект.ПометкаУдаления <> Ссылка.ПометкаУдаления тогда
         Сообщить("Работает");
   КонецЕсли;
КонецПроцедуры // ПередЗаписью
19 Uragan_a
 
23.05.11
12:40
(17) картинку чего ? (((
20 73
 
23.05.11
12:44
(18) Как определил, что не работает?
21 Uragan_a
 
23.05.11
12:47
(20) есть документ помеченный на удаление, я снимал и ставил, сообщение не вышло (
22 Uragan_a
 
23.05.11
12:48
Документ «Счет-фактура выданный С000000795 от 04.01.2011 0:00:00» помечен на удаление.
У документа «Счет-фактура выданный С000000795 от 04.01.2011 0:00:00» снята пометка на удаление.
23 Uragan_a
 
23.05.11
12:48
блин
24 Uragan_a
 
23.05.11
12:48
вот я предурок
25 Uragan_a
 
23.05.11
12:49
а нет.
ничего нет(
26 Uragan_a
 
23.05.11
12:51
ребят помогите
27 73
 
23.05.11
12:55
Может я и ошибаюсь, но настораживает:
(18)>> ....."СчетФактураПолученный"....
(22)>> Счет-фактура выданный
28 Uragan_a
 
23.05.11
12:56
ну меня тоже
29 Uragan_a
 
23.05.11
12:56
сек
30 Uragan_a
 
23.05.11
12:58
ну вообще это документ реализация товаров и услуг
31 73
 
23.05.11
12:59
(30) А помечаешь/снимаешь какой?
32 Uragan_a
 
23.05.11
13:00
я идиот. спасибо
33 Uragan_a
 
23.05.11
13:00
Только вот теперь как мне получить ссылку на редактируемый документ в общем модуле?
34 Ksandr
 
23.05.11
13:02
(33) в подписке?
35 73
 
23.05.11
13:02
(33) Ссылка - это реквизит объекта. Если объект есть, есть и ссылка.
ЭтотОбъект.ПометкаУдаления <> Ссылка.ПометкаУдаления

равносильно:

ЭтотОбъект.ПометкаУдаления <> ЭтотОбъект.Ссылка.ПометкаУдаления
36 Uragan_a
 
23.05.11
13:04
Спасибо
37 Uragan_a
 
23.05.11
13:07
получается в ссылке данные после записи обновляются? или как почему так что реквизит документа не равен ссылке на него ...?
38 Uragan_a
 
24.05.11
02:18
косяк теперь, то что при открытии он позволяет сохранять изменения непроведенного документа (
спасайте
39 Fram
 
24.05.11
02:44
(38) а раньше не позволял?
40 Uragan_a
 
24.05.11
02:50
разобрался спасибо, а свойство формы Только Просмотр можно установить только передОткрытием?
В подписи на событие не отлавливается это событие (
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн