Имя: Пароль:
1C
1С v8
Программное создание ведомость в банк для зуп 3.1
0 Простенький вопросик
 
21.11.19
12:09
Нужен код программного создания ведомости в банк с заполнением всех нужных реквизитов. В целом задача перегрузить из одной базы в другую эту ведомость через СОМ. Если у кого есть второй вариант, лучше его. На инфосе есть только по ТЧ, надо полную версию.
1 hhhh
 
21.11.19
12:19
(0) какой смысл в этом? Если вдруг не все реквизиты там, можно же самому добавить недостающие? Главное -  общая мысль, как это делается.
2 dka80
 
21.11.19
12:21
1. универсальная выгрузка данных (которая без правил), но ее надо научить загружать по COM
2. униерсальный обмен через XML. Он умеет через COM и считывать и записывать. Но нужны правила.
3 dka80
 
21.11.19
12:22
+2 универсальный обмен можно запустить программно
4 Простенький вопросик
 
21.11.19
12:22
вот нашел на инфосе. Вроде должно работать

&НаСервере
Функция  СоздатьДокументЗарплатаКВыплатеОрганизаций(СтруктураШапкиДокумента, ТаблицаФизлиц , ИмяОперации)
    
    Док = ОпределитьДокументВыплаты(СтруктураШапкиДокумента, ИмяОперации);
    
    //ОбработкаПрерыванияПользователя();
    
    Если Док = Неопределено Тогда
        НовыйДок = Документы.ВедомостьНаВыплатуЗарплатыВБанк.СоздатьДокумент();
    Иначе
        НовыйДок = Док.ПолучитьОбъект();
        НовыйДок.Записать(РежимЗаписиДокумента.ОтменаПроведения);
    КонецЕсли;
    НовыйДок.Организация = СтруктураШапкиДокумента.Организация;
    //ВедомостьОрганизацияПриИзмененииНаСервере(НовыйДок);
    
    Если СтруктураШапкиДокумента.СпособВыплаты = Справочники.СпособыВыплатыЗарплаты.Зарплата Тогда
        ДниВыплаты = ОпределитьДатуВыплаты("ДатаВыплатыЗарплаты", СтруктураШапкиДокумента.Организация);
        Если ДниВыплаты = Неопределено Тогда
            ДниВыплаты = 10;
        КонецЕсли;
            НовыйДок.Дата = НачалоМесяца(ДобавитьМесяц(СтруктураШапкиДокумента.ПериодРегистрации,1)) + (ДниВыплаты -1) * 60*60*24;        
    Иначе
        ДниВыплаты = ОпределитьДатуВыплаты("ДатаВыплатыАванса", СтруктураШапкиДокумента.Организация);
        Если ДниВыплаты = Неопределено Тогда
            ДниВыплаты = 25;
        КонецЕсли;
        НовыйДок.Дата = НачалоМесяца(СтруктураШапкиДокумента.ПериодРегистрации) + (ДниВыплаты -1) * 60*60*24;
    КонецЕсли;
    
    Если ДеньНедели(НовыйДок.Дата) = 6 Тогда
        НовыйДок.Дата = НовыйДок.Дата - 60*60*24;
    ИначеЕсли ДеньНедели(НовыйДок.Дата) = 7 Тогда
        НовыйДок.Дата = НовыйДок.Дата - 2*60*60*24;
    КонецЕсли;

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

    
    Для каждого Строка из ТаблицаФизлиц Цикл
        НоваяСтрока = Объект.ТаблицаФизлицПоВедомостям.Добавить();
        НоваяСтрока.документ = НовыйДок.ссылка;
        НоваяСтрока.ФизическоеЛицо = Строка.ФизическоеЛицо;    
    КонецЦикла;         
    
    возврат НовыйДок.ссылка;

    
КонецФункции
5 hhhh
 
21.11.19
12:26
(4) где тут COM, непонятно
6 Простенький вопросик
 
21.11.19
12:28
(5)
СОМ допилю. Главное было понять какие реквизиты для создания надо заполнить.
7 d4rkmesa
 
21.11.19
13:25
(4) Это какой-то бред, если честно.
8 Homer
 
21.11.19
13:33
(0) а ты сделай в цикли, или используй "фишки" от 1С
А по существу вопрос, я так и не понял в чем проблема.
9 d4rkmesa
 
21.11.19
13:38
(6) Реквизитов с одной стороны немного. В шапке это: СпособВыплаты, ПериодРегистрации, Организация, ЗарплатныйПроект. Три табличных части относительно обязательных: Состав, Зарплата, ФизическиеЛица, в них примерно нужно заполнить: ИдентификаторСтроки, ФизическоеЛицо, НомерЛицевогоСчета, Сотрудник, Подразделение и КВыплате (собственно сумму). Я бы скинул примерно, но у меня все специфично и через ДанныеФормы.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой