Имя: Пароль:
1C
1С v8
Проведение Документа Реализация
,
0 V1rus93
 
09.07.19
15:39
Помогите решить задачку. У меня в форме списка Реализация Товаров и услуг есть колонка печать. Я создал регистр сведения и записываю туда документы(проведенные) которые были напечатаны. Но при перепроведении документов документ пропадает из регистра и флажок в колонке печать. Как можно заблокировать или создать запрос на проверку "существует ли документ в регистре" перед проведением. Или если документ уже существует в регистре чтобы он при перепроводке не пропадал.
[url=https://radikal.ru/big/2ia3srve9dzhq][img]https://b.radikal.ru/b39/1907/8c/269c5043b274t.jpg[/img][/url]
1 V1rus93
 
09.07.19
15:40
(0) https://b.radikal.ru/b39/1907/8c/269c5043b274.png Вот норм ссылка
2 CHerypga
 
09.07.19
15:46
думается мне что регистр сведений подчинен регистратору, и есть подписка на событие ОбработкаУдаленияПроведенияДокумента
хотя кто знает что там в УТ, тем более на Украине
3 V1rus93
 
09.07.19
15:48
(2) Вы правы Регистратором регистра сведений является Реализация Товаров и Услуг.
Процедура ОбработкаУдаленияПроведения(Отказ)
    
    ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ);
    
КонецПроцедуры
4 V1rus93
 
09.07.19
15:56
Я просто недавно изучаю программирование в 1с. И был бы рад помощи в данном вопросе. Я так понимаю проще всего будет сделать просто запрет на удаление из регистра "Печать Документов" если этот документ уже есть там?
5 hhhh
 
09.07.19
16:11
(4) создай регистр сведений не подчиненный регистратору. не надо подчинять.
6 V1rus93
 
09.07.19
16:18
(5) Без регистратора он просто не привязывается к документу. Может тут просто сделать проверку на существование документа?
// Запись РС ПечатьДокумента
    НаборЗаписей = РегистрыСведений.ПечатьДокументов.СоздатьНаборЗаписей();

    НаборЗаписей.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);
    
    НоваяЗапись = НаборЗаписей.Добавить();

    НоваяЗапись.Период = ЭтотОбъект.Дата;
    НоваяЗапись.Ответственный = ПараметрыСеанса.ТекущийПользователь;
    НоваяЗапись.ДатаПечати = ТекущаяДата();    
    НаборЗаписей.Записать();    
    
    НаборЗаписей.Прочитать();
       НаборЗаписей.Очистить();
    НоваяЗапись = НаборЗаписей.Добавить();
7 hhhh
 
09.07.19
16:21
(6) так документ сделать измерением регистра, вот и привяжется.
8 V1rus93
 
09.07.19
16:26
(7) А можно по подробней? Удаляем регистратор, создаем измерение с типом документ "Реализация Товаров и услуг", а что дальше?
9 Daluvan
 
09.07.19
16:30
(8) А если просто не удалять движения?
10 V1rus93
 
09.07.19
16:33
(9) Удаление движений: "Не удалять автоматически" в документе
11 Daluvan
 
09.07.19
16:35
(10) ну это распространится на все движения.
12 Daluvan
 
09.07.19
16:39
(10) Нужно как выше писали сделать регистр "без регистратора".
13 V1rus93
 
09.07.19
16:46
(12) Ну можно же просто удалить регистратор из уже существующего регистра. И привязать регистр через "Измерения". Но что дальше?
В "Обработке заполнения" куда отправляет нас конструктор движения ничего не сказано за регистр "Печать документов". Я просто не опытный видимо и не догоняю как это сделать
14 Daluvan
 
09.07.19
16:51
(13) В ручную писать
15 Daluvan
 
09.07.19
16:52
(13) Создать запись - заполнить запись регистра
16 V1rus93
 
09.07.19
16:54
(15) Я понял, спасибо за помощь. Буду пробовать !
Ошибка? Это не ошибка, это системная функция.