Имя: Пароль:
1C
1С v8
Формирование внешнего отчета в другой базе через com соединение
,
0 Роспатнюк Сергей Сер
 
29.03.19
10:07
в базе источник пишу код     
ВнешняяФорма = Соединение.Справочники.ВнешниеОбработки.НайтиПоНаименованию("Выгрузка авансов в Зарплату");
        
НафигационнаяСсылка = Соединение.ПолучитьНавигационнуюСсылку(ВнешняяФорма,"ХранилищеВнешнейОбработки");
        
ИмяФайла = ПолучитьИмяВременногоФайла();                                                                      
ДвоичныеДанные = ВнешняяФорма.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
                  
Обр = Соединение.ВнешниеОтчеты.Создать(ИмяФайла, Ложь);
        
Попытка
    Знч = Обр.ВнешнееПодключение(,Истина,Отчет.Организация.Наименование,Отчет.НачалоПериода,Отчет.КонецПериода);
Исключение
    Сообщить("Ошибка: " + ОписаниеОшибки());
КонецПопытки;

в базе приемник
в отчете в модуле объекта создал экспортную функцию ВнешнееПодключение далее иду в сформировать отчет передав параметры отбора

Функция ВнешнееПодключение(Результат = НеОпределено, ВнешнееПодключение = Ложь,Организация = Неопределено, НачалоПериода = НеОпределено,КонецПериода = НеОпределено) Экспорт
    
    Организация = Справочники.Организации.НайтиПоНаименованию(Организация);    
    
    Если ВнешнееПодключение Тогда
            
        Результат = СформироватьОтчет(,,,,НачалоПериода,КонецПериода,Организация);
        
    КонецЕсли;                    
    
    Если Не Результат = НеОпределено Тогда
        
        ТблЗнч = ТабличныйДокументВТаблицуЗначений(Результат);        
        
        Возврат ТблЗнч;    
    Иначе
        Возврат "Нет резльтута";
    КонецЕсли;

КонецФункции

попав в сформировать отчет начинаются проблемы типо   Ошибка: Значение не является значением объектного типа (АвтоМасштаб) Результат.АвтоМасштаб = истина; , Ошибка: Индекс находится за границами массива КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = ВнОрганизация

как я понимаю все это связано либо с скд, подскажите что еще нужно сделать что бы отчет взлетел ?
1 Роспатнюк Сергей Сер
 
29.03.19
10:17
+ (0) на этой строке МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));  Ошибка: {ВнешнийОтчет.ВыгрузкаЗарплаты.Форма.ФормаОтчета.Форма(378)}: Ошибка при вызове метода контекста (ВнешнееПодключение): Произошла исключительная ситуация (1C:Enterprise 8.3.13.1513): {ВнешнийОтчет.УнифицированнаяФормаТ51.МодульОбъекта(1430)}: Ошибка при вызове метода контекста (Выполнить)
Ошибка компоновки макета
Ошибка генерации макета
Ошибка получения информации набора данных
Ошибка в запросе набора данных
{(2, 12)}: Ожидается выражение ","
ДАТАВРЕМЯ(<<?>>, 1, 1) КАК ПериодРегистрации
2 aleks_default
 
29.03.19
10:29
Дык а какой отчет ты все-таки формируешь? И откуда мы знаем что у тебя в функции СформироватьОтчет(,,,,НачалоПериода,КонецПериода,Организация)
3 Роспатнюк Сергей Сер
 
29.03.19
10:31
Функция СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина,ВФайл=Ложь, ВнНачПер = НеОпределено, ВнКонПер = НеОпределено, ВнОрганизация = НеОпределено) Экспорт
    
    ЗначениеПанелипользователя = ТиповыеОтчеты.ПолучитьЗначенияНастроекПанелиПользователяОбъекта(ЭтотОбъект);
    НастрокаПоУмолчанию        = КомпоновщикНастроек.ПолучитьНастройки();
    
    ТиповыеОтчеты.ПолучитьПримененуюНастройку(ЭтотОбъект);
    
    НачалоПериода = НачалоМесяца(ОбщегоНазначенияЗК.ПолучитьРабочуюДату());
    КонецПериода  = КонецМесяца(ОбщегоНазначенияЗК.ПолучитьРабочуюДату());
    
    //--- imp RSS 20.03.2019 устанавливаем параметры из внешнего подключения
    
    Если НЕ ВнНачПер = НеОпределено И НЕ ВнКонПер = НеОпределено Тогда
        НачалоПериода = НачалоМесяца(ВнНачПер);
        КонецПериода  = КонецМесяца(ВнКонПер);
    Конецесли;
        
    Если Не ВнОрганизация = НеОпределено Тогда
        
        //КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = ВнОрганизация;
            
    КонецЕсли;
    
    //-- imp RSS(конец)
    
    ПараметрНачалоПериода = ТиповыеОтчеты.ПолучитьПараметр(КомпоновщикНастроек, "НачалоПериода");
    Если ПараметрНачалоПериода <> Неопределено тогда
        НачалоПериода = Дата(ПараметрНачалоПериода.Значение);
    КонецЕсли;
        
    ПараметрКонецПериода = ТиповыеОтчеты.ПолучитьПараметр(КомпоновщикНастроек, "КонецПериода");
    Если ПараметрКонецПериода <> Неопределено тогда
        КонецПериода = Дата(ПараметрКонецПериода.Значение);
    КонецЕсли;
    
    #Если НЕ ВнешнееСоединение Тогда
        Если Дата(КонецПериода) = '00010101' И Дата(НачалоПериода) = '00010101' Тогда
            ПараметрНачалоПериода.Значение = НачалоМесяца(РабочаяДата);
            НачалоПериода                  = НачалоМесяца(РабочаяДата);
            ПараметрКонецПериода.Значение  = КонецМесяца(РабочаяДата);
            КонецПериода                   = КонецМесяца(РабочаяДата);
        КонецЕсли;
    #КонецЕсли
    
    Если НачалоПериода <> Неопределено и КонецПериода <> Неопределено тогда
        УправлениеОтчетамиЗК.ЗаменитьВСКДТекстЗапросКалендаря(СхемаКомпоновкиДанных, НачалоПериода, КонецПериода, СоответствиеНаборовДанныхИЗапросов);
    КонецЕсли;
    
    Подразделение = "";
    ЗлементыОтбора = ТиповыеОтчеты.ПолучитьЭлементыОтбора(КомпоновщикНастроек);
    
    Для каждого ЭлементОтбора из ЗлементыОтбора Цикл
        Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПодразделениеОрганизации") и ЭлементОтбора.Использование тогда
            Подразделение = ЭлементОтбора.ПравоеЗначение;
        КонецЕсли;
    КонецЦикла;
    
    Если ТипЗнч(Подразделение) = Тип("СписокЗначений") И Подразделение.Количество() = 1 И ТипЗнч(Подразделение[0].Значение) = Тип("СправочникСсылка.ПодразделенияОрганизаций") тогда
        Подразделение = Подразделение[0].Значение;
    КонецЕсли;
    
    Если ЭтотОбъект.КомпоновщикНастроек.Настройки.Структура.Количество() > 0 тогда
        Сообщить("Отчет не поддерживает вывод расчетной ведомости в разрезе группировок.");
        КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
        Возврат Результат;
    КонецЕсли;
    
    #Если НЕ ВнешнееСоединение Тогда
        //--- imp
        Если ВФайл Тогда
            
            Диалог    = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
            Диалог.Заголовок                = "Выберите файл выгрузки";
            
            НАЗВфайла                        = "АВАНС_"+?(День(НачалоПериода)>9,формат(День(НачалоПериода)),"0"+формат(День(НачалоПериода)))+?(Месяц(НачалоПериода)>9,формат(Месяц(НачалоПериода)),"0"+формат(Месяц(НачалоПериода)))+прав(строка(Год(НачалоПериода)),2)+"_"+?(День(КонецПериода)>9, формат(День(КонецПериода)), "0"+формат(День(КонецПериода)))+?(Месяц(КонецПериода)>9, формат(Месяц(КонецПериода)),"0"+формат(Месяц(КонецПериода)))+прав(строка(Год(КонецПериода)),2)+".TXT";
            
            Диалог.ПолноеИмяФайла            = НАЗВфайла;
            Диалог.ПредварительныйПросмотр    = Ложь;
            Диалог.Фильтр                    = "ТХТ (*.TXT)|*.TXT|";
            
            Если Диалог.Выбрать() Тогда
                
                База    = Новый ТекстовыйДокумент;  
                База.ИспользуемоеИмяФайла    = Диалог.ПолноеИмяФайла;
                База.УстановитьТипФайла("windows-1251");
                
                Стр        = """Авансы"",""" + формат(НачалоПериода, "ДФ=дд.ММ.гг") + """,""" + формат(КонецПериода, "ДФ=дд.ММ.гг") + """,""" + Комментарий + """";
                
                Если ВерсияФорматаФайла <> "1" Тогда
                    
                    Стр    = Стр + ",""Формат файла: " + ВерсияФорматаФайла + """";
                    
                КонецЕсли;
                
                База.ДобавитьСтроку(Стр);
                
                ФайлВыгрузки    = Диалог.ПолноеИмяФайла;
                
            Иначе
                Возврат Неопределено;
            КонецЕсли;
            
        КонецЕсли;
    #КонецЕсли
    //--- imp (Конец)
    
    Группировка = ТиповыеОтчеты.ДобавитьГруппировку(КомпоновщикНастроек, "");
    Группировка.ПоляГруппировки.Элементы.Очистить();
    ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ФизЛицо");
    ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "Должность");
    ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "Организация");
    ТиповыеОтчеты.ДобавитьВыбранноеПоле(КомпоновщикНастроек, "ГоловнаяОрганизация");
    
    Результат.АвтоМасштаб = истина;
    Результат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    
    Результат.Очистить();
    Результат.НачатьАвтогруппировкуСтрок();
        
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    
    ТаблицаЗначений =  Новый ТаблицаЗначений;
    
    ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
    УправлениеОтчетамиЗК.УстановитьЗапросыСКДПоСоответсвию(СхемаКомпоновкиДанных.НаборыДанных, СоответствиеНаборовДанныхИЗапросов);
    
    ТаблицаЗначений.Свернуть("ФизЛицо, Должность, Организация, ГоловнаяОрганизация");
    
    СписокФизЛиц              = Новый СписокЗначений;
    СписокОрганизаций         = Новый СписокЗначений;
    СписокГоловныхОрганизаций = Новый СписокЗначений;
    
    СписокФизЛиц.ЗагрузитьЗначения(ТаблицаЗначений.ВыгрузитьКолонку("ФизЛицо"));
    СписокОрганизаций.ЗагрузитьЗначения(ТаблицаЗначений.ВыгрузитьКолонку("Организация"));
    СписокГоловныхОрганизаций.ЗагрузитьЗначения(ТаблицаЗначений.ВыгрузитьКолонку("ГоловнаяОрганизация"));
    
    Результат.Очистить();
    Результат.ПолеСлева  = 5;
    Результат.ПолеСправа = 0;
    
    //Макет = ПолучитьМакет("Т51");
    
    Если ПодробныйОтчёт Тогда                      
        
        Макет = ПолучитьМакет("Т51_Новая");            // imp dma
        
    Иначе
        Макет = ПолучитьМакет("Т51_Новая2");        // imp dma        
        
    КонецЕсли;
        
    //ОбластьШапкаДокумента = Макет.ПолучитьОбласть("ШапкаДокумента");
    ОбластьШапка          = Макет.ПолучитьОбласть("Шапка");
    ОбластьПодвал          = Макет.ПолучитьОбласть("Подвал");
    ОбластьСтрока          = Макет.ПолучитьОбласть("Строка");
    //ОбластьПодвалСтр      = Макет.ПолучитьОбласть("ИтогоПоСтранице");
    ОбластьПодвалВед      = Макет.ПолучитьОбласть("ИтогоПоВедомости");
    
    РеглВалюта = Константы.ВалютаРегламентированногоУчета.Получить();
    
    РезультатЗапроса = СформироватьЗапрос(СписокФизЛиц, СписокОрганизаций, СписокГоловныхОрганизаций, НачалоПериода, КонецПериода);
    
    Если РезультатЗапроса.Пустой() Тогда
        
        // массив с двумя строками - для разбиения на страницы
        ВыводимыеОбласти = Новый Массив();
        ВыводимыеОбласти.Добавить(ОбластьСтрока);
        //ВыводимыеОбласти.Добавить(ОбластьПодвалСтр);
        ВыводимыеОбласти.Добавить(ОбластьПодвалВед);
        
        //Результат.Вывести(ОбластьШапкаДокумента);
        Результат.Вывести(ОбластьШапка);
        
        ВыводимыеОбласти.Добавить(ОбластьПодвал);
        ОбластьСтрока.Параметры.ФизЛицо     = " " + Символы.ПС + " ";
        //Пока ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(Результат, ВыводимыеОбласти, Ложь) Цикл
        //    Результат.Вывести(ОбластьСтрока);
        //КонецЦикла;
        //Результат.Вывести(ОбластьПодвалСтр);
        Результат.Вывести(ОбластьПодвалВед);
        //Результат.Вывести(ОбластьПодвал);
        Результат.ПолеСлева  = 5;
        Результат.ПолеСправа = 0;
        ФайлСчетчик = 0;
        Если ВФайл Тогда
            Сообщить("Выгрузка не произведена - нет данных!!!",СтатусСообщения.Важное);
        КонецЕсли;
        КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
        Возврат Результат;
    КонецЕсли;
    
    НомерОрганизации            = 1;
    ВыборкаПоПериодуРегистрации = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    РеглВалюта                    = Константы.ВалютаРегламентированногоУчета.Получить();

       ФайлСчетчик            = 0;
    ФайлОбщСуммаБезНДФЛ    = 0;
    ФайлОбщСуммаНДФЛ    = 0;
    
    Пока ВыборкаПоПериодуРегистрации.Следующий() Цикл
        
        ВыборкаПоОрганизациям = ВыборкаПоПериодуРегистрации.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        КоличествоОрганизаций = ВыборкаПоОрганизациям.Количество();
        
        Пока ВыборкаПоОрганизациям.Следующий() Цикл
            
            // массив с двумя строками - для разбиения на страницы
            ВыводимыеОбласти = Новый Массив();
            ВыводимыеОбласти.Добавить(ОбластьСтрока);
            
            Попытка            
                 ОбластьПодвалВед.Параметры.Повременно              = 0;            
            Исключение            
            КонецПопытки;
            
            ОбластьПодвалВед.Параметры.Сдельно                  = 0;            
            ОбластьПодвалВед.Параметры.Другое                  = 0;            
            ОбластьПодвалВед.Параметры.ВсегоНачислено          = 0;            
            ОбластьПодвалВед.Параметры.НДФЛ                      = 0;            
            ОбластьПодвалВед.Параметры.ДругоеУдержано          = 0;            
            ОбластьПодвалВед.Параметры.ВсегоУдержано          = 0;            
            ОбластьПодвалВед.Параметры.ДолгЗаОрганизацией      = 0;            
            ОбластьПодвалВед.Параметры.ДолгЗаРаботником          = 0;            
            ОбластьПодвалВед.Параметры.КВыплате                  = 0;            
            ОбластьПодвалВед.Параметры.ДоходВНатуральнойФорме = 0;            
            
            ВыводитьПодразделение = ТипЗнч(Подразделение) = Тип("СправочникСсылка.ПодразделенияОрганизаций");
            
            // Разделитель строки для следующей организации
            Если НомерОрганизации > 1 Тогда
                Результат.ВывестиГоризонтальныйРазделительСтраниц()
            КонецЕсли;
            
            ////ОбластьШапкаДокумента.Параметры.КодПоОКПО         = ВыборкаПоОрганизациям.ОрганизацияКодПоОКПО;
            //ОбластьШапкаДокумента.Параметры.Организация         = СокрЛП(ВыборкаПоОрганизациям.ОрганизацияПредставление);
            //ОбластьШапкаДокумента.Параметры.ОтчетныйПериодС  = НачалоМесяца(ВыборкаПоОрганизациям.ПериодРегистрации);
            //ОбластьШапкаДокумента.Параметры.ОтчетныйПериодПо = КонецМесяца(ВыборкаПоОрганизациям.ПериодРегистрации);
            //ОбластьШапкаДокумента.Параметры.ДатаД             = ОбщегоНазначенияЗК.ПолучитьРабочуюДату();
            
            //Результат.Вывести(ОбластьШапкаДокумента);
            //Результат.ВывестиГоризонтальныйРазделительСтраниц();
            Результат.Вывести(ОбластьШапка);
            
            НомерПП     = 1;
            ВыборкаПоФЛ = ВыборкаПоОрганизациям.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
            
            ВсегоСтрокДокумента = ВыборкаПоФЛ.Количество(); // всего количество физлиц в данной ведомости
            
            Пока ВыборкаПоФЛ.Следующий() Цикл
                
                ОбластьСтрока.Параметры.Повременно            = 0;
                ОбластьСтрока.Параметры.Сдельно               = 0;
                ОбластьСтрока.Параметры.Другое                = 0;
                ОбластьСтрока.Параметры.НДФЛ                  = 0;
                ОбластьСтрока.Параметры.ВсегоНачислено       = 0;
                ОбластьСтрока.Параметры.ДругоеУдержано       = 0;
                ОбластьСтрока.Параметры.ВсегоУдержано       = 0;
                ОбластьСтрока.Параметры.ДолгЗаОрганизацией = 0;
                ОбластьСтрока.Параметры.ДолгЗаРаботником   = 0;
                ОбластьСтрока.Параметры.КВыплате           = 0;
                ОбластьСтрока.Параметры.ОтработаноДнейЧасовПраздничные = 0;
                ОбластьСтрока.Параметры.ОтработаноДнейЧасов            = 0;
                ОбластьСтрока.Параметры.ДоходВНатуральнойФорме         = 0;
                ОтработаноДней  = 0;
                ОтработаноЧасов = 0;
                
                Выборка = ВыборкаПоФЛ.Выбрать();
                
                Пока Выборка.Следующий() Цикл
                    
                    Если ВыводитьПодразделение Тогда
                        ВыводитьПодразделение = Не ВыводитьПодразделение;
                        Результат.Область(Результат.ВысотаТаблицы - 11,1).Текст = Подразделение;
                    КонецЕсли;
                    
                    // тарифная ставка
                    Если Выборка.ИспользуютсяНачисленияВВалюте тогда
                        Если (Выборка.Курс = NULL или Выборка.Кратность = NULL)
                           и РеглВалюта <> Выборка.ВалютаОклада
                           и Выборка.ВалютаОклада <> Справочники.Валюты.ПустаяСсылка() тогда
                            ОписаниеТарифнаяСтавка = "Не задан курс валюты.";
                        ИначеЕсли (Выборка.Курс = NULL или Выборка.Кратность = NULL) и (РеглВалюта = Выборка.ВалютаОклада или Выборка.ВалютаОклада = Справочники.Валюты.ПустаяСсылка()) тогда
                            ОписаниеТарифнаяСтавка = Формат(Выборка.ТарифнаяСтавка,"ЧЦ=15; ЧДЦ=2; ЧН=' '; ЧГ=0");
                        ИначеЕсли ТипЗнч(Выборка.ТарифнаяСтавка) = Тип("Строка") тогда
                            ОписаниеТарифнаяСтавка  = Выборка.ТарифнаяСтавка;
                        Иначе
                            ТарифнаяСтавка  = Выборка.ТарифнаяСтавка * Выборка.Курс / Выборка.Кратность;
                            ОписаниеТарифнаяСтавка = Формат(ТарифнаяСтавка,"ЧЦ=15; ЧДЦ=2; ЧН=' '; ЧГ=0");
                        КонецЕсли;
                    Иначе
                        ОписаниеТарифнаяСтавка = Формат(Выборка.ТарифнаяСтавка,"ЧЦ=15; ЧДЦ=2; ЧН=' '; ЧГ=0");
                    КонецЕсли;
                    ОбластьСтрока.Параметры.ТарифнаяСтавка = ОписаниеТарифнаяСтавка;
                    ОбластьСтрока.Параметры.ТабельныйНомер = Выборка.ТабельныйНомер;
                    ОбластьСтрока.Параметры.Должность = Выборка.Должность;
                    
                    Если Выборка.Группа = "Всего начислено" Тогда
                        
                        Если Выборка.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПраздничныхИВыходных Тогда
                            
                            Если НЕ ЗначениеЗаполнено(ОбластьСтрока.Параметры.ОтработаноДнейЧасовПраздничные) Тогда
                                
                                ОбластьСтрока.Параметры.ОтработаноДнейЧасовПраздничные = Выборка.ОтработаноДней;
                                
                                Если ЗначениеЗаполнено(Выборка.ОтработаноЧасов) Тогда
                                    ОбластьСтрока.Параметры.ОтработаноДнейЧасовПраздничные = "" + Выборка.ОтработаноДней + " (" + Выборка.ОтработаноЧасов + ")"
                                КонецЕсли;
                                
                            КонецЕсли;
                            
                        Иначе
                            
                            ОтработаноДней  = ОтработаноДней + ?(Выборка.ОтработаноДней = NULL, 0, Выборка.ОтработаноДней);
                            ОбластьСтрока.Параметры.ОтработаноДнейЧасов = ОтработаноДней;
                            
                            Если ЗначениеЗаполнено(Выборка.ОтработаноЧасов) Тогда
                                ОтработаноЧасов = ОтработаноЧасов + Выборка.ОтработаноЧасов;
                            КонецЕсли;
                            
                            Если ЗначениеЗаполнено(ОтработаноЧасов) Тогда
                                ОбластьСтрока.Параметры.ОтработаноДнейЧасов = "" + ОтработаноДней + " (" + ОтработаноЧасов + ")"
                            КонецЕсли;
                            
                        КонецЕсли;
                        
                        Если Выборка.ЯвляетсяДоходомВНатуральнойФорме Тогда
                            ОбластьСтрока.Параметры.ДоходВНатуральнойФорме      = ОбластьСтрока.Параметры.ДоходВНатуральнойФорме      + Выборка.Результат;
                            //ОбластьПодвалСтр.Параметры.ДоходВНатуральнойФорме = ОбластьПодвалСтр.Параметры.ДоходВНатуральнойФорме + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.ДоходВНатуральнойФорме = ОбластьПодвалВед.Параметры.ДоходВНатуральнойФорме + Выборка.Результат;
                        ИначеЕсли Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоДням ИЛИ
                            Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ПоМесячнойТарифнойСтавкеПоЧасам ИЛИ
                            Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ПоЧасовойТарифнойСтавке ИЛИ
                            Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.ПоДневнойТарифнойСтавке Тогда
                            
                            ОбластьСтрока.Параметры.Повременно = ОбластьСтрока.Параметры.Повременно + Выборка.Результат;
                            
                            // подсчет итогов по странице и ведомости
                            //ОбластьПодвалСтр.Параметры.Повременно    = ОбластьПодвалСтр.Параметры.Повременно + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.Повременно    = ОбластьПодвалВед.Параметры.Повременно + Выборка.Результат;
                            
                        ИначеЕсли Выборка.СпособРасчета = Перечисления.СпособыРасчетаОплатыТруда.СдельныйЗаработок Тогда
                            ОбластьСтрока.Параметры.Сдельно        = ОбластьСтрока.Параметры.Сдельно        + Выборка.Результат;
                            //ОбластьПодвалСтр.Параметры.Сдельно    = ОбластьПодвалСтр.Параметры.Сдельно    + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.Сдельно    = ОбластьПодвалВед.Параметры.Сдельно    + Выборка.Результат;
                        Иначе                        
                            ОбластьСтрока.Параметры.Другое        = ОбластьСтрока.Параметры.Другое    + Выборка.Результат;
                            //ОбластьПодвалСтр.Параметры.Другое    = ОбластьПодвалСтр.Параметры.Другое    + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.Другое    = ОбластьПодвалВед.Параметры.Другое    + Выборка.Результат;
                        КонецЕсли;
                        
                        Если Не Выборка.ЯвляетсяДоходомВНатуральнойФорме тогда
                            ОбластьСтрока.Параметры.ВсегоНачислено        = ОбластьСтрока.Параметры.ВсегоНачислено    + Выборка.Результат;
                            //ОбластьПодвалСтр.Параметры.ВсегоНачислено    = ОбластьПодвалСтр.Параметры.ВсегоНачислено    + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.ВсегоНачислено    = ОбластьПодвалВед.Параметры.ВсегоНачислено    + Выборка.Результат;
                        КонецЕсли;
                        
                    ИначеЕсли Выборка.Группа = "Всего удержано" Тогда
                        
                        Если Выборка.ВидРасчета = "НДФЛ" Тогда
                            ОбластьСтрока.Параметры.НДФЛ    = ОбластьСтрока.Параметры.НДФЛ        + Выборка.Результат;
                            //ОбластьПодвалСтр.Параметры.НДФЛ    = ОбластьПодвалСтр.Параметры.НДФЛ    + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.НДФЛ    = ОбластьПодвалВед.Параметры.НДФЛ    + Выборка.Результат;
                        Иначе
                            ОбластьСтрока.Параметры.ДругоеУдержано        = ОбластьСтрока.Параметры.ДругоеУдержано    + Выборка.Результат;
                            //ОбластьПодвалСтр.Параметры.ДругоеУдержано    = ОбластьПодвалСтр.Параметры.ДругоеУдержано    + Выборка.Результат;
                            ОбластьПодвалВед.Параметры.ДругоеУдержано    = ОбластьПодвалВед.Параметры.ДругоеУдержано    + Выборка.Результат;
                        КонецЕсли;
                        
                        //ОбластьПодвалСтр.Параметры.ВсегоУдержано = ОбластьПодвалСтр.Параметры.ВсегоУдержано    + Выборка.Результат;
                        ОбластьПодвалВед.Параметры.ВсегоУдержано = ОбластьПодвалВед.Параметры.ВсегоУдержано    + Выборка.Результат;
                        ОбластьСтрока.Параметры.ВсегоУдержано    = ОбластьСтрока.Параметры.ВсегоУдержано    + Выборка.Результат;
                        
                    ИначеЕсли Выборка.Группа = "Я" Тогда // Конечное сальдо
                        
                        Если Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0 Тогда
                            ОбластьСтрока.Параметры.ДолгЗаОрганизацией        = ОбластьСтрока.Параметры.ДолгЗаОрганизацией    + Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано);
                            //ОбластьПодвалСтр.Параметры.ДолгЗаОрганизацией    = ОбластьПодвалСтр.Параметры.ДолгЗаОрганизацией    + Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано);
                            ОбластьПодвалВед.Параметры.ДолгЗаОрганизацией    = ОбластьПодвалВед.Параметры.ДолгЗаОрганизацией    + Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано);
                        Иначе
                            ОбластьСтрока.Параметры.ДолгЗаРаботником    = ОбластьСтрока.Параметры.ДолгЗаРаботником        - (Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано));
                            //ОбластьПодвалСтр.Параметры.ДолгЗаРаботником    = ОбластьПодвалСтр.Параметры.ДолгЗаРаботником    - (Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано));
                            ОбластьПодвалВед.Параметры.ДолгЗаРаботником    = ОбластьПодвалВед.Параметры.ДолгЗаРаботником    - (Выборка.Результат - (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано));
                        КонецЕсли;
                    КонецЕсли;
                КонецЦикла;
                
                ОбластьСтрока.Параметры.НомерПП  = НомерПП;
                
                Если ВыборкаПоФЛ.ФИО = NULL Тогда
                    ОбластьСтрока.Параметры.ФизЛицо = ОбщегоНазначения.ФамилияИнициалыФизЛица(ВыборкаПоФЛ.ФизЛицоНаименование);
                Иначе
                    ОбластьСтрока.Параметры.ФизЛицо = ВыборкаПоФЛ.ФИО;
                КонецЕсли;
                
                //--- imp RSS (Было)
                //  ОбластьСтрока.Параметры.КВыплате    = ОбластьСтрока.Параметры.КВыплате        + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                //    //ОбластьПодвалСтр.Параметры.КВыплате    = ОбластьПодвалСтр.Параметры.КВыплате    + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                //    ОбластьПодвалВед.Параметры.КВыплате    = ОбластьПодвалВед.Параметры.КВыплате    + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                //--- imp RSS (Было конец)
                
                //--- imp RSS (стало)
                Если НЕ СУчётомУдержаний Тогда
                    
                    ОбластьСтрока.Параметры.КВыплате    = ОбластьСтрока.Параметры.КВыплате        + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ), 0);
                    //ОбластьПодвалСтр.Параметры.КВыплате    = ОбластьПодвалСтр.Параметры.КВыплате    + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                    ОбластьПодвалВед.Параметры.КВыплате    = ОбластьПодвалВед.Параметры.КВыплате    + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ), 0);
                    
                Иначе    
                    
                    ОбластьСтрока.Параметры.КВыплате    = ОбластьСтрока.Параметры.КВыплате        + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                    //ОбластьПодвалСтр.Параметры.КВыплате    = ОбластьПодвалСтр.Параметры.КВыплате    + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                    ОбластьПодвалВед.Параметры.КВыплате    = ОбластьПодвалВед.Параметры.КВыплате    + ?((ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано) > 0, (ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано), 0);
                    
                КонецЕсли;
                //--- imp RSS (стало конец)
                
                
                // Проверим, уместится ли строка на странице или надо открывать новую страницу
                ВывестиПодвалЛиста = Не ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(Результат, ВыводимыеОбласти);
                
                Если Не ВывестиПодвалЛиста и НомерПП = ВсегоСтрокДокумента Тогда
                    
                    //все строки отчета перебрали, они все еще умещаются на странице
                    ВыводимыеОбласти.Добавить(ОбластьПодвалВед);
                    ВыводимыеОбласти.Добавить(ОбластьПодвал);
                    
                    // умещаются ли теперь, вместе подвалом:
                    ВывестиПодвалЛиста = Не ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(Результат, ВыводимыеОбласти);
                    
                КонецЕсли;
                
                Если ВывестиПодвалЛиста Тогда
                    
                    //ОбластьПодвалСтр.Параметры.Повременно              = ОбластьПодвалСтр.Параметры.Повременно            - ОбластьСтрока.Параметры.Повременно;
                    //ОбластьПодвалСтр.Параметры.Сдельно                  = ОбластьПодвалСтр.Параметры.Сдельно                 - ОбластьСтрока.Параметры.Сдельно;
                    //ОбластьПодвалСтр.Параметры.Другое                  = ОбластьПодвалСтр.Параметры.Другое                 - ОбластьСтрока.Параметры.Другое;
                    //ОбластьПодвалСтр.Параметры.ВсегоНачислено          = ОбластьПодвалСтр.Параметры.ВсегоНачислено         - ОбластьСтрока.Параметры.ВсегоНачислено;
                    //ОбластьПодвалСтр.Параметры.НДФЛ                      = ОбластьПодвалСтр.Параметры.НДФЛ                 - ОбластьСтрока.Параметры.НДФЛ;
                    //ОбластьПодвалСтр.Параметры.ДругоеУдержано          = ОбластьПодвалСтр.Параметры.ДругоеУдержано         - ОбластьСтрока.Параметры.ДругоеУдержано;
                    //ОбластьПодвалСтр.Параметры.ВсегоУдержано          = ОбластьПодвалСтр.Параметры.ВсегоУдержано         - ОбластьСтрока.Параметры.ВсегоУдержано;
                    //ОбластьПодвалСтр.Параметры.ДолгЗаОрганизацией      = ОбластьПодвалСтр.Параметры.ДолгЗаОрганизацией     - ОбластьСтрока.Параметры.ДолгЗаОрганизацией;
                    //ОбластьПодвалСтр.Параметры.ДолгЗаРаботником          = ОбластьПодвалСтр.Параметры.ДолгЗаРаботником     - ОбластьСтрока.Параметры.ДолгЗаРаботником;
                    //ОбластьПодвалСтр.Параметры.КВыплате                  = ОбластьПодвалСтр.Параметры.КВыплате             - ОбластьСтрока.Параметры.КВыплате;
                    //ОбластьПодвалСтр.Параметры.ДоходВНатуральнойФорме = ОбластьПодвалСтр.Параметры.ДоходВНатуральнойФорме - ОбластьСтрока.Параметры.ДоходВНатуральнойФорме;
                    //
                    //Результат.Вывести(ОбластьПодвалСтр);
                    
                    //// обнулим итоги по странице
                    //ОбластьПодвалСтр.Параметры.Повременно              = ОбластьСтрока.Параметры.Повременно;
                    //ОбластьПодвалСтр.Параметры.Сдельно                  = ОбластьСтрока.Параметры.Сдельно;
                    //ОбластьПодвалСтр.Параметры.Другое                  = ОбластьСтрока.Параметры.Другое;
                    //ОбластьПодвалСтр.Параметры.ВсегоНачислено          = ОбластьСтрока.Параметры.ВсегоНачислено;
                    //ОбластьПодвалСтр.Параметры.НДФЛ                      = ОбластьСтрока.Параметры.НДФЛ;
                    //ОбластьПодвалСтр.Параметры.ДругоеУдержано          = ОбластьСтрока.Параметры.ДругоеУдержано;
                    //ОбластьПодвалСтр.Параметры.ВсегоУдержано          = ОбластьСтрока.Параметры.ВсегоУдержано;
                    //ОбластьПодвалСтр.Параметры.ДолгЗаОрганизацией      = ОбластьСтрока.Параметры.ДолгЗаОрганизацией;
                    //ОбластьПодвалСтр.Параметры.ДолгЗаРаботником          = ОбластьСтрока.Параметры.ДолгЗаРаботником;
                    //ОбластьПодвалСтр.Параметры.КВыплате                  = ОбластьСтрока.Параметры.КВыплате;
                    //ОбластьПодвалСтр.Параметры.ДоходВНатуральнойФорме = ОбластьСтрока.Параметры.ДоходВНатуральнойФорме;
                    //
                    //Результат.ВывестиГоризонтальныйРазделительСтраниц();
                    //Результат.Вывести(ОбластьШапка);
                    
                КонецЕсли;
                #Если НЕ ВнешнееСоединение Тогда
                    //--- imp
                    Если ВФайл Тогда
                        
                        СуммаБезНДФЛНПП    = СокрЛП(Формат(ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ, "ЧДЦ=2; ЧРД='.'"));
                        НДФЛНПП            = СокрЛП(Формат(ОбластьСтрока.Параметры.НДФЛ, "ЧДЦ=2; ЧРД='.'"));
                        СуммаБезНДФЛ    = "";
                        НДФЛ            = "";
                        
                        //--- imp RSS (начало)
                        СуммаСУчетомУдержанийНПП = СокрЛП(Формат(ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.ВсегоУдержано, "ЧДЦ=2; ЧРД='.'"));
                        ВсегоУдерженоНПП         = СокрЛП(Формат(ОбластьСтрока.Параметры.ВсегоУдержано, "ЧДЦ=2; ЧРД='.'"));
                        СуммаСУчетомУдержаний    = "";
                        ВсегоУдержено            = "";                    
                        //--- imp RSS (конец)
                        
                        Если Ложь Тогда //--- imp RSS (Было)
                            
                            //Пока СтрДлина(СуммаБезНДФЛНПП) <> 0 Цикл
                            //    
                            //    Если Лев(СуммаБезНДФЛНПП, 1) <> Символы.НПП Тогда
                            //        СуммаБезНДФЛ    = СуммаБезНДФЛ + Лев(СуммаБезНДФЛНПП, 1);
                            //    КонецЕсли;
                            //    
                            //    СуммаБезНДФЛНПП        = Прав(СуммаБезНДФЛНПП, СтрДлина(СуммаБезНДФЛНПП)-1);
                            //КонецЦикла;
                            //
                            //Пока СтрДлина(НДФЛНПП) <> 0 Цикл
                            //    
                            //    Если Лев(НДФЛНПП, 1) <> Символы.НПП Тогда
                            //        НДФЛ    = НДФЛ + Лев(НДФЛНПП, 1)
                            //    КонецЕсли;
                            //    
                            //    НДФЛНПП        = Прав(НДФЛНПП, СтрДлина(НДФЛНПП)-1);
                            //    
                            //КонецЦикла;
                            
                            //_Стр    = """" + СокрЛП(ВыборкаПоФЛ.ФизЛицоНаименование) + """,""" + Формат(НачалоПериода, "ДФ=дд.ММ.гг") +
                            //""",""" + Формат(КонецПериода, "ДФ=дд.ММ.гг") + """," + СуммаБезНДФЛ + "," +
                            //НДФЛ;
                            //
                            //Если ВерсияФорматаФайла = "1" Тогда
                            //    
                            //    // Не меняем строку файла
                            //    
                            //ИначеЕсли ВерсияФорматаФайла = "2" Тогда
                            //    
                            //    //"Абдувахапов Омадбек Фуркатжонович","01.04.18","30.04.18",19860.58,2968.00            // Формат = 1
                            //    //"Абдурахимов Оятилло Абдужаббарович"    "01,04,18"    "30,04,18"    24534,00    3666,00        // Формат = 2            
                            //    
                            //    _Стр    = СтрЗаменить(_Стр, ",", Символы.Таб);            
                            //    _Стр    = СтрЗаменить(_Стр, ".", ",");
                            //    
                            //КонецЕсли;
                            //
                            //База.ДобавитьСтроку(_Стр);
                            //
                            //ФайлСчетчик            = ФайлСчетчик + 1;
                            //ФайлОбщСуммаБезНДФЛ    = ФайлОбщСуммаБезНДФЛ + ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ;
                            //ФайлОбщСуммаНДФЛ    = ФайлОбщСуммаНДФЛ + ОбластьСтрока.Параметры.НДФЛ;
                            
                        КонецЕсли;//--- imp RSS (Было конец)
                        
                        Если НЕ СУчётомУдержаний Тогда //--- imp RSS (Стало)
                            
                            Пока СтрДлина(СуммаБезНДФЛНПП) <> 0 Цикл
                                
                                Если Лев(СуммаБезНДФЛНПП, 1) <> Символы.НПП Тогда
                                    СуммаБезНДФЛ    = СуммаБезНДФЛ + Лев(СуммаБезНДФЛНПП, 1);
                                КонецЕсли;
                                
                                СуммаБезНДФЛНПП        = Прав(СуммаБезНДФЛНПП, СтрДлина(СуммаБезНДФЛНПП)-1);
                            КонецЦикла;
                            
                            Пока СтрДлина(НДФЛНПП) <> 0 Цикл
                                
                                Если Лев(НДФЛНПП, 1) <> Символы.НПП Тогда
                                    НДФЛ    = НДФЛ + Лев(НДФЛНПП, 1)
                                КонецЕсли;
                                
                                НДФЛНПП        = Прав(НДФЛНПП, СтрДлина(НДФЛНПП)-1);
                                
                            КонецЦикла;
                            
                            _Стр    = """" + СокрЛП(ВыборкаПоФЛ.ФизЛицоНаименование) + """,""" + Формат(НачалоПериода, "ДФ=дд.ММ.гг") +
                            """,""" + Формат(КонецПериода, "ДФ=дд.ММ.гг") + """," + СуммаБезНДФЛ + "," +
                            НДФЛ;
                            
                            Если ВерсияФорматаФайла = "1" Тогда
                                
                                // Не меняем строку файла
                                
                            ИначеЕсли ВерсияФорматаФайла = "2" Тогда
                                
                                //"Абдувахапов Омадбек Фуркатжонович","01.04.18","30.04.18",19860.58,2968.00            // Формат = 1
                                //"Абдурахимов Оятилло Абдужаббарович"    "01,04,18"    "30,04,18"    24534,00    3666,00        // Формат = 2            
                                
                                _Стр    = СтрЗаменить(_Стр, ",", Символы.Таб);            
                                _Стр    = СтрЗаменить(_Стр, ".", ",");
                                
                            КонецЕсли;
                            
                            База.ДобавитьСтроку(_Стр);
                            
                            ФайлСчетчик            = ФайлСчетчик + 1;
                            ФайлОбщСуммаБезНДФЛ    = ФайлОбщСуммаБезНДФЛ + ОбластьСтрока.Параметры.ВсегоНачислено - ОбластьСтрока.Параметры.НДФЛ;
                            ФайлОбщСуммаНДФЛ    = ФайлОбщСуммаНДФЛ + ОбластьСтрока.Параметры.НДФЛ;
                            
                        Иначе
                            
                            Пока СтрДлина(СуммаСУчетомУдержанийНПП) <> 0 Цикл
                                
                                Е
4 Роспатнюк Сергей Сер
 
29.03.19
10:36
(2) а разве дело в том что в функции сформировать отчет, я подумал в том что стартуя из другой базы я должен еще что то для скд сделать так как по кнопке в начале проходим этот код
        
        СостояниеМодифицированности = Модифицированность;
    
    Если ПанельНастроекНарисована <> Истина Тогда
        ОбновлениеОтображения();
    КонецЕсли;
    
    ТиповыеОтчеты.ЗагрузитьВРеквизитЗначенияНастроекПанелиПользователя(ЭтотОбъект, ЭтаФорма);
    
    ПараметрыПанели  = ТиповыеОтчеты.ПолучитьПараметрыПанелиПользователяОбъекта(ОтчетОбъект);
    ЗначенияНастроек = ТиповыеОтчеты.ПолучитьЗначенияНастроекПанелиПользователяОбъекта(ОтчетОбъект);
    
    Отказ = ложь;
    
    ТиповыеОтчеты.ПроверитьЗначенияПараметров(ЗначенияНастроек, ПараметрыПанели, Отказ);
    
    Если Отказ тогда
        Возврат;
    КонецЕсли;
    
    СформироватьОтчет(ЭлементыФормы.Результат, ДанныеРасшифровки,,ВФайл);
5 Rovan
 
гуру
29.03.19
10:50
(0) через СОМ можно передавать явно только примитивные типы - стока, число, дата, булево, двоичныеданные.
Все остальное это ссылка на объект в той базе.
6 Роспатнюк Сергей Сер
 
29.03.19
10:54
(5) я в курсе этого, именно по этому и передаю только НачалоПериода КонецПериода наименование организации и уже в этой базе нахожу её
7 Провинциальный 1сник
 
29.03.19
11:11
(5) Даже хуже. Число в COM и число в 1с - разные типы, между которыми производятся преобразования с потерей точности. Так что, если обращаешься к числу в COM-базе - делать это надо только через обертку в строку.
8 Роспатнюк Сергей Сер
 
29.03.19
11:16
(7) не понял что я не так передаю 1й параметр это тип дата 2й тоже 3й строка, что же я не так передаю ?
9 Роспатнюк Сергей Сер
 
29.03.19
11:18
на возврат хочу ТЗ с примитивными типами только до возврата дело не доходит СКД чего то от меня хочет а чего не понятно.
10 breezee
 
29.03.19
11:19
Почему бы не скоммунздить текст запроса и не выполнять его по com(com, кстати, технология старая, используйте веб сервис)
11 Роспатнюк Сергей Сер
 
29.03.19
11:25
(10) вы предлагаете в начале скопировать СКД запрос > 1000 строк выполнить его через com потом скопировать 2й запрос > 1500 строк
потом покурить типой код и разобраться в этих выборка выборка выборка выборка и отработать в базе источник  я правильно понял ?
12 Роспатнюк Сергей Сер
 
29.03.19
11:32
(10) используйте веб сервис а можно по точнее
13 aleks_default
 
29.03.19
11:42
У тебя проблемы с выполнением отчета в неинтерактивном режиме. Либо какие-то параметры в отчет непередаются, либо там вообще текст запроса косячный (о чем говорит синтаксическая ошибка). И вообще выполняется другой отчет при выполнении первого. Разберись сначала как запустить отчет в неинтерактивном (без открытия формы) режиме в одной базе и чтобы он выполнялся без ошибок, а потом уже будешь пытаться сделать это по Com.
14 Роспатнюк Сергей Сер
 
29.03.19
11:44
(13) спасибо так и поступим
15 Роспатнюк Сергей Сер
 
29.03.19
11:56
(13) а примеров или ссылок на выполнение такой задачи у вас нет случаем ? что то в Яндексе скудно на эту тему
16 aleks_default
 
29.03.19
12:01
Да на инфостарте вариантов полно должно быть. Ты не далеко не первый. Что-то подобное я лет десять назад реализовывал, так что сейчас ничего не осталось. Да и технологии устарели.
17 Роспатнюк Сергей Сер
 
29.03.19
12:04
(16) ясн, еще раз спасибо будем копать ИС
18 Роспатнюк Сергей Сер
 
29.03.19
16:21
(17) В итоге получился гибрид немного копипаста а именно 2 СКД запроса которые немного пришлось подправить и перенести в базу источник, далее подключение чере COM в функцию ВнешнееПодключение с передачей результатов запроса ну и уже в приемнике формируется Табличный Документ преобразовывается в ТЗ и на возврат. Всем кто помогал спс.