Имя: Пароль:
1C
1С v8
Вид субконто "Партии" не доступен для данной записи! Счет 41.12 БП 8.3
, ,
0 prog1Csww
 
16.01.20
20:16
{ВнешняяОбработка.ЗагрузкаРеестраИзТКПТРед3.Форма.Основная.Форма(517)}:
Ошибка при вызове метода контекста (Записать): Запись не верна! Вид субконто "Партии" не доступен для данной записи! (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет); Номер строки: 1)

Код следущий

            ПроводкиПриемник = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
            ПроводкиПриемник.Отбор.Регистратор.Установить(ПоступлениеПриемник.Ссылка);
            ПроводкиПриемник.Прочитать();
            
            НаценкаБыла = Ложь;
            
            Для Каждого Проводка Из ПроводкиПриемник Цикл
                Если (Проводка.СчетКт = _Сч6001) И ((Проводка.СчетДт = _Сч4112) ИЛИ (Проводка.СчетДт = _Сч4111) ИЛИ (Проводка.СчетДт = _Сч1009)) Тогда
                    Проводка.СчетДт = _Сч4112;
                    Проводка.СубконтоДт.Склады            = НайденныйСклад;
                    Проводка.СубконтоДт.Номенклатура    = Товар;
                    Попытка
                        Если ЗначениеЗаполнено(Проводка.СубконтоДт.Партии) Тогда
                            Проводка.СубконтоДт.Партии    = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка();
                        КонецЕсли;
                    Исключение
                    КонецПопытки;
                    
                    Проводка.СубконтоКт.Контрагенты    = ПоискКонтрагента;
                    Проводка.СубконтоКт.Договоры    = ДоговорКонтрагента;
                    Проводка.СубконтоКт.ДокументыРасчетовСКонтрагентами    = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка();
                    
                    Проводка.Сумма = СумПрихЗак;
                    
                    Проводка.КоличествоДт = 0;
                    
                    Проводка.Содержание = "Поступление товаров вх.№ " + Строка(ВходНомер);
                    
                    Проводка.Активность    = Истина;
1 prog1Csww
 
16.01.20
20:19
Вот это место

                    Попытка
                        Если ЗначениеЗаполнено(Проводка.СубконтоДт.Партии) Тогда
                            Проводка.СубконтоДт.Партии    = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка();
                        КонецЕсли;
                    Исключение
                    КонецПопытки;

Для 41.12 партионного учета нет. Получается он ругается на заполненное пустым значением субконто партий.
Когда выполняет строку номер 505

            Попытка
                ПроводкиПриемник.Записать();
            Исключение
                ТекстОшибки = ОписаниеОшибки();
                Сообщить(ТекстОшибки);
                Сообщить("Документ (проводки) не записан!" + Строка(Номер), СтатусСообщения.Важное);
                
                Продолжить;
            КонецПопытки;

Как сделать чтобы не ругался? Ноябрь реестр загрузился. Сломалось на декабре.
2 Михаил Козлов
 
16.01.20
20:40
Наверное, не заполнять субконто, если его нет в счете.
3 prog1Csww
 
16.01.20
20:51
(2) До выполнения этой строки  Проводка.СчетДт = _Сч4112;
СчетДт равен 41.11. На этом счете партии есть. И я её очищаю, эту партию.
4 prog1Csww
 
16.01.20
20:52
(2) Попробую удалить проводку и создать снова.
5 prog1Csww
 
16.01.20
21:01
Проделки нарглов
6 prog1Csww
 
16.01.20
23:03
Перед строкой Проводка.СчетДт = _Сч4112; значение поля Проводка.СчетДт равняется счету 41.11 на котором есть партионное субконто.
И при стандартном проведении Поступления товаров оно заполняется.
Удаление проводки и добавление проводки не помогло. Проводка добавляется. Устанавливается сразу счет 41.12. Партия не заполняется. И всё записывается без ошибок.
Но старая проводка не удаляется
Код такой
Индекс = ПроводкиПриемник.Индекс(Проводка);
ПроводкиПриемник.Удалить(Индекс);

Как правильно удалить проводку из набора записей? Или её нельзя удалить из проводок при включенном флажке ручного редактирования движений документа?
Может еще какие варианты есть решения проблемы?
7 prog1Csww
 
17.01.20
02:16
Тоже нарглы.
8 hhhh
 
17.01.20
02:36
(6) а ПроводкиПриемник.Записать() есть?
9 prog1Csww
 
17.01.20
02:43
(8) Да. Я вижу. Номер 505 указан неверно.
10 prog1Csww
 
17.01.20
04:17
Перед загрузкой, делается выгрузка. Формат файла MOXEL.
Как вариант "доработать выгрузку" стоит рассмотреть?
Моя версия случившегося (то что в Ноябре работало а в Декабре перестало) "хакерская атака".
Если пойти через "доработать выгрузку" боюсь не выясню что сделал не так, чего не знал\знаю.
11 prog1Csww
 
17.01.20
04:19
Если кто-либо что-либо понимает можете мне тоже объяснить?
12 prog1Csww
 
17.01.20
04:31
Вариантов того кто сделал "хакерскую атаку" 2.
13 prog1Csww
 
17.01.20
09:12
Вверх.
14 GROOVY
 
17.01.20
09:39
До выполнения этой строки  Проводка.СчетДт = _Сч4112;
СчетДт равен 41.11. На этом счете партии есть. И я её очищаю, эту партию.

Ну так счет поменялся, нет там больше партий!
15 hhhh
 
17.01.20
10:10
(11) не нужно очищать партию. Выкинь эту строчку и всё получится.
16 Андроны едут
 
17.01.20
10:48
СубКонто это коллекция, элементами которой являются Структура или Соответствие.
Поэтому в типовых для манипуляций с данными Субконто используют такой код: Субконто.Вставить(ВидСубконто, ЗначениеСубконто);
17 prog1Csww
 
18.01.20
07:07
(15) Партия сама не очищается. В отладчике проверял. Но попробую что-то удалить.
(16) Переписать обработку конечно можно. И я её улучшу может быть.
Основная проблема что не знаю как и провести поступление и чтобы сразу ручные проводки были и без доработок конфигурации.
18 prog1Csww
 
21.01.20
09:53
Вверх.
Если выбрать склад с типом "Неавтоматизированная торговая точка" то загрузка работает.
Со складом с типом "Розничный магазин" загрузка не работает.
Это из-за склада.
За Ноябрь есть документы с обоим типом складов.
Как вариант сначала был
1. установили сначала тип "Неавтоматизированная торговая точка"
2. загрузили
3. вернули тип склада "Розничный магазин"
Но тип нельзя поменять программно. Проверено.
У кого какие версии есть еще?