Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> SFTP сервер          
Mikst Подменю пользователя
сообщение 16.07.12, 14:59
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Добрый день.

На платформе 7.7.025, конфигурация не важна. Нужно написать обработку которая бы выкладывала XML файл на SFTP сервер.

У меня получился такой код:
Процедура Сформировать()
    Если ЗагрузитьВнешнююКомпоненту("DialMail.dll") = 0 Тогда
        Сообщить("Не удалось загрузить внешнюю компоненту DialMail.dll");
        Возврат;
    Конецесли;    
    ИмяФайла = "asda";
    SystComm = СоздатьОбъект("AddIn.SystComm");
      Сообщить(SystComm.Версия);
      FTP = СоздатьОбъект("AddIn.FTP");
      FTP.ИмяЛогФайла = "";
      FTP.ВестиЛогФайл = 0;              
      FTP.ИспользоватьSSL = 0;
      FTPСервер = "Сервер";      
      FTPПользователь = "Логин";
      FTPПароль = "Пароль";
      FTPПорт = "22";
      FTPПассивныйРежим = 0;
      Если FTP.Подключиться(FTPСервер, FTPПорт, FTPПользователь, FTPПароль, FTPПассивныйРежим) = 0 тогда
            Сообщить("соединение c " + FTPСервер + " не установлено...", "!");
      Иначе
            Сообщить("соединение c " + FTPСервер + " прошло успешно!");
            Если FTP.ОтправитьФайл(КаталогИБ()+ "111.xml", ИмяФайла, 0) = 1 Тогда
                        тЧас = 0;
                        тМинута = 0;
                        тСекунда = 0;
                        ТекущееВремя(тЧас, тМинута, тСекунда);
                  Сообщить("Успешно!");
            Иначе
                  Сообщить("Ошибка!");
            КонецЕсли;            
            FTP.Отключиться();
      КонецЕсли;
КонецПроцедуры


Результат обработки :

DialMail component 2.7.2b (с) SWA corp. (2002-2005)
соединение c Сервер не установлено...

Скажите пожалуйста, каким способом можно подключиться к SFTP серверу?

logist Подменю пользователя
сообщение 16.07.12, 15:08
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

      FTP.ИспользоватьSSL = 1;

Не?


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

DartRomanius Подменю пользователя
сообщение 16.07.12, 15:11
Сообщение #3

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Ага, FTP порт 22? 32541510.gif


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

logist Подменю пользователя
сообщение 16.07.12, 15:16
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(DartRomanius @ 16.07.12, 16:11) *
Ага, FTP порт 22?

А что не так? Речь идет об SFTP, т.е. передача файлов с использованием SSH


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

DartRomanius Подменю пользователя
сообщение 16.07.12, 15:17
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Сорри не досмотрел на SFTP.

Второе, DialMail умеет SFTP?


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Mikst Подменю пользователя
сообщение 16.07.12, 15:21
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(DartRomanius @ 16.07.12, 16:17) *
Сорри не досмотрел на SFTP.

Второе, DialMail умеет SFTP?


По идее не умеет, покарайне мере в описании ничего не сказано. Но ничего более подходящего я не смог найти.

logist Подменю пользователя
сообщение 16.07.12, 15:29
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Mikst @ 16.07.12, 16:21) *
По идее не умеет

Ну так зачем мучать котенка?
Попробуйте [необходимо зарегистрироваться для просмотра ссылки] используя вызов командной строки из 1С. (как-то так, я в 77 не шарю, не знаю возможно ли)


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 16.07.12, 15:35
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(logist @ 16.07.12, 16:29) *
Ну так зачем мучать котенка?
Попробуйте [необходимо зарегистрироваться для просмотра ссылки] используя вызов командной строки из 1С. (как-то так, я в 77 не шарю, не знаю возможно ли)


А как эту беду потом связать с 1С 7.7?

logist Подменю пользователя
сообщение 16.07.12, 15:36
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Mikst @ 16.07.12, 16:35) *
А как эту беду потом связать с 1С 7.7?

Средствами 77 сохранить файл на диске, потом командной строкой передать куда надо. Это не аддон к 77, а приложение для виндовс.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 16.07.12, 15:47
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(logist @ 16.07.12, 16:36) *
командной строкой передать куда надо. Это не аддон к 77, а приложение для виндовс.


Так не подходит, нужно что бы файл сам выгружался автоматически в определенное время, без какого либо вмешательства пользователя.

Flexy Подменю пользователя
сообщение 16.07.12, 15:48
Сообщение #11

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Имхо удобнее заюзать софт типа NetDrive или WebDrive. Они мапят удаленные ресурсы, как локальный диск на ПК. Из 1С работа с таким диском через Объект "ФС".

Спасибо сказали: Mikst,

logist Подменю пользователя
сообщение 16.07.12, 15:52
Сообщение #12

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Mikst @ 16.07.12, 16:47) *
Так не подходит, нужно что бы файл сам выгружался автоматически в определенное время, без какого либо вмешательства пользователя.

А где я написал что пользователь должен вмешиваться? Работать с командной строкой надо из 1С.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 07.08.12, 15:43
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Создал я bat файл. При его запуске все успешно отрабатывает с помощью программы WinSCP, нужный файл попадает на sftp сервер. А вот из 1с файл запустить не получается. Точнее он запускается но эффекта никакого нету. Что делать?

при запуске bat файла из 1с пишет: "winscp.exe" не являеться внутренней или внешней командой, исполняемой программой или пакетным файлом

-=VJ=- Подменю пользователя
сообщение 07.08.12, 16:36
Сообщение #14

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(Mikst @ 07.08.12, 16:43) *
Создал я bat файл.


А зачем? КомандаСистемы(<?>) есть

Раз не запускается - проверьте, нормальный ли путь к файлу. Возможно 1С просто не может его обработать.

Сообщение отредактировал -=VJ=- - 07.08.12, 16:41


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 07.08.12, 16:54
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(-=VJ=- @ 07.08.12, 17:36) *
А зачем? КомандаСистемы(<?>) есть

Раз не запускается - проверьте, нормальный ли путь к файлу. Возможно 1С просто не может его обработать.


код пишу такой:
КомандаСистемы(КаталогИБ() + "WinSCP\sftp.bat");


В файле sftp.bat такой код:
winscp.exe /console /script=script.ini



В файле script.ini такой код:
# Вывод лога на экран
option echo on
# Автоматическое подтверждение действия по умолчанию
option confirm off
# Соединяемся с сервером
open sftp://логин:пароль@сервер
# Загружаем файл обмена на сервер
put I:\База\WinSCP\11.xml /11.xml
# Отсоединяемся от сервера
close
# Закрываем WinSCP
exit


Путь находит, сам файл запускается но не отрабатывает. Может как то можно это все вызвать сразу из 1с но я не знаю как.

logist Подменю пользователя
сообщение 07.08.12, 17:46
Сообщение #16

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

КомандаСистемы(КаталогИБ() + "WinSCP\winscp.exe /console /script=script.ini");



bat файл не нужен.

Цитата(Mikst @ 07.08.12, 17:54) *
файл запускается но не отрабатывает

Возможно нет исходного файла, или файл назначения уже есть, у вас же включено автоподтверждение поэтому вы не видите результата работы.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 08.08.12, 9:21
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(logist @ 07.08.12, 18:46) *
КомандаСистемы(КаталогИБ() + "WinSCP\winscp.exe /console /script=script.ini");



bat файл не нужен.


если без bat файла а так как Вы написали, то выдает сообщение: "Системе не удается найти указанный путь".
Хотя все ведь лежит на своих местах.

Цитата(logist @ 07.08.12, 18:46) *
Возможно нет исходного файла, или файл назначения уже есть, у вас же включено автоподтверждение поэтому вы не видите результата работы.

А не счет этого ведь если просто бат файл запускаю, то ведь все отрабатывает

Я нашел в чем причина. Если файлы положить не в "I:\база\WinSCP", а в "І:\база\пользователи\ИмяПользователя", то бат файл отрабатывает и из 1с. Почему так?

logist Подменю пользователя
сообщение 08.08.12, 9:22
Сообщение #18

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Mikst @ 08.08.12, 10:06) *
если без bat файла а так как Вы написали, то выдает сообщение: "Системе не удается найти указанный путь".
Хотя все ведь лежит на своих местах.

Вместо "КомандаСистемы" используйте "ЗапуститьПриложение"


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 08.08.12, 9:28
Сообщение #19

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Я нашел в чем причина. Если файлы положить не в "I:\база\WinSCP", а в "І:\база\пользователи\ИмяПользователя", то бат файл отрабатывает и из 1с. Почему так?

Vofka Подменю пользователя
сообщение 08.08.12, 9:29
Сообщение #20

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата(Mikst @ 08.08.12, 10:28) *
Почему так?

Наверное в правах доступа дело.

Спасибо сказали: Mikst,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.05.24, 13:05
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!