Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: как сделать выборку с проводок и выгрузить в таблицу значений в 1с77

v7: как сделать выборку с проводок и выгрузить в таблицу значений в 1с77
Я
   alpha78
 
24.05.19 - 15:04
Добрый день, в 1с программировании начинаю, так что строго не судите, коллеги. Задача заключается в следующем: создаю внешнюю обработку, реквизиты - счет дебета, счет кредита, дата начала, дата конца, таблица значений, куда выгрузятся данные. В ТЗ 4 колонки - основное средство (тип. спр. Необоротные активы), счет дебета, счет кредита, сумма.
Вопрос - как сделать выборку с проводок и выгрузить в таблицу значений в 1с77. заранее благодарен. Удачи в делах и хороших выходных
 
 
   Mikeware
 
1 - 24.05.19 - 15:07
а что, документацию нынче читать не принято?
   alpha78
 
2 - 24.05.19 - 15:10
такого не встретил
   Йохохо
 
3 - 24.05.19 - 15:12
ТС не задал ни одного вопроса, опубликовал  анонс статьи, поблагодарил и попрощался. Цезарь^2
   alpha78
 
4 - 24.05.19 - 15:13
и что это было?
   Mikeware
 
5 - 24.05.19 - 15:15
(4) "Море!"©
   alpha78
 
6 - 24.05.19 - 15:16
никто не сказал по существу , не хотите не отвечайте, зачем ерунду говорить
   Mikeware
 
7 - 24.05.19 - 15:17
(6) что в п.1. не по существу?
что _ты_ сделал, чтоб  решить задачу?
   alpha78
 
8 - 24.05.19 - 15:17
я же говорю новичок в 1с77
   Mikeware
 
9 - 24.05.19 - 15:18
(8) это понятно.
а сделал-то - что?
   Кодер
 
10 - 24.05.19 - 15:19
firststeps.ru
   alpha78
 
11 - 24.05.19 - 15:19
сделал форму обработки
   Mikeware
 
12 - 24.05.19 - 15:20
(11) замечательно. теперь получай данные
   alpha78
 
13 - 24.05.19 - 15:39
а как получить данные
   trooba
 
14 - 24.05.19 - 15:48
Таб.УдалитьСтроки(); 
    
    Опер = СоздатьОбъект("Операция");
    Опер.ВыбратьОперации(НачДата, КонДата);//заданный период

    
    Пока Опер.ПолучитьОперацию()=1 Цикл
        
        Опер.ВыбратьПроводки(); 
        
        Пока Опер.ПолучитьПроводку()=1 Цикл
            
            Состояние("Формируется дата: "+Опер.ДатаОперации);
            
            Таб.НоваяСтрока();
            
            Таб.BUCode=BUCode;
            Таб.EntryType="Оборот за период";
            Таб.OrganizationName=OrganizationName;
            Таб.OrganizationCode=OrganizationCode;
            //Таб.DocType="";

            //Таб.DocNumber="";

            
            DocDate=?(СтрДлина(Опер.ДатаОперации)=8,Лев(Опер.ДатаОперации,6)+"20"+Сред(Опер.ДатаОперации,7,2),Опер.ДатаОперации);
            
            
            
            Если Опер.Дебет.Счет.КоличествоСубконто()>0 Тогда
                
                Если ТипЗначенияСтр(Опер.Дебет.Субконто(1))="Справочник" Тогда
                    
                    Таб.Subcount1Dt=Опер.Дебет.Субконто(1).Наименование;
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Дебет.Субконто(1))="Документ" Тогда
                    
                    Таб.Subcount1Dt=СокрЛП(Опер.Дебет.Субконто(1).ТекущийДокумент());
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Дебет.Субконто(1))="Перечисление" Тогда
                    
                    Таб.Subcount1Dt=Опер.Дебет.Субконто(1);    
                    
                КонецЕсли; 
                
            КонецЕсли;
            
            Если Опер.Дебет.Счет.КоличествоСубконто()>1 Тогда
                
                Если ТипЗначенияСтр(Опер.Дебет.Субконто(2))="Справочник" Тогда
                    
                    Таб.Subcount2Dt=Опер.Дебет.Субконто(2).Наименование;
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Дебет.Субконто(2))="Документ" Тогда
                    
                    Таб.Subcount2Dt=СокрЛП(Опер.Дебет.Субконто(2).ТекущийДокумент());
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Дебет.Субконто(2))="Перечисление" Тогда
                    
                    Таб.Subcount2Dt=Опер.Дебет.Субконто(2);    
                    
                КонецЕсли;
                
            КонецЕсли;
            
            Если Опер.Дебет.Счет.КоличествоСубконто()>2 Тогда
                
                Если ТипЗначенияСтр(Опер.Дебет.Субконто(3))="Справочник" Тогда
                    
                    Таб.Subcount3Dt=Опер.Дебет.Субконто(3).Наименование;
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Дебет.Субконто(3))="Документ" Тогда
                    
                    Таб.Subcount3Dt=СокрЛП(Опер.Дебет.Субконто(3).ТекущийДокумент());
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Дебет.Субконто(3))="Перечисление" Тогда
                    
                    Таб.Subcount3Dt=Опер.Дебет.Субконто(3);    
                    
                КонецЕсли;
                
            КонецЕсли; 
            
            Таб.AccountDt=Опер.Дебет.Счет.Код;
            
            Таб.AccountNameDt=Опер.Дебет.Счет.Наименование;
            
            Если Опер.Кредит.Счет.КоличествоСубконто()>0 Тогда
                
                Если ТипЗначенияСтр(Опер.Кредит.Субконто(1))="Справочник" Тогда
                    
                    Таб.Subcount1Ct=Опер.Кредит.Субконто(1).Наименование;
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Кредит.Субконто(1))="Документ" Тогда
                    
                    Таб.Subcount1Ct=СокрЛП(Опер.Кредит.Субконто(1).ТекущийДокумент());
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Кредит.Субконто(1))="Перечисление" Тогда
                    
                    Таб.Subcount1Ct=Опер.Кредит.Субконто(1);    
                    
                КонецЕсли;
                
            КонецЕсли;
            
            Если Опер.Кредит.Счет.КоличествоСубконто()>1 Тогда
                
                Если ТипЗначенияСтр(Опер.Кредит.Субконто(2))="Справочник" Тогда
                    
                    Таб.Subcount2Ct=Опер.Кредит.Субконто(2).Наименование;
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Кредит.Субконто(2))="Документ" Тогда
                    
                    Таб.Subcount2Ct=СокрЛП(Опер.Кредит.Субконто(2).ТекущийДокумент());
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Кредит.Субконто(2))="Перечисление" Тогда
                    
                    Таб.Subcount2Ct=Опер.Кредит.Субконто(2);    
                    
                КонецЕсли;
                
            КонецЕсли;
            
            Если Опер.Кредит.Счет.КоличествоСубконто()>2 Тогда
                
                Если ТипЗначенияСтр(Опер.Кредит.Субконто(3))="Справочник" Тогда
                    
                    Таб.Subcount3Ct=Опер.Кредит.Субконто(3).Наименование;
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Кредит.Субконто(3))="Документ" Тогда
                    
                    Таб.Subcount3Ct=СокрЛП(Опер.Кредит.Субконто(3).ТекущийДокумент());
                    
                ИначеЕсли ТипЗначенияСтр(Опер.Кредит.Субконто(3))="Перечисление" Тогда
                    
                    Таб.Subcount3Ct=Опер.Кредит.Субконто(3);    
                    
                КонецЕсли;
                
            КонецЕсли; 
            
            Таб.DocNumber=Опер.Документ.НомерДок;
            Таб.DocDate=DocDate;
            Таб.DocType=Опер.Документ.Вид();
            //    Таб.DocNumber=Опер.Документ.НомерДок;

            
            Таб.AccountCt=Опер.Кредит.Счет.Код;
            Таб.AccountDt=Опер.Дебет.Счет.Код;
            
            Таб.AccountNameCt=Опер.Кредит.Счет.Наименование;
            Таб.AccountNameDt=Опер.Дебет.Счет.Наименование;
            
            Таб.SumInCurrency="";
            Таб.VATSumInCurrency="";
            Таб.SumRUB=Опер.Сумма;
            Таб.VATSumRUB=0;
            Таб.VATRate="";
            Таб.Scenario="Факт";
            
        КонецЦикла;
        
    КонецЦикла;
   alpha78
 
15 - 24.05.19 - 15:53
trooba спасибо большое ты человечище!!! удачи

Список тем форума
Рекламное место пустует  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.