Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Банковская выписка из 7-ки в 8-ку  (Прочитано 4261 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aidjek
Гость
« : 24-09-2009 12:38 » 

Доброе время суток, люди, которые явно больше понимают меня в программирования и особенно на 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"



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



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



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



Вот, в принципе, и всё - через 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с и Windows, будет вообще Супер !
Исходника пока нет - буду рад, если он общими усилиями появится.
« Последнее редактирование: 25-09-2009 06:29 от Sel » Записан
Kivals
Модератор

us
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 25-09-2009 09:34 » 

Ход мыслей абсолютно верен, тебе важно понимание событий 1С:
и в 7, и в 8 есть процедура глобального модуля (7) или модуля приложения (8) ПриНачалеРаботыСистемы()
В этой процедуре нужно проверить пользователя и запустить обработку (тут уже методы разные по 7 и 8).
Я обычно это решаю таким способом, как поиском файла с определенным именем в каталоге пользователя (7); в 8 еще подобную задачу не решал универсально - для твоих целей достаточно проверить имя пользователя.
Дальше: в обработке есть предобпределенная процедура ПриОткрытии() (в 8 ее нужно привязать к событию формы)
В описанных тобой обработках ВыгрузкаВыписок.ert и ЗагрузкабанковскихВыписок.epf нужно реализовать эти события с подстановкой определенных параметров (пути и даты)
Ну и закрыть 1С после этого вызова.

Попробуй пока сам покопаться - сейчас нету времени писать код
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines