Имя: Пароль:
1C
1С v8
Запрет редактирования строки с определенным складом.
,
0 Румата
 
07.04.14
16:08
Процедура ТоварыПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
    СкладВСтроке = ЭлементыФормы.Товары.ТекущиеДанные.Склад;
    Отбор = Новый Структура;
    Отбор.Вставить("Склад",СкладВСтроке);
    НашаТЗ =  ОтгрузкаПоСкладам.Выгрузить(Отбор);
    Если НашаТЗ.Количество()>0 Тогда
        Если НашаТЗ[0].Отгружено Тогда
            
             Предупреждение("Отгрузка по данному складу уже произведена ! Дальнейшее редактирование не возможно !");
              ОтменаРедактирования = Истина;
             // Отказ = Истина;
            
        КонецЕсли;    
    КонецЕсли;    

КонецПроцедуры



Подскажите пожалуйста : надо чтобы при условии, что отгрузка по складу закончена, запретить вводить в табличной части товары строки с этим складом, а так же запретить редактировать существующие с этим же складом. Написал код, которые выше, но он не работает корректно. Какой предопределенной процедурой воспользоваться, чтобы обработать данную ситуацию ?
1 Жан Пердежон
 
07.04.14
16:09
ОбработкаПроведения
2 Румата
 
07.04.14
16:16
(Жан Пердежон) Мне надо чтобы пользователь, который начал редактировать (заводить) строку по складу, по которому отгрузка завершена, сразу получал уведомление в момент окончания редактирования данной строки.
3 Remark
 
07.04.14
16:18
(2) Или сразу после выбора склада в колонке "Склад"?
4 Румата
 
07.04.14
16:22
(Remark) выбор склада будет в большинстве случаев при заведении новой строки.Такую строку нельзя заводить.

Так же надо чтобы в существующих строках по складу, отгрузка по которому завершена, нельзя было изменить количество, цену и т.д.
5 Румата
 
07.04.14
16:50
Вверх
6 Remark
 
07.04.14
18:26
(4) А как это реализовано?
7 Румата
 
07.04.14
18:55
Реализовано в (0). Но код не рабочий, т.к. после него не дает выйти из ячейки. Приходится закрывать программу аварийно. Зацикливание происходит...
8 Enders
 
07.04.14
19:03
(7) Проверяй перед началом редактирования на возможность редактировать (ставь в отказ).
И при изменении склада проверяй на возможность добавления. Если нельзя, удаляй строку
9 Enders
 
07.04.14
19:06
Ну или сообщай "нельзя выбрать этот склад бла-бла-бла" и ставь пустую ссылку.
Или вообще убери возможность выбора этого склада.
(это по поводу добавления)
10 Румата
 
07.04.14
19:32
(Enders) Спасибо, все что сказали в (8) сделал, вроде получилось. А какие процедуры смотреть, чтобы пользователь не смог изменить цены по выбранному складу через "Обработку табличной части", а так же не смог добавить строки в документ например по кнопке "Заполнить - добавить из поступления" ? А так же кнопка "Подбор" интересует. Каждую такую кнопку отрабатывать отдельно или есть универсальные процедуры, которую смогут это отследить ?
11 Remark
 
07.04.14
20:07
(10) ОбработкаВыбора, ОбработкаОповещения и сами процедуры в указанных обработках
12 Remark
 
07.04.14
20:13
(7) В (0) ничего такого не реализовано. Кроме событий табличного поля есть еще события полей ввода, т.е когда происходит выбор в ячейке. Например, ПриИзменении...