Имя: Пароль:
1C
1С v8
Не записываются изменения субконто в регистре бухгалтерии
,
0 bebibo
 
23.09.22
13:56
Всем добрый день!

Каким то образом в проводке у двух позиций (давнишних от 2016 года) субконто "Договоры" типа не определено. А по этому документу сделано сторно. Соответственно из-за того, что в одном документе субконтоДт.Договоры = неопределено, а в другом СубконтоДт.Договоры = Справочники.ДоговорыКонтргентов (пустая ссылка), то в отчете не схлопывается.

Пишу такой код в обработке:


&НаСервере
Процедура НачатьНаСервере()
    Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
        
    Набор.Отбор.Регистратор.Установить(Объект.СсылкаНаОбъект);
        
    Набор.Прочитать();
    
    Для каждого Запись из Набор Цикл
        
        Если Запись.СубконтоДт.Договоры = Неопределено Тогда    
            
            Запись.СубконтоДт.Договоры = Справочники.ДоговорыКонтрагентов.ПустаяСсылка();    
            
        КонецЕСли;
        
    КонецЦикла;
    
    Набор.Записать();
КонецПроцедуры

&НаКлиенте
Процедура Начать(Команда)
    НачатьНаСервере();
КонецПроцедуры



///////////////////////////
Данный когда заменяет неопределено на пустую ссылку, но не записывает.
Подскажите почему?
Набор.Записать() - есть, что еще не хватает?
1 vicof
 
23.09.22
14:07
Что значит не записывает?
2 bebibo
 
23.09.22
14:08
(1) Обработка выполнилась. Захожу в регистр - там по прежнему - неопределено.
Запускаю повторно обработку в коде смотрю и правда опять субконто с договором у двух позиций равно неопределено.
3 vicof
 
23.09.22
14:10
и отказ при записи не выставился?
4 bebibo
 
23.09.22
14:11
Ооой, я похоже не обновил обработку. В предыдущей версии было закомментрировано //Набор.Записать()..Мой косяк.
Но теперь второй вопрос. Выдал мне "Запрещено изменять данные с датой ранее 30.06.2022". А мне за 2016 год надо поменять. Подскажите как обойти?
5 vicof
 
23.09.22
14:13
ОбменДанными.Загрузка = Истина;
Плюс проверить в модуле наличие проверки этого условие.
6 vicof
 
23.09.22
14:13
А не. Наверное, вру. Лучше отключить дату запрета.
7 Amra
 
23.09.22
14:16
(6) "Поздравляю вас, гражданин, соврамши" (с)
8 bebibo
 
23.09.22
14:19
(6) Я боюсь, что отключив дату запрета в пользовательском режиме - слетит закрытие месяца.
Программно можно как то?
9 bebibo
 
23.09.22
14:27
(8) Если напишу в начале процедуры: УстановитьПривилегированныйРежим(Истина);
А в конце выполнения кода: УстановитьПривилегированныйРежим(Ложь);

Прокатит?
10 bebibo
 
23.09.22
14:31
(9) Не прокатило..
11 bebibo
 
23.09.22
14:38
Помогло в начале перед кодом прописать:
УстановитьПривилегированныйРежим(Истина);
    ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(Истина);
    УстановитьПривилегированныйРежим(Ложь);


А в конце
УстановитьПривилегированныйРежим(Истина);
    ДатыЗапретаИзменения.ОтключитьПроверкуДатЗапрета(ДатыЗапретаИзменения.ПроверкаДатЗапретаОтключена());
    УстановитьПривилегированныйРежим(Ложь);
12 bebibo
 
23.09.22
14:39
Но только в отчете всё равно почему то позиции не схлопнулись..Документ и его сторно.. странно
13 1Сергей
 
23.09.22
15:26
(8) если вы собираетесь менять 2016 год, у вас по любому слетит закрытие
14 bebibo
 
23.09.22
15:51
(13) Сделали как в (11)  - закрытие не слетело
15 bebibo
 
23.09.22
15:51
Может я конечно не туда смотрю)) Как проверить не слетело ли закрытие??
16 1Сергей
 
23.09.22
15:53
(15) не знаю как в бухне. В ЕРП заходим в закрытия месяца Ещё - Задания к закрытию
17 vicof
 
23.09.22
15:53
(15) в обработке по закрытию, ваш кэп.