Балансовый счет не может корреспондировать с пустым счетом!

1. Ant_S 29.03.10 10:20 Сейчас в теме
Здраствуйте всем!!! Подскажите пожалуйста ни как не могу допетрить!!!
В авансовомОтчете делаем проводку на 26 счет , два субконто: Общехоз. затраты и Подразделения выбираем значение из этих справочеиков жмем провести и вылазиет ошибка ( Балансовый счет не может корреспондировать с пустым счетом!) а если не вводить первое субконто (Общехоз. затраты)документ проводится без проблем!!! Подскажите как выйти из ситуации и решить эту проблему хотябу подскажите где копать????
и могут ли это быть тут виновны забалаесовые счета потому что конфа у нас не стандартная ????
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ant_S 29.03.10 10:21 Сейчас в теме
Процедура УСН()   
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
        
        Если ДокументПоставки.Выбран()=1 Тогда
            Если ДокументПоставки.Вид()="ПоступлениеМатериалов" Тогда
                ДокументПоставки.ВыбратьСтроки();
                Пока ДокументПоставки.ПолучитьСтроку()=1 Цикл
                    Операция.НоваяПроводка();
                    Операция.Дебет.Счет = СчетПоКоду("У.05");
                    Операция.Дебет.Контрагенты = ДокументПоставки.Контрагент;
                    Операция.Дебет.Материалы= ДокументПоставки.Материал;
                    Операция.Кредит.Счет = СчетПоКоду("У.01");
                    Операция.Кредит.Контрагенты = ДокументПоставки.Контрагент;
                    Операция.Кредит.Материалы= ДокументПоставки.Материал;
                    Операция.Количество = ДокументПоставки.Количество;
                    Операция.Сумма = ДокументПоставки.Сумма;
                    Операция.СодержаниеПроводки = "Оплачено сырье";
                    Операция.НомерЖурнала = "УСН";
                    
                    Если ДокументПоставки.НДС>0 Тогда
                        Операция.НоваяПроводка();
                        Операция.Дебет.Счет = СчетПоКоду("У.03");
                        Операция.Кредит.Счет = СчетПоКоду("У.02");
                        Операция.Сумма = ДокументПоставки.НДС;
                        Операция.СодержаниеПроводки = "Списываем НДС";
                        Операция.НомерЖурнала = "УСН"; 
                        Операция.ПервичныйДокумент  =Формат(ДокументПоставки.ДатаДокВходящий, "Д ДДММГГГГ")+", №"+ДокументПоставки.НомерДокВходящий;
                    КонецЕсли;
                    
                КонецЦикла;
                Операция.Записать();
            КонецЕсли;
            Док=СоздатьОбъект("Документ");
            Док.НайтиДокумент(ДокументПоставки);
            Док.ОплатаДок=1;
            Док.Записать();
            Если ДокументПоставки.Вид()="ПоступлениеМатериалов" Тогда
                //Если ДокументПоставки.Итог("НДС")>0 Тогда
 
                    Операция.НоваяПроводка();
                    Операция.Дебет.Счет=СчетПоКоду("У04");
                    Операция.СодержаниеПроводки="Отражен факт расхода";
                    Операция.НомерЖурнала="НУ";        
                    Операция.Сумма=Сумма;                    
            //    КонецЕсли; 
 
            ИначеЕсли КоррСчет<>СчетПоКоду("51") Тогда
                Операция.НоваяПроводка();
                Операция.Дебет.Счет=СчетПоКоду("У04");
                Операция.СодержаниеПроводки="Отражен факт расхода";
                Операция.НомерЖурнала="НУ";        
                Операция.Сумма=Сумма; 
            КонецЕсли;
            Если ДокументПоставки.Вид()="УслугиСтороннихОрганизаций" Тогда
                Если ДокументПоставки.Итог("НДС")>0 Тогда
                    Операция.НоваяПроводка();
                    Операция.Дебет.Счет=СчетПоКоду("НДС"); 
                    Операция.Дебет.Контрагенты=Субконто1;
                    Операция.Дебет.Договоры=Субконто2;
                    Операция.СодержаниеПроводки="НДС";
                    Операция.НомерЖурнала="НУ";        
                    Операция.Сумма=ДокументПоставки.Итог("НДС"); 
                КонецЕсли;
            КонецЕсли;
        ИначеЕсли (КоррСчет<>СчетПоКоду("51")) И (КоррСчет<>СчетПоКоду("66.3")) И (КоррСчет<>СчетПоКоду("71.1")) Тогда
            Операция.НоваяПроводка();
            Операция.Дебет.Счет=СчетПоКоду("У04");
            Операция.СодержаниеПроводки="Отражен факт расхода";
            Операция.НомерЖурнала="НУ";        
            Операция.Сумма=Сумма;                    
        КонецЕсли;        
        Если УчитыватьДляНУ=1  Тогда
            //Если ДвижениеДенежныхСредств.Наименование="Оплата за основные средства" Тогда
 
            //    Если КоррСчет=СчетПоКоду("60.1") Тогда
 
            //        Если ДокументПоставки.Выбран()=0 Тогда
 
            //            Предупреждение("Не выбран документ поставки");
 
            //            СтатусВозврата(0);
 
            //            Возврат;
 
            //        КонецЕсли;  
 
            //        Если ДокументПоставки.КоличествоСтрок()>1 Тогда
 
            //            Предупреждение("В документе поставки должно быть поступление одного ОС");
 
            //            СтатусВозврата(0);
 
            //            Возврат;
 
            //        КонецЕсли;
 
            //        ОснСр=СоздатьОбъект("Справочник.ОсновныеСредства");
 
            //        ДокументПоставки.ВыбратьСтроки();
 
            //        ДокументПоставки.ПолучитьСтроку();                 
 
            //        ОснСр.НайтиЭлемент(ДокументПоставки.ОбъектВнеоборотныхАктивов);
 
            //        ОснСр.Оплата.Установить(ДатаДок,Сумма);
 
            //        ОснСр.Записать();
 
            //        Операция.НоваяПроводка();
 
            //        Операция.Дебет.Счет=СчетПоКоду("У02.1");
 
            //        
 
            //        Операция.Дебет.ОсновныеСредства=ДокументПоставки.ОбъектВнеоборотныхАктивов;
 
            //        Операция.Дебет.ДатыОплаты=ДатаДок;
 
            //        Операция.СодержаниеПроводки="Учтена оплата основных средств";
 
            //        Операция.НомерЖурнала="НУ";        
 
            //        Операция.Сумма=Сумма;
 
            //    КонецЕсли;
 
            //Иначе
 
                Если (КоррСчет=СчетПоКоду("60.1")) И (ДокументПоставки.Выбран()=1) Тогда
                    Если ДокументПоставки.Вид()="ПоступлениеМатериалов" Тогда
                        Если ДокументПоставки.Итог("НДС")>0 Тогда
                            Операция.НоваяПроводка();
                            Операция.Дебет.Счет=СчетПоКоду("У02.2");
                            Операция.СодержаниеПроводки="Учтен расход: НДС по поступившему сырью";
                            Операция.НомерЖурнала="НУ";        
                            Операция.Сумма=ДокументПоставки.Итог("НДС");                    
                        КонецЕсли;  
                    Иначе
                        Операция.НоваяПроводка();
                        Операция.Дебет.Счет=СчетПоКоду("У02.2");
                        Операция.СодержаниеПроводки="Учтен расход";
                        Операция.НомерЖурнала="НУ";        
                        Операция.Сумма=Сумма;
                    КонецЕсли; 
                Иначе
                    Операция.НоваяПроводка();
                    Операция.Дебет.Счет=СчетПоКоду("У02.2");
                    Операция.СодержаниеПроводки="Учтен расход";
                    Операция.НомерЖурнала="НУ";        
                    Операция.Сумма=Сумма; 
                КонецЕсли;
            //КонецЕсли;
 
        КонецЕсли; 
    КонецЦикла;
    Операция.Записать();
КонецПроцедуры
//__________________________________________________________­___________________
 
Процедура ОбработкаПроведения()  
    УСН();
    ТипОтчета = Валюта.Выбран() + 1;
    Сч19 = СчетПоКоду("19.3");   
    
    Если ДокументПоставки.Выбран()=1 Тогда
        Если ДокументПоставки.Вид()="ПоступлениеМатериалов" Тогда
            ДокументПоставки.ВыбратьСтроки();
            Пока ДокументПоставки.ПолучитьСтроку()=1 Цикл
                Операция.НоваяПроводка();
                Операция.Дебет.Счет = СчетПоКоду("У.05");
                Операция.Дебет.Контрагенты = ДокументПоставки.Контрагент;
                Операция.Дебет.Материалы= ДокументПоставки.Материал;
                Операция.Кредит.Счет = СчетПоКоду("У.01");
                Операция.Кредит.Контрагенты = ДокументПоставки.Контрагент;
                Операция.Кредит.Материалы= ДокументПоставки.Материал;
                Операция.Количество = ДокументПоставки.Количество;
                Операция.Сумма = ДокументПоставки.Сумма;
                Операция.СодержаниеПроводки = "Оплачено сырье";
                Операция.НомерЖурнала = "УСН";
                
                Если ДокументПоставки.НДС>0 Тогда
                    Операция.НоваяПроводка();
                    Операция.Дебет.Счет = СчетПоКоду("У.03");
                    Операция.Кредит.Счет = СчетПоКоду("У.02");
                    Операция.Сумма = ДокументПоставки.НДС;
                    Операция.СодержаниеПроводки = "Списываем НДС";
                    Операция.НомерЖурнала = "УСН"; 
                    Операция.ПервичныйДокумент  =Формат(ДокументПоставки.ДатаДокВходящий, "Д ДДММГГГГ")+", №"+ДокументПоставки.НомерДокВходящий;
                КонецЕсли;
                
            КонецЦикла;
            Операция.Записать();
        КонецЕсли;
    КонецЕсли;    
    Если ТипОтчета = 2 Тогда
            Сч71 = СчетПоКоду("71.11");

        КурсВал = Валюта.Курс.Получить(ДатаДок);
        Кратность = Валюта.Кратность.Получить(ДатаДок);
        Кратность = ?(Кратность=0,1,Кратность);

        глТаблицаСчетов.УдалитьСтроки();
        глТаблицаСчетов.НоваяСтрока();
        глТаблицаСчетов.Счет = Сч71;
        глТаблицаСчетов.Субконто1 = Сотрудник;
        глТаблицаСчетов.Субконто2 = "";
        глТаблицаСчетов.Субконто3 = "";
        глТаблицаСчетов.Валюта = Валюта;
        глПереоценкаСчетов(Контекст, глТаблицаСчетов);

    Иначе
        Сч71 = СчетПоКоду("71.1");
    КонецЕсли;

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

        Операция.НоваяПроводка();
        Операция.НомерЖурнала = "БК";
        Операция.СодержаниеПроводки = КомуЗаЧто;
        Операция.ПервичныйДокумент  = глПредставлениеПервичногоДокумента(Контекст);
        Операция.Дебет.Счет = КоррСчет; 
        Сообщить ("КоррСчет это: "+ КоррСчет);
        Операция.Дебет.Субконто(1,Субконто1);
        Операция.Дебет.Субконто(2,Субконто2);
        Операция.Дебет.Субконто(3,Субконто3);
        Операция.Кредит.Счет = Сч71;
        Операция.Кредит.Сотрудники = Сотрудник;

        Если НДС > 0 Тогда
            Если ТипОтчета = 1 Тогда
                Операция.Сумма = Сумма - НДС;
            Иначе
                Операция.Сумма = Окр(Сумма*КурсВал/Кратность,2,1) - Окр(НДС*КурсВал/Кратность,2,1);
            КонецЕсли;
        Иначе
            Если ТипОтчета = 1 Тогда
                Операция.Сумма = Сумма;
            Иначе
                Операция.Сумма = Окр(Сумма*КурсВал/Кратность,2,1);
            КонецЕсли;
        КонецЕсли;

        Если КоррСчет.Количественный = 1 Тогда
            Операция.Количество = Количество;
        КонецЕсли;

        Если ТипОтчета = 2 Тогда
            Операция.Валюта = Валюта;
            Операция.ВалСумма = Сумма - НДС;
        КонецЕсли;
        
        // Отражение операций в налоговом учете.
 
        ОбъектыАналитикиНУ = глСчетИАналитикаРасходовНУ(Контекст, КоррСчет, Субконто1, Субконто2, Субконто3);
        
        // Если опредлен налоговый счет, то необходимо
 
        // сформировать проводку для целей налогового учета.
 
        СчетНУ = ОбъектыАналитикиНУ.Получить("Счет");
        Если ПустоеЗначение(СчетНУ) = 0 Тогда
            СуммаРасходов = Операция.Сумма;
            
            Операция.НоваяПроводка();
            Операция.НомерЖурнала = "НУ";
            Операция.СодержаниеПроводки = КомуЗаЧто;
            Операция.ПервичныйДокумент  = глПредставлениеПервичногоДокумента(Контекст);
            Операция.Дебет.Счет = СчетНУ;
            Для СчетчикЦикла = 1 По СчетНУ.КоличествоСубконто() Цикл
                ИдентификаторСубконто = СчетНУ.ВидСубконто(СчетчикЦикла,,).Идентификатор();
                Операция.Дебет.Субконто(СчетчикЦикла, ОбъектыАналитикиНУ.Получить(ИдентификаторСубконто));
            КонецЦикла;
            
            Операция.Дебет.Субконто(ВидыСубконто.УсловияПоступленияИВыбытия, Перечисление.УсловияПоступленияИВыбытия.Другие);
            
            Операция.Сумма = СуммаРасходов;
            Если СчетНУ.Количественный = 1 Тогда
                Операция.Количество = Количество;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;

    Операция.Записать();
    
    ТекстСообщения = "Сотруднику "+Сотрудник+" зачтена сумма, выданная под отчет.";
    глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0);
    
    ТекстСообщения = "Документ проведен.";
    глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0);
    глПриПроведении(ТекущийДокумент());
    
КонецПроцедуры
Показать
3. alexk-is 6544 31.03.10 17:26 Сейчас в теме
и могут ли это быть тут виновны забалансовые счета?
Нет. Не могут.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот