Добавляем новый счет реализации
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Пришел за помощью

    Регистрация
    20.08.2015
    Сообщений
    24
    Сказал(а) спасибо
    24
    Поблагодарили 17 раз(а) в 5 сообщениях

    По умолчанию Добавляем новый счет реализации

    Приветствую, ребят. Хочу добавить новый счет реализации. Документ ОтгрузкаМатериаловНаСторо ну
    имеется 90.01, 90.12 (услуги), 79.1. Нужно в модуле дописать обработку для 79.2 счета. На форму добавить это поле с флажком - не проблема. Нужна сама обработка, вот модуль:
    Код:
    // ДобавитьСтрокуВТаблицуПереоценки()
    // // {Изм., релиз 9.12.1 ПС 04.12.09  
    Процедура ДобавитьСтрокуВТаблицуПереоценки(ЕстьКурсРазница, Счет, Субк1, Субк2, Субк3 = "", Валюта)
        Если ЕстьКурсРазница <> 0 Тогда
            глТаблицаСчетов.НоваяСтрока();
            глТаблицаСчетов.Счет = Счет;
            глТаблицаСчетов.Субконто1 = Субк1;
            глТаблицаСчетов.Субконто2 = Субк2;
            Если ПустоеЗначение(Субк3) = 0 Тогда
                глТаблицаСчетов.Субконто3 = Субк3;        
            КонецЕсли;
            глТаблицаСчетов.Валюта = Валюта;
        КонецЕсли;    
        
    КонецПроцедуры // ДобавитьСтрокуВТаблицуПереоценки()
    // пс}
    //
    Процедура ОбработкаПроведения()
        Перем ТаблицаПокупок,АвтоКП; 
        //
        Если КоличествоСтрок()=0 тогда 
            Предупреждение("Ни одной строки не введено!");
            СтатусВозврата(0);
            Возврат;
        КонецЕсли;    
        Если (ВидОтгрузки=0) Тогда // 
            Если СтатьяДоходаРасхода.Выбран()=0 Тогда
                Предупреждение("Выберите статью  дохода/расхода!");
                СтатусВозврата(0);
                Возврат;
            КонецЕсли;  
            
            //  1-е субконто - вид деятельности (новый реквизит) 
            Если (ДатаДок>Константа.ДатаНПС) и
            (ВидДеятельности.Выбран() = 0) Тогда
                
                Предупреждение("Выберите вид деятельности (1-е субконто для субсчетов 90.07 и 90.08 И 90.10)!");   
                СтатусВозврата(0);
                Возврат;                 
            КонецЕсли;
            
        КонецЕсли;   
        
        
            Если (_791=1) и
            (_9001= 1) Тогда
                
                Предупреждение("Выбрано два счета 79.1 и 90,01 одновременно !");   
                СтатусВозврата(0);
                Возврат;                 
            КонецЕсли;
            
         
        
        
        
        
        
        // {Изм., релиз 12.02.1 ПС 31.01.12 - с 2012 года отгрузка на счета 90.07 и 90.08, а не 91
        
        
        
        
        
        
        // Авт. кн. покупок
        юАвтоКП(1,АвтоКП,Договор,ТаблицаПокупок); 
        АвтоКП = ?((АвтоКП=1) И (ВидОтгрузки = 1) И (ДокументПоступления.Выбран()=1),1,0);
        //
        Если АвтоКП=1 Тогда
            // проверка начисления по счету АКП
            БИ = СоздатьОбъект("БухгалтерскиеИтоги"); 
            БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Получатель, 2);
            БИ.ИспользоватьСубконто(ВидыСубконто.Основание,Договор,2);
            БИ.ИспользоватьСубконто(ВидыСубконто.ДокПриобретения,ДокументПоступления,2);
            БИ.ВыполнитьЗапрос(ДокументПоступления.ДатаДок,ТекущийДокумент(),"АКП",,,,,1);
            Если БИ.КО()=0 Тогда // начисления не было
                АвтоКП = 0;
            КонецЕсли;
        КонецЕсли; 
        
        юПроверкаНДСтч(Контекст,2); // Проверка ставок НДС в ТЧ        
        
        // {Изм., релиз 9.12.1 ПЕ 30.11.09
        // для валютных возвратов
        Валютный=0;
        ЗнОкр=0;
        Курс = 1;
        КурсПоставки = 1; // ПС 03.12.09
        ЕстьКурсРазница = 0;  
        
        Если (Договор.Выбран()=1) тогда
            Если (Договор.Валютный=1) И (Договор.Валюта.Выбран()=1) и (ВидОтгрузки = 1) Тогда
                Валютный= 1;
                ЗнОкр   = 2;
                Курс    = ПолучитьКурс(Договор.Валюта, ДатаДок); // курс на дату возврата
                Если ДокументПоступления.Выбран() = 1 Тогда
                    КурсПоставки = ПолучитьКурс(Договор.Валюта, ДокументПоступления.ДатаДок);
                Иначе
                    КурсПоставки = Курс;
                    Сообщить("Проводки по курсовым разницам сделайте самостоятельно, так как документ поступления не выбран","!");
                КонецЕсли;
                ЕстьКурсРазница = Курс - КурсПоставки; 
            КонецЕсли;
        КонецЕсли;
        // пе}     
        
        // {Изм., релиз 9.12.1 ПС 04.12.09  
        // Курс разницы 
        Если ЕстьКурсРазница <> 0  Тогда 
            // До проведения данного документа рекомендуется сначала выполнить переоценку задолженности по расчетам
            // с поставщиком.  
            глТаблицаСчетов.УдалитьСтроки();
        КонецЕсли;
        // пс}
        
        Если датаДок<Константа.ДатаНПС Тогда
            
            
            СчДох    = СчетПоКоду("91.1" ); 
            СчРасх   = СчетПоКоду("91.2" ); 
            СчНДС    = СчетПоКоду("91.3" ); 
            
        Иначе
            Если (_9001=0 )и  (_791=0) и (_9012=0)Тогда
                СчДох  = СчетПоКоду("90.07");
                ЕСЛИ  датаДок<Дата90 тОГДА
                    СчНДС  = СчетПоКоду("90.72");  
                    СчРасх = СчетПоКоду("90.08"); 
                ИНАЧЕ
                    СчНДС  = СчетПоКоду("90.8");  
                    СчРасх = СчетПоКоду("90.10"); 
                КОНЕЦЕСЛИ;    
                
    
            ИначеЕсли _9001=1 Тогда
            
                СчДох  = СчетПоКоду("90.01");
                СчНДС  = СчетПоКоду("90.02");  
                
                СчРасх = СчетПоКоду("90.04")
            ИначеЕсли _9012=1 Тогда
                
                СчДох  = СчетПоКоду("90.12");
                СчНДС  = СчетПоКоду("90.22");  
                
                СчРасх = СчетПоКоду("90.24")
                
                
                
    
            ИначеЕсли _791=1 Тогда
                
                ////  СчДох  = СчетПоКоду("90.01");
                СчНДС  = СчетПоКоду("79.4");  
                СчРасх = СчетПоКоду("79.1")
                
                
            КонецЕсли;
            
        КонецЕсли;
        
        
        
        
        СчАванса = СчетПоКоду("62.4" );
        Сч62     = СчетПоКоду("62.1");  // Изм., релиз 9.12.1 ПЕ 30.11.09
        
        // {Изм., релиз 9.12.1 ПЕ 30.11.09
        Если Валютный = 0 Тогда
            СчПоставщика = СчетПоКоду( "60.0" ); 
            СчДебитора   = СчетПоКоду( "76.1" );
        Иначе
            СчПоставщика = СчетПоКоду( "60.2" );
            СчДебитора   = СчетПоКоду( "76.2" );
        КонецЕсли;
        // пе} 
        
        ИтогНДС = Итог("НДС");
        
        //    Операция.СуммаОперации=0;  // Комм., релиз 9.12.1 ПЕ 30.11.09
        
        // Если есть хотя бы одна строка в многострочной части,
        // начинаем формировать проводки
        Если (ВидОтгрузки=0) Тогда // 
            ТЗ9 = СоздатьОбъект("ТаблицаЗначений");
            ВыгрузитьТабличнуюЧасть(ТЗ9, "СтавкаНДСспр,НДС,СуммаСНДС"); 
            ТЗ9.Свернуть("СтавкаНДСспр","НДС,СуммаСНДС"); 
            // Отпуск материалов покупателю
            ТЗ9.ВыбратьСтроки();
            Пока ТЗ9.ПолучитьСтроку()=1 Цикл
                /// нет дохода
                Если (_791=0) Тогда         
                    
                    Если ТЗ9.СуммаСНДС<>0 Тогда
                        // Формируем проводку на сумму отпущенных материалов в разрезе ставок НДС.
                        Операция.НоваяПроводка();
                        Операция.Дебет.Счет = Сч62;      // 62.1 - 91.1 // Изм., релиз 9.12.1 ПЕ 30.11.09
                        Операция.Дебет.Контрагенты=Получатель;
                        Операция.Дебет.Основание=Договор;
                        Если датаДок<Константа.датаНПС Тогда    
                            Операция.Кредит.Счет = СчДох; 
                            Операция.Кредит.Субконто(1,СтатьяДоходаРасхода); // 
                            Операция.Кредит.Субконто(2,ТЗ9.СтавкаНДСспр); // 
                        иначе
                            Если (_9001=0)и  (_9012=0) Тогда     
                                Операция.Кредит.Счет = СчДох; 
                                Операция.Кредит.ВидыДеятельности = ВидДеятельности; // 62.1(2) - 90.07
                                Операция.Кредит.ОбъектыСтроительства=Константа.Объект; //
                                Операция.Кредит.Субконто(3,СтатьяДоходаРасхода); //
                                Операция.Кредит.Субконто(4,ТЗ9.СтавкаНДСспр); // 
                            ИначеЕсли  (_9001=1) или (_9012=1) Тогда    
                                
                                Операция.Кредит.Счет = СчДох; 
                                Операция.Кредит.ВидыДеятельности = ВидДеятельности; // 62.1(2) - 90.07
                                Операция.Кредит.ОбъектыСтроительства=Константа.Объект; //
                                //    Операция.Кредит.Субконто(3,СтатьяДоходаРасхода); //
                                Операция.Кредит.Субконто(3,ТЗ9.СтавкаНДСспр); //               
                                
                                
                            КонецЕсли;    
                            Операция.СодержаниеПроводки = "Прочий доход по тек.деятельности"; 
                        КонецЕсли;    
                        Операция.НомерЖурнала = "МТ"; 
                        Операция.Сумма = ТЗ9.СуммаСНДС; //Итог( "СуммаСНДС" );
                    КонецЕсли;
                КонецЕсли;
                
                Если ТЗ9.НДС<>0  Тогда     //                        91.3 - 68.25
                    Операция.НоваяПроводка();
                    Операция.НомерЖурнала = "МТ";
                    Операция.СодержаниеПроводки = "Выделен НДС "+СокрЛП(ТЗ9.СтавкаНДСспр.Ставка)+"%";
                    Если датаДок<Константа.ДатаНПС Тогда    
                        
                        Операция.Дебет.Счет   = СчНДС;                  
                        Операция.Дебет.Субконто(1,СтатьяДоходаРасхода);  
                        Операция.Дебет.Субконто(2,ТЗ9.СтавкаНДСспр); 
                    Иначе
                        Если (_9001=0) и (_791=0) Тогда    
                            Операция.Дебет.Счет = СчНДС; 
                            Операция.Дебет.ВидыДеятельности = ВидДеятельности; // 62.1(2) - 90.07
                            Операция.Дебет.ОбъектыСтроительства=Константа.Объект; //
                            Операция.Дебет.Субконто(3,СтатьяДоходаРасхода); //
                            Операция.Дебет.Субконто(4,ТЗ9.СтавкаНДСспр); // 
                        ИначеЕсли  (_9001=1) или (_9012=1) Тогда
                            
                            Операция.Дебет.Счет = СчНДС; 
                            Операция.Дебет.ВидыДеятельности = ВидДеятельности; // 62.1(2) - 90.07
                            Операция.Дебет.ОбъектыСтроительства=Константа.Объект; //
                            //Операция.Дебет.Субконто(3,СтатьяДоходаРасхода); //
                            Операция.Дебет.Субконто(3,ТЗ9.СтавкаНДСспр); // 
                            
                        ИначеЕсли  _791=1 Тогда
                            
                            Операция.Дебет.Счет = СчНДС; 
                            Операция.Дебет.Контрагенты=Получатель;
                            Операция.Дебет.Основание=Договор;
                            
                            
                        КонецЕсли;    
                    КонецЕсли;    
                    
                    
                    Операция.Кредит.Счет = СчетПоКоду("68.25"); 
                    Операция.Кредит.ПлатежиВбюджет=Перечисление.ПлатежиВбюджет.Налог;  
                    Операция.Сумма = ТЗ9.НДС; //Итог("НДС");
                КонецЕсли;    
            КонецЦикла;
            
            // аванс
            //БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
            //БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Получатель,2);
            //БухИт.ИспользоватьСубконто(ВидыСубконто.Основание, Договор, 2);
            //БухИт.ВыполнитьЗапрос(ТекущийДокумент(),,СчАванса,,,,,"С");
            //
            //Аванс = БухИт.СНК();
            //
            //Если Аванс > 0 Тогда
            //    Операция.НоваяПроводка();
            //    Операция.Дебет.Счет = СчАванса;
            //    Операция.Дебет.Контрагенты  = Получатель;
            //    Операция.Дебет.Основание    = Договор;
            //    Операция.Кредит.Счет        = Сч62;  // Изм., релиз 9.12.1 ПЕ 30.11.09
            //    Операция.Кредит.Контрагенты = Получатель;
            //    Операция.Кредит.Основание   = Договор;
            //    
            //    ЗачетАванса = Мин(Итог("суммасндс"), Аванс);
            //    Операция.Сумма = ЗачетАванса;
            //    Операция.СодержаниеПроводки = "Зачтен аванс";
            //    Операция.НомерЖурнала = "МТ";
            //КонецЕсли;
        ИначеЕсли ДокументПоступления.Выбран()=1 тогда  
            // возврат поставщику
            СчПоставщика = ?(ДокументПоступления.ВидПоставщика = Перечисление.ВидПоставщика.Поставщики,
            СчПоставщика, СчДебитора); // Изм., релиз 9.12.1 ПЕ 30.11.09
        КонецЕсли;
        //////////     сторно        
        ////////Если (ВидОтгрузки=1) И (ИтогНДС<>0)  Тогда // возврат поставщику
        ////////    Операция.НоваяПроводка();
        ////////    Операция.НомерЖурнала = "МТ";
        ////////    Операция.СодержаниеПроводки = "Возврат НДС";
        ////////    Операция.Кредит.Счет = СчетПоКоду("18.3"); 
        ////////    Операция.Кредит.Субконто(1,Получатель); 
        ////////    Операция.Дебет.Счет = СчПоставщика;
        ////////    Операция.Дебет.Субконто(1,Получатель); 
        ////////    Операция.Дебет.Субконто(2,Договор);
        ////////    // {Изм., релиз 9.12.1 ПЕ 30.11.09  
        ////////    Если Валютный = 1 Тогда
        ////////        Операция.Валюта   = Договор.Валюта; 
        ////////        Операция.ВалСумма = ИтогНДС; 
        ////////        ДобавитьСтрокуВТаблицуПереоценки(ЕстьКурсРазница, СчПоставщика, Получатель, Договор, , Договор.Валюта); // ПС 04.12.09
        ////////    КонецЕсли;
        ////////    Операция.Сумма = ОКР(ИтогНДС*?(Валютный=1,КурсПоставки,1),0); // ПС 04.12.09
        ////////    // пе} 
        ////////КонецЕсли;     
        
        
            //             
        Если (ВидОтгрузки=1) И (ИтогНДС<>0)  Тогда // возврат поставщику
            Операция.НоваяПроводка();
            Операция.НомерЖурнала = "МТ";
            Операция.СодержаниеПроводки = "Возврат НДС";
            Операция.Дебет.Счет = СчетПоКоду("18.3"); 
            Операция.Дебет.Субконто(1,Получатель); 
            Операция.Кредит.Счет = СчПоставщика;
            Операция.Кредит.Субконто(1,Получатель); 
            Операция.Кредит.Субконто(2,Договор);
            // {Изм., релиз 9.12.1 ПЕ 30.11.09  
            Если Валютный = 1 Тогда
                Операция.Валюта   = Договор.Валюта; 
                Операция.ВалСумма = ИтогНДС; 
                ДобавитьСтрокуВТаблицуПереоценки(ЕстьКурсРазница, СчПоставщика, Получатель, Договор, , Договор.Валюта); // ПС 04.12.09
            КонецЕсли;
            Операция.Сумма = ОКР(ИтогНДС*?(Валютный=1,КурсПоставки,1),0)*(-1); // ПС 04.12.09
            // пе} 
        КонецЕсли; 
        
        
        
        ////////
        // Для дополнительного сервиса проверяем количество материала.
        // Если его не хватает - будем выдавать сообщение.
        БИ = СоздатьОбъект("БухгалтерскиеИтоги");
        БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2);
        БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники, Ответственный, 2);
        БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
        БИ.ВключатьСубсчета( 1 );
        БИ.ВыполнитьЗапрос(ТекущийДокумент(),, "10",,,,, 5);
        
        // Теперь формируем проводки для каждой строки документа
        Пока ПолучитьСтроку()=1 Цикл
            
            Если КоличествоОтпущено=0 Тогда
                // Если не указано количество отпускаемного материала, 
                // выдаем сообщение и проводку не формируем.
                Сообщить( "Строка " + СокрЛП( НомерСтроки )
                + ": не указано количество материала """
                +СокрЛП(Материал)+""". Проводка не записана!", "!");
                Продолжить;
            КонецЕсли;
            
            // Проверяем остаток материала.
            ОстКол = 0;
            ОстСум = 0;
            БИ.ПолучитьСчет(, Материал.СубСчет10 );
            Если БИ.ПолучитьСубконто(ВидыСубконто.Материалы,, Материал) = 1 Тогда
                ОстКол=БИ.СКД("К"); // Суммовой остаток, потребуется для расчета средней цены
                ОстСум=БИ.СКД("С");
            КонецЕсли;
            
            Если ОстКол=0 Тогда
                
                // Если отсутствует требуемый материал, выдаем сообщение, и проводку не формируем.
                //Сообщить( "Субчет " + СокрЛП( Материал.СубСчет10 )+ ", место хранения """+СокрЛП(МестоХранения)+""": нет материала """+СокрЛП(Материал)+""".", "!");
                Сообщить( "Субчет " + СокрЛП( Материал.СубСчет10 )
                + ", место хранения """+СокрЛП(МестоХранения)
                + ", ответственный """ +СокрЛП(Ответственный)
                +""": нет материала """+СокрЛП(Материал)+""".", "!");
                СтатусВозврата(0); Возврат;
            Иначе
                Если ОстКол < КоличествоОтпущено Тогда
                    //Сообщить( "Субчет " + СокрЛП( Материал.СубСчет10 )+ ", место хранения """+СокрЛП(МестоХранения)+""": недостаточно материала """+СокрЛП(Материал)+""".", "!");
                    Сообщить( "Субчет " + СокрЛП( Материал.СубСчет10 )
                    + ", место хранения """+СокрЛП(МестоХранения)
                    + ", ответственный """ +СокрЛП(Ответственный)
                    +""": недостаточно материала """+СокрЛП(Материал)+""".", "!");
                    СтатусВозврата(0); Возврат;
                КонецЕсли;
                
                Операция.НоваяПроводка();
                Операция.НомерЖурнала="МТ";
                Если (ВидОтгрузки=0) Тогда
                    Операция.Кредит.Счет      = Материал.СубСчет10;
                    Операция.Кредит.Материалы = Материал;
                    Операция.Кредит.МестаХранения = МестоХранения;
                    Операция.Кредит.Субконто(3,Ответственный);
                иначе
                    Операция.Дебет.Счет      = Материал.СубСчет10;
                    Операция.Дебет.Материалы = Материал;
                    Операция.Дебет.МестаХранения = МестоХранения;
                    Операция.Дебет.Субконто(3,Ответственный);
                КонецЕсли;
                Если (ВидОтгрузки=0) Тогда //                91.2 - 10.х
                    Операция.Дебет.Счет = СчРасх; 
                    Если ДатаДок<Константа.датаНПС Тогда
                        Операция.Дебет.Субконто(1,СтатьяДоходаРасхода); 
                    Иначе
                        Если _791=0 Тогда    
                            
                            Операция.Дебет.Субконто(3,СтатьяДоходаРасхода); //
                            Операция.дебет.ОбъектыСтроительства=Константа.Объект; //
                            Операция.Дебет.ВидыДеятельности = ВидДеятельности; // 
                        Иначе
                            Операция.Дебет.Контрагенты=Получатель;
                            Операция.Дебет.Основание=Договор;
                            
                            
                            
                        КонецЕсли;
                        
                    КонецЕсли;
                    Если (ВидОтгрузки=0) Тогда    
                    
                    
                    ОперацияСумма = 0;
                    Если КоличествоОтпущено=ОстКол Тогда
                        // Если материал отпускается полностью,
                        // полностью списываем сумму
                        ОперацияСумма=ОстСум;
                    Иначе
                        ОперацияСумма=Окр( ОстСум/ОстКол*КоличествоОтпущено, 2 );
                    КонецЕсли;  
                    Операция.Сумма = ОперацияСумма;
                    Операция.СодержаниеПроводки = "Списан материал";
                    УчетнаяЦена = ОперацияСумма/?(КоличествоОтпущено=0,1,КоличествоОтпущено);  
                Иначе
                    
                        
                    ОперацияСумма = 0;
                    Если КоличествоОтпущено=ОстКол Тогда
                        // Если материал отпускается полностью,
                        // полностью списываем сумму
                        ОперацияСумма=-ОстСум;
                    Иначе
                        ОперацияСумма=Окр( ОстСум/ОстКол*КоличествоОтпущено, 2 )*(-1);
                    КонецЕсли;  
                    Операция.Сумма = ОперацияСумма*(-1);
                    Операция.СодержаниеПроводки = "Списан материал";
                    УчетнаяЦена = ОперацияСумма/?(КоличествоОтпущено=0,1,КоличествоОтпущено)*(-1);  
                    
                КонецЕсли;    
                    
                Иначе //            возврат поставщику 60.1 (76.1) - 10.х
                    ////Операция.Дебет.Счет = СчПоставщика;
                    ////Операция.Дебет.Субконто(1,Получатель); 
                    ////Операция.Дебет.Субконто(2,Договор); 
                    ////// {Изм., релиз 9.12.1 ПЕ 30.11.09  
                    ////Если Валютный = 1 Тогда
                    ////    Операция.Валюта   = Договор.Валюта; 
                    ////    Операция.ВалСумма = СуммаСНДС - НДС; 
                    ////    ДобавитьСтрокуВТаблицуПереоценки(ЕстьКурсРазница, СчПоставщика, Получатель, Договор, , Договор.Валюта); // ПС 04.12.09
                    ////КонецЕсли;
                    ////Операция.Сумма= ОКР((СуммаСНДС - НДС)*?(Валютный=1,КурсПоставки,1),0); 
                    ////// пе} 
                    ////Операция.СодержаниеПроводки = "Возврат поставщику";
                
                    
                        Операция.Кредит.Счет = СчПоставщика;
                    Операция.Кредит.Субконто(1,Получатель); 
                    Операция.Кредит.Субконто(2,Договор); 
                    // {Изм., релиз 9.12.1 ПЕ 30.11.09  
                    Если Валютный = 1 Тогда
                        Операция.Валюта   = Договор.Валюта; 
                        Операция.ВалСумма = СуммаСНДС - НДС; 
                        ДобавитьСтрокуВТаблицуПереоценки(ЕстьКурсРазница, СчПоставщика, Получатель, Договор, , Договор.Валюта); // ПС 04.12.09
                    КонецЕсли;
                    Операция.Сумма= ОКР((СуммаСНДС - НДС)*?(Валютный=1,КурсПоставки,1),0)*(-1); 
                    // пе} 
                    Операция.СодержаниеПроводки = "Возврат поставщику";
                    
                    
                    Если (АвтоКП=1) Тогда
                        ТаблицаПокупок.НоваяСтрока();
                        ТаблицаПокупок.Товар = Материал; 
                        ТаблицаПокупок.Всего = СуммаСНДС;
                        ТаблицаПокупок.Сумма = Сумма; 
                        ТаблицаПокупок.НДС   = НДС;
                    КонецЕсли;
                КонецЕсли;    
        Если (ВидОтгрузки=0) Тогда         
                Операция.Количество=КоличествоОтпущено;
                
        Иначе
                
        
                Операция.Количество=КоличествоОтпущено*(-1);
                
            
        КонецЕсли;    
            
                // Сумму операции будет считать, так как неизвестно, сколько материала
                // реально отпущено.
                //   Операция.СуммаОперации = Операция.СуммаОперации + Операция.Сумма;  // Комм., релиз 9.12.1 ПЕ 30.11.09
            КонецЕсли;
        КонецЦикла;
        
        //  Комм., релиз 9.12.1 ПЕ 30.11.09: сумма и содержание заполняются при записи
        //    Операция.СуммаОперации = Итог("СуммаСндс");  // И // Комм., релиз 9.12.1 ПЕ 30.11.09
        //    Операция.Содержание = ?(ВидОтгрузки=0,"Отпуск","Возврат")+" материалов/ "+Получатель; // Комм., релиз 9.12.1 ПЕ 30.11.09
        //
        Если АвтоКП=1 Тогда 
            юДляЗаполненияАвтоКнигиПокупок(Контекст, ТаблицаПокупок);
        КонецЕсли;
        
        // {Изм., релиз 9.12.1 ПС 04.12.09  
        // Курс разницы 
        Если ЕстьКурсРазница <> 0  Тогда
            Операция.ЗаписатьПроводки();
            глПереоценкаСчетов(Контекст, глТаблицаСчетов);
        КонецЕсли;
        // пс}
        
        Операция.Записать();
        
    КонецПроцедуры

  2. #2
    Гордость форума PRO +

    Регистрация
    29.11.2013
    Адрес
    Берег Волги
    Сообщений
    2021
    Сказал(а) спасибо
    650
    Поблагодарили 10233 раз(а) в 2698 сообщениях

    По умолчанию Re: Добавляем новый счет реализации

    А в чем проблема-то?
    Пишите проводку так же, как и для счета 79.1. Полагаю, что выбор счета реализации через флажки нерационально, лучше сделать список (наподобие поля "Надбавка")

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •