Имя: Пароль:
1C
1С v8
Не хочет менять тип субконто. Подскажите пожалуйста
0 batmansoft
 
15.10.15
13:34
Добрый день. Выполняю вот такой код:
    если Источник.Склад.ВидСклада<>Перечисления.ВидыСкладов.Оптовый тогда
        для каждого стр из Источник.Движения.Хозрасчетный цикл
            если стр.СчетДТ=ПланыСчетов.Хозрасчетный.ПрочиеРасходы тогда
                стр.СчетДТ=ПланыСчетов.Хозрасчетный.ТорговаяНаценкаАТТ;
                стр.СубконтоДт.РеализуемыеАктивы=Неопределено;
                стр.СубконтоДт.Склады=Источник.Склад;
            Конецесли;
        Конеццикла;        
    конецесли;
Вылетает с ошибкой "Вид субконто Реализуемые активы недоступен для данной записи"
Подскажите пожалуйста, как лечить? Как убрать субконто старого счета?
1 Лефмихалыч
 
15.10.15
13:38
нет такого субконто у этого счета.
А еще запросы в цикле делают только альтернативно одаренные дивные личности
2 batmansoft
 
15.10.15
13:39
(1) Дык виду что нет. Но в проводка оно остаётся, как его оттуда убрать?
И где тут запросы в цикле?
3 Лефмихалыч
 
15.10.15
13:41
(2)
1. удалить существующую запись и сделать точно такую же, но правильную
2. в общем-то почти в каждой строке у тебя запросы в цикле
4 Cyberhawk
 
15.10.15
13:43
Да у него в цикле уже объектный кэш по идее работать должен
5 Гипервизор
 
15.10.15
13:45
(0) Конфа-то какая?
Может попробуешь БухгалтерскийУчет.УстановитьСубконто?
6 cw014
 
15.10.15
13:46
(2) "Но в провода оно остаётся" - чем докажешь?
7 batmansoft
 
15.10.15
13:51
Спасибо всем, вопрос решил, сделал так:
    если Источник.Дата>=Константы.шапДатаНачалаДействияНовыхПроводокПоВозвратуИзРозницы.Получить() тогда
        лСклад=Источник.Склад;
        лТовар=Константы.шапТовар.Получить();
        если Источник.Склад.ВидСклада<>Перечисления.ВидыСкладов.Оптовый тогда
            для каждого стр из Источник.Движения.Хозрасчетный цикл
                если стр.СчетДТ=ПланыСчетов.Хозрасчетный.ПрочиеРасходы тогда
                    стр.СчетДТ=ПланыСчетов.Хозрасчетный.ТорговаяНаценкаАТТ;
                    стр.СубконтоДт.Очистить();
                    стр.СубконтоДт.Склады=лСклад;
                    стр.СубконтоДт.Номенклатура=лТовар;
                Конецесли;
            Конеццикла;        
        конецесли;
    конецесли;