gifts2017

Выгрузка в текстовый файл результата запроса из конфигурации Бухгалтерия предприятия, редакция 3.0 (1С 8.2, 8.3)

Опубликовал Денис Логинов (denlog) в раздел Администрирование - Сервисные утилиты

Адаптация внешних обработок с версии БП 2.0 к версии БП 3.0 (ЗначениеВФайл() и ЗначениеИзФайла() для объектов "ТаблицаЗначений").

Бухгалтерия предприятия, редакция 3.0 (3.0.31.13)

Первая обработка "Для БП 3.0 Выгрузка из БП30 СравнитьСуммыТРН В Файл.epf" выгружает в текстовый файл номенклатуру по требованиям-накладным из 1С Бухгалтерия 3.0.

С помощью данной обработки можно, изменив запрос под свои нужды, выгрузить любые данные из любой конфигурации, работающей в режиме "Управляемое приложение".

Вторая обработка "Для УТ 10.3 сравнить суммы ТРН в УТ и БП.epf" загружает полученный с помощью первой обработки текстовый файл в таблицу значений ТЗ_БП, выводит данные требований-накладных в таблицу значений ТЗ_УТ в 1С Управление Торговлей 10.3 и сравнивает суммы. Строки с разницей окрашены в розовый цвет.

Обработка для БП работает на тонком клиенте в клиент-серверном режиме.
Проверено на LINUX Xubuntu13.04 в чистом виде без wine-эмулятора (продукты Билла Гейтса - само собой).

Основная проблема заключалась в сохранении файла на тонком клиенте в режиме клиент-сервер.
На файловой конфигурации и в толстом клиенте проще.

Основные элементы кода обработки для БП 3.0 с помощью которого можно самостоятельно реализовать подобную внешнюю обработку не прибегая к скачиванию за смартмани.


&НаКлиенте
Процедура КнопкаВыгрузитьИСохранитьНажатие(Команда)
    ДвоичнДанные = ИспользоватьВременныйФайл();
    ИмяФайла = ПолучитьИмяФала();
    ДвоичнДанные.Записать(ИмяФайла);
КонецПроцедуры

&НаСервере
Функция ИспользоватьВременныйФайл()
    ДанныеЗапроса = ПолучитьРезультатЗапроса(НачалоПериода,КонецПериода);
    ИмяВремФайл = ПолучитьИмяВременногоФайла();
    ВремФайл = Новый Файл(ИмяВремФайл);
    ЗначениеВФайл(ИмяВремФайл,ДанныеЗапроса);
    Если ВремФайл.Существует() Тогда
        ДвоичнДанные = Новый ДвоичныеДанные(ИмяВремФайл);
        Хранилище = Новый ХранилищеЗначения(ДвоичнДанные);
    КонецЕсли;
    Попытка
        УдалитьФайлы(КаталогВременныхФайлов(), ИмяВремФайл);
    Исключение
    КонецПопытки;
    Возврат Хранилище.Получить();
КонецФункции

&НаКлиенте
Функция ПолучитьИмяФала()
    НачальноеИмяФайла = Новый Файл("D:\ТабБП.tab");
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
        ДиалогОткрытияФайла.Каталог = НачальноеИмяФайла.Путь;
        ДиалогОткрытияФайла.ПолноеИмяФайла = "ТабУТ_"+Формат(ТекущаяДата(), "ДФ=yyyy_MM_dd__чч_мм_сс");
            Текст = "ru = ""Текст""; en = ""Text""";
            Фильтр = НСтр(Текст)+"(*.tab)|*.tab";
            ДиалогОткрытияФайла.Фильтр = Фильтр;
            ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
            ДиалогОткрытияФайла.Заголовок = "Укажите имя файла";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        Возврат ДиалогОткрытияФайла.ВыбранныеФайлы[0];
    Иначе
        Возврат НачальноеИмяФайла;
    КонецЕсли;
КонецФункции



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

Наименование Файл Версия Размер Кол. Скачив.
Для БП 3.0 Выгрузка из БП30 СравнитьСуммыТРН В Файл
.epf 9,44Kb
15.04.14
15
.epf 1.0 9,44Kb 15 Скачать
Для УТ 10.3 сравнить суммы ТРН в УТ и БП
.epf 8,68Kb
15.04.14
4
.epf 1.0 8,68Kb 4 Скачать
Подключение внешней обработки 1С БП 3.0
.pdf 1 009,61Kb
15.04.14
3
.pdf 0 1 009,61Kb 3 Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа