Банковская выписка из 7-ки в 8-ку

Тема в разделе "1C и всё что с ней связано", создана пользователем Aidjek, 24 сен 2009.

  1. Aidjek

    Aidjek Гость

    Доброе время суток люди, которые явно больше понимают меня в программирования и особенно на 1с.

    Есть такая вот ситуация: стоят 2 сервака с 1с: 7.7-нелицензионный и 8.1-лицензионный. На 7-ке работают в основном бухи, на 8-ке все остальные: люди которые продают товары, магазины - относящиеся к некой фирме N. Каждый день происходят 2 вещи:

    1) в 11 часов ночи - происходит перезакачка всего что было продано за день из 8-ки в 7-ку: всё это происходит автоматом, настроено ребятами из 1с, стоит в списках запланированных задач Windows и работает эта штука как часы, правда иногда бывают сбои - но меня это не касается.

    2) в 11 часов следующего дня - требуется сделать банковскую выписку из 7-ки в 8-ку за весь прошлый день - и тут уже вступает в ход грубая ручная сила, т.е. делать это надо ручками, причём каждый день. Действия сами по себе несложные - подробнее опишу ниже в скринах и комментариях.

    Делать требуется поэтапно: заходим удалённо на 1с-7-ку под ником root с соответствующим паролем и запускаем файл "ВыгрузкаВыписок.ert"

    [​IMG]

    Проставляем в появивщемся окне дату (вчерашнего дня) в обоих позициях, указываем папку куда всё это нужно сохранять (по умолчанию я сделал расшаренную папку на серваке с 1с-7-кой) и нажимаем "Сформировать" или Ctrl+Enter

    [​IMG]

    Теперь заходим удалённо на 1с-8-ки также с правами админ и естественно с незамысловатым паролем, заходим в меню Файл и выбираем файлик "ЗагрузкабанковскихВыписок.epf"

    [​IMG]

    В появившемся окне указываем папку и файл, который нам сделал 1с-7ка и также жмём "Сформировать" или Ctrl+Enter

    [​IMG]

    вот в принципе и всё - через 2-3 минуты главбух радостно сообщает что выписка прошла.

    И всё было бы хорошо - но встала задача - а почему бы и это не автоматизировать, как в 1 случае, но ребятам из 1с ничё про это не говорили - решили сделать всё своими силами.

    Вот теперь можно сформулировать задачу: сделать чтобы эта выписка делалась самостоятельно в 11 часов каждого дня, причём за прошлый день, и запускалось всё это сначало на 7-ке, потом проверялось если файл был создан и после этого запускалось на 8-ке. Процедура занимает не больше 1 минуты(по максимуму, если не делались выписки за 3-4 дня). Расшаренная папка и оба файла могут находится где-угодно по желанию(никаких ограничений).


    К сожалению, я программированием занимался в университете и то только в Паскале и в Делфи, но алгоритм сих действий могу предложить - точнее не алгоритм, а просто моё представление о том, как это можно сделать.

    Алгоритм: моё понимание этой проги такое: состоит из 2-х частей:
    1-часть:

    1. запускаем 1с-7ку - под юзером root с паролем *************
    2. запускаем файл: "ВыгрузкаВыписок.ert" (проверял - запуск файл с помощью C:/program files/1cv77/bin/1cv77.exe - не даёт результата, кроме как входа и авторизации в 1с)
    3. выбираем дату (!!!вчерашнюю!!!) в обоих колонках и указываем путь сохранения файла: какой нам захочется!
    4. Сформировать или Ctrl+Enter.

    через 1-2 минуты запускается 2-ая часть:

    1. проверка наличия файла в папке, в которую мы его сохранили и проверка даты последнего изменения (по идее можно даже сделать так, чтобы каждый день создавалась новая папка такого формата bank_чч.мм.гггг или текущая дата)
    2. запуск 1с-8ки под юзером admin с паролем *************
    3. Запускаем файл: "ЗагрузкабанковскихВыписок.epf" (проверял - запуск файл с помощью C:/program files/1cv8/bin/1cv8.exe - не даёт результата, кроме как входа и авторизации в 1с)
    4. Выбираем файл для загрузки.
    5. Сформировать или Ctrl+Enter.

    Как бы вот и всё - просто и без шика, в чём писать эти проги как мне кажется большой разницы не представляет - и свинью можно научить летать, правда тока вниз и ненадолго.

    Буду рад любым предложениям по выбору языка программирования и метода написания, а если можно будет обойтись стандартными средствами 1с и Винды будет вообще Супер !
    Исходника пока нету - буду рад если он общими усилиями появится.
     
  2. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    ну как бы ничего сложного, если уметь это делать)
    1.создается батник в котором прописывается запуск 1Ски от определенного пользователя.
    2. в 1С в глобальной процедуре ПриЗапускеСистемы() (врде так она называется, но точно надо посмотреть) прописывается вызов формы внешней обработки и передаются параметры.
    3. во внешней обработке пишеться проверка - к примеру если вызванно от такого-то пользоватьеля делать вызов процедуры, которая висит на кнопке Сформировать
    4. в батничке также прописать проверку - на запущенность 1С7. если она завершилась - запускать 1С8
    5. для 1С8 повторить процедуру похожую на пункт 2 и 3
    вроде все.

    P.S. но я не стал бы автоматизировать данный процесс. весь процес занимает совсем мало усилий юзера и я не вижу смысла из-за этого менять глобальный модуль программ, а также внешнюю обработку, чтобы не брать на себя лишнюю отвественность
     
  3. Aidjek

    Aidjek Гость



    хох как все легко и просто попробуем-с этот вариант - но как мне кажется простой батник по сравнению с языком программирования очень сильно уступает - особенно если нужно описывать процедуры или я не прав ?*

    Насчёт ответственность - процедура сама по себе действительно лёгкая и проводить её может даже сам глав бух - но для этого требуется дать ему админский пасс от сервака - там я думаю ответственность намного выше поднимется - а вообще то об этой услуге сам главбух и попросила!
     
  4. perfomance

    perfomance Гость

    1.Быть может именно в Вашей ситуации я бы псмотрел в сторону вот такой штуки - http://www.gentee.com/perfect-automation/ru/automate-windows.html
    http://www.gentee.com/perfect-automation/r...te-windows.html
    2.Рассуждая:"По сути если 1С 7,7 делает сброс банковских выписок автоматически, то здесь осталось только заставить делать 1С8.х загрузку этого самого dbf. При том в определенное время. В 1С77 я бы стал смотреть в сторону предопределенной процедуры ОбработкаОжидания(Имя процедуры,Время) - как будут звучать аналоги в 1С8.х не знаю - с языком 8-ки не знаком. И по сути дальше разбираться уже с кодом. В модуле обработчика загрузчика надо попробовать указать путь прямо "В лоб" (т.е. именно тот каталог, куда ложится файл). Ну и впр-пе Все. А вот как раз наверное на кнопке "Сформировать/Загрузить" и висит вся эта процедура. И эту самую процедуру можно вставить как параметр в предопределенную процедуру(аналог в 7.7- как в 8-ке к сож. не знаю) ОбработкаОжидания(ИмяПроцедурыЗагрузки,Время) где Время - указывается в секундах. Но опять же надо смотреть все ньюансы самого модуля ЗАГРУЗЧИКА.
    3. А можно попробовать эту операцию скинуть на главбуха :) (Сказать ей , че, я мол прогрммист Одноэсник Вам барышня?!!!) и всетаки попробовать разрулить права на эту обработку загрузки. Если к примеру обычным юзерам не разрешено пользоваться внешними обработчиками, то можно поробовать этот обработчик "прикрепить" к самой конфигурации (т.е. пристроить как объект ""Метаданные"" именно в 8-ке) и уже поробовать разрешить в самом конфигураторе обычному юзеру использовать этот обработчик. Я думаю что это реально!!! Но все же просим "просвещения" от спецов по 8-ке

    Помните!!! Наличие Буха - это тоже стандартное средство :) Внешняя компонента так сказать :)
     
  5. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    можно так - из семерки после выгрузки запустить восьмерку как com объект и вызвать процедуру загрузки. наоборот вроде тоже можно- но могу ошибаться.
     
  6. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    я вообще-то об этом и говорил. батник нужен исключительно для вызова программы под определенным юзером и проверкой ее состояния - запущена или уже завершилась
    все остальное дописывается в самих 1Сках и внешних обработках
     
  7. Aidjek

    Aidjek Гость

    как мне кажется для меня это 1 из самых наилучших вариантов - единственное что - это как заставить этот умный модуль выбирать правильную дату !! - но думаю походу изучения этой проги - чё нить да придумается !

    вот именно тут - я точно запутаюсь - потому что не знаком в программировании ни с 7-кой ни с 8-кой

    Да вот я уже пытался и не тока на главбуха - но честно говоря всем по барабану - и мне уже самому хочется чё-нить этакой


    7-ка и 8-ка на 2-х разных серваках - думаю много писанины будет)



    тока что прочитал про com объекты - а ведь может получится! :)
     

Поделиться этой страницей