Доработка документа "Требование-накладная" для выгрузки табличной части в Excel

24.12.19

Интеграция - Загрузка и выгрузка в Excel

Данное дополнение было написано для выгрузки из бухгалтерии табличной части "Требование-накладная" в Excel, для последующей загрузки в УТ 10.3.

Скачать файлы

Наименование Файл Версия Размер
Доработка документа "Требование накладная" для выгрузки табличной части в Excel
.txt 11,14Kb
2
.txt 11,14Kb 2 Скачать
//В конфигураторе в форму документа добавляем "кнопку" а в табличную часть добавляем реквизит "Цена".
//Стандартную процедура "МатериалыНоменклатураПриИзменении" приводим вот к такому типу

&НаКлиенте

Процедура МатериалыНоменклатураПриИзменении(Элемент,Цена)

    ТекущиеДанные = Элементы.Материалы.ТекущиеДанные;
    
    // Подготовим данные для передачи на сервер
    КонтейнерОбъект = Новый Структура;
    
    КонтейнерСтрока = Новый Структура("Номенклатура, ОтражениеВУСН");
    ЗаполнитьЗначенияСвойств(КонтейнерСтрока, ТекущиеДанные);
    

    ПараметрыЗаполненияСчетовУчета = НачатьЗаполнениеСчетовУчета(
        "Материалы.Номенклатура",
        Объект,
        ТекущиеДанные,
        КонтейнерОбъект,
        КонтейнерСтрока);
    Ном = ТекущиеДанные.Номенклатура;    
    // Заполним
    Изменения = МатериалПриИзмененииНаСервере(КонтейнерСтрока, КонтейнерОбъект, ПараметрыЗаполненияСчетовУчета.КЗаполнению);
    ЗаполнитьЗначенияСвойств(ТекущиеДанные, Изменения);
    СтрокаТЧ = ТекущиеДанные;
     СтрокаТЧНаименование =  СтрокаТЧ.Номенклатура;
    СписокЗЧНаименованиеПриИзмененииНаСервере(СтрокаТЧНаименование,Цена);
    ТекущиеДанные.Цена = Цена;
КонецПроцедуры

//Дальше пишем свое:

&НаКлиенте
Процедура ВыгрузитьТЧ(Команда)
ТекущиеДанные = Элементы.Материалы.ТекущиеДанные;
Цена = ТекущиеДанные.Цена;

Эксель(Цена);
КонецПроцедуры

&НаСервере
Процедура Эксель(Цена)
 // Заполняем ТаблицуЗначений    
ТЗ = Новый ТаблицаЗначений;  
ТЗ.Колонки.Добавить("Склад",Новый ОписаниеТипов("Строка"));
ТЗ.Колонки.Добавить("Поставщик");
ТЗ.Колонки.Добавить("Получатель");
ТЗ.Колонки.Добавить("Код");
ТЗ.Колонки.Добавить("Товар",Новый ОписаниеТипов("Строка"));
ТЗ.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число"));
ТЗ.Колонки.Добавить("Цена",Новый ОписаниеТипов("Число"));
ТЗ.Колонки.Добавить("Сумма");
ТЗ.Колонки.Добавить("НДС");
ТЗ.Колонки.Добавить("Всего");
ТЗ.Колонки.Добавить("Ед");
ТЗ.Колонки.Добавить("СтавкаНДС",Новый ОписаниеТипов("Строка"));

    
    
Для Каждого Строка из Объект.Материалы Цикл
    НоваяСтрока = ТЗ.Добавить();
    НоваяСтрока.Код = Строка.Номенклатура.Код;
    НоваяСтрока.Товар = Строка.Номенклатура;
    НоваяСтрока.Количество = Строка.Количество;
    НоваяСтрока.Цена = Цена;
    НоваяСтрока.Сумма = Цена*Строка.Количество;
    Номенклатура = Строка.Номенклатура;
    НоваяСтрока.Всего = Цена*Строка.Количество;
    НоваяСтрока.Ед = Строка.ЕдиницаИзмерения.Наименование;
    НоваяСтрока.СтавкаНДС = Строка.Номенклатура.УдалитьСтавкаНДС;
КонецЦикла ;
    
    
Попытка
      // Загрузка объекта Microsoft Excel
      Сообщить("Выгрузка данных из 1С в Microsoft Excel...");
      Excel = Новый COMОбъект("Excel.Application");
      Excel.DisplayAlerts = False; // отключаем лишние вопросы Excel, актуально при перезаписи существующего документа
    Исключение
      Сообщить("Ошибка при запуске Microsoft Excel."
        + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
      Возврат;
  КонецПопытки;
    //Создаём новую книгу в Excel
    Excel.WorkBooks.Add();
    Сообщить(Excel.WorkBooks);
    //Задаём ширину колонок
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(1).ColumnWidth = 25;
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(2).ColumnWidth = 25;
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(3).ColumnWidth = 13;
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(4).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(5).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(6).ColumnWidth = 9;
    Excel.WorkBooks(1).WorkSheets("Лист1").Columns(7).ColumnWidth = 9;
    //Выводим текст заголовка документа
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,1).value = "Приходная накладная";    
    //Устанавливаем размер шрифта
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(1,1).font.size = 12;
    //Устанавливаем признак шрифта «жирный»
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(1,1).font.bold = 1;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,1).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,1).font.bold = 1;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,2).value = Объект.Номер;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,2).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,2).font.bold = 1;
    //дата накладной
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,3).value = Объект.Дата;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,3).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(2,3).font.bold = 1;
    //Указываем наименование нашей организации, также могут указываться и другие реквизиты предприятия
    Орг = "АО Солгон";
    КодПоставщика = Объект.Склад.Код ;
    Поставщик = Объект.Склад.Наименование;
    Получатель = Объект.Контрагент.Наименование;                 
    КодПолучателя = Объект.Контрагент.Код;
    // указываем организацию
        Excel.WorkBooks(1).WorkSheets("Лист1").cells(4,2).value = Орг;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(4,2).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(4,2).font.bold = 1;
    //подпись поставщика
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,1).value = "Поставщик";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,1).font.size = 12;
   
    //указываем код поставщика
        Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,2).value = КодПоставщика;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,2).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,2).font.bold = 1;
    //указываем поставщика
        Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,3).value = Поставщик;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,3).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(5,3).font.bold = 1;
    //Подпись получателя
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,1).value = "Получатель";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,1).font.size = 12;
   
    //указываем код получателя
            Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,2).value = КодПолучателя;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,2).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,2).font.bold = 1;
    // указываем получателя                                        
        Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,3).value = Получатель;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,3).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(6,3).font.bold = 1;
    //
//«Шапка» табличной части, заголовки столбцов

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,1).value = "Код";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,1).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,1).font.bold = 1;

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,2).value = "Наименование";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,2).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,2).font.bold = 1;

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,3).value = "Количество";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,3).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,3).font.bold = 1;  
    

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,4).value = "Цена";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,4).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,4).font.bold = 1;

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,5).value = "Сумма";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,5).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,5).font.bold = 1;
    

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,6).value = "НДС";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,6).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,6).font.bold = 1;
    
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,7).value = "Всего";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,7).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,7).font.bold = 1;
    
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,8).value = "Ед изм";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,8).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,8).font.bold = 1;
    
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,9).value = "Ставка НДС (%)";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,9).font.size = 12;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(7,9).font.bold = 1;
    //Выбираем строки ведомости, цикл по всем строкам


 Счетчик = 9;


Для Каждого СтрокаТЗ из ТЗ Цикл
    
    
           
           //Устанавливаем формат ячейки Excel для номера счета как строковый, чтобы отображались все 20 символов       
// ****************************************************************************************
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,1). NumberFormat = "@";
            Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,2). NumberFormat = "@";
           //Устанавливаем код товара
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,1).value = СтрокаТЗ.Код;
           //Устанавливаем наименвоание товара
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,2).value = СтрокаТЗ.Товар;
           //Устанавливаем количество товара
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,3).value = СтрокаТЗ.Количество;
           //Устанавливаем цену товара
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,4).value = СтрокаТЗ.Цена;
           ////Устанавливаем сумму
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,5).value = СтрокаТЗ.Сумма;
           ////Устанавливаем НДС
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,6).value = СтрокаТЗ.НДС;
           ////Устанавливаем Всего
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,7).value = СтрокаТЗ.Всего;
           ////Еденица измерения
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,8).value = СтрокаТЗ.Ед;
           ////СтавкаНДС
           Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик,9).value = СтрокаТЗ.СтавкаНДС;
//*****************************************************************************************
           Счетчик = Счетчик + 1;

    КонецЦикла;


    //Выводим итоговую строку

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик+1,1).NumberFormat = "@";

    Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик+1,1).value ="Итого:";
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик+1,7).font.bold = 1;
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик+1,1).font.bold = 1;
    //Вводим формулу в ячейку, считаем итоговую сумму
    Excel.WorkBooks(1).WorkSheets("Лист1").cells(Счетчик+1,7).FormulaR1C1 ="=SUM(R[-"+Строка(Счетчик-8)+"]C:R[-2]C)";
// Сохраним созданную книгу в файл xls
Если   КодПоставщика = "000000094" Тогда
	Excel.ActiveWorkBook.SaveAs("C:\Users\Public\Накладные\Молзавод\"+Объект.Номер+".xls");
ИначеЕсли	
	КодПоставщика = "000000125" Тогда
	Excel.ActiveWorkBook.SaveAs("C:\Users\Public\Накладные\Пекарн\"+Объект.Номер+".xls");
ИначеЕсли
	КодПоставщика = "000000056" Тогда
	Excel.ActiveWorkBook.SaveAs("C:\Users\Public\Накладные\Колбасный\"+Объект.Номер+".xls");
КонецЕсли;

    // Обязательно закроем соединение с COM объектом для освобождения памяти
    Excel.Quit();

    Сообщить("Файл выгружен успешно");

 
         Excel.Quit();
   КонецПроцедуры


//Обработка изначально писалась для Бухгалтерии 7.7, теперь переделалась под управляемые формы 1С:Предприятие 8. Бухгалтерия сельскохозяйственного предприятия, редакция 3.0 (3.0.73.51)
//В коде в блоке сохранения ("// Сохраним созданную книгу в файл xls") указаны пути для сохранения файла с условием отбора по коду склада. Нужно поменять под свои ( если нужно разделение по папкам).

Обработка изначально писалась для Бухгалтерии 7.7, теперь переделалась под управляемые формы 1С:Предприятие 8. Бухгалтерия сельскохозяйственного предприятия, редакция 3.0 (3.0.73.51).

Выгрузка в Excel

См. также

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210180    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150726    367    375    

501

Маркетплейсный загрузчик для 12-ти маркетплейсов в "БП 3", "УТ 11", "КА 2", ERP, УНФ

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", Казань-Экспресс, "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом" в документы "Отчет комиссионера (агента) о продажах" и другие, может работать в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

1800 руб.

12.08.2021    31894    226    63    

117

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    214930    925    886    

939

Загрузка данных отчета о реализации товаров из Excel файла СберМегаМаркет

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса СберМегаМаркет для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11 и Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

07.06.2022    15080    79    0    

60

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101380    296    173    

312
Оставьте свое сообщение