СРОЧНО! Не работает Загрузка проводок из Камин: расчёт заработной платы 3.0 - Каминсофт

СРОЧНО! Не работает Загрузка проводок из Камин: расчёт заработной платы 3.0

22 янв 2018 10:58 #1
от Валерий
Добрый день,

Имеется сервер 1С x86_64 на Ubuntu Linux, версия 8.3.10.2699
Рабочие станции на Xubuntu Linux

При сохранении настроек полная тишина и не происходит загрузка выгрузки из Камин.
Мы открыли исходник в конфигураторе и обнаружили проверки в функции сохранения на предмет ВебКлиента и локальной машины.
Если ЗначениеЗаполнено(Объект.ФайлНастроек) И ВебКлиент Тогда // Работа в сервисе.
		
		СохраняемыеЗначения = Новый Структура("НастройкиСохранены", Ложь);
		СохраняемыеЗначения.НастройкиСохранены = СохранитьНастройкиОбработки();
				
		Если Не (СохраняемыеЗначения.Свойство("НастройкиСохранены") И СохраняемыеЗначения.НастройкиСохранены) Тогда
			ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось сохранить настройки.");
		КонецЕсли;
				
	КонецЕсли;
	
	Если АдресН <> Неопределено И Не ВебКлиент Тогда // Работа локально.
		ИмяФайлаН = СокрЛП(Объект.ФайлНастроек)+"\НастройкаПроводокКамин"+КФ+".txt";
		ТДок = Новый ТекстовыйДокумент;
		ТДок.УстановитьТекст(АдресН);
		ТДок.Записать(ИмяФайлаН);
	КонецЕсли;
Процедура СохранитьНастройки(пАдрес)
	
	Если Не [b]ВебКлиент[/b] Тогда // Работа локально.
		ВО = Справочники.ВариантыОтчетов.НайтиПоНаименованию("ЗагрузкаИзКЗ30");
		Если Не ЗначениеЗаполнено(ВО) Тогда
			ВО = Справочники.ВариантыОтчетов.СоздатьЭлемент();
			ВО.Наименование = "ЗагрузкаИзКЗ30";
			ВО.Отчет = "ВНЕШНИЙОТЧЕТ.ЗагрузкаИзКЗ30";
			ВО.ТипОтчета = Перечисления.ТипыОтчетов.Внешний;
			ВО.КлючВарианта = "НастройкиЗагрузки";
			ВО.Записать();
		КонецЕсли;
		ХранилищаНастроек.ХранилищеВариантовОтчетов.Сохранить("ВНЕШНИЙОТЧЕТ.ЗагрузкаИзКЗ30", "НастройкиЗагрузки", Объект.ФайлНастроек);	
	КонецЕсли;

ВОПРОС:
Если мы вместо ВебКлиент сделаем НаСервере оно заработает? Или как нам быстро заставить работать обработку?
Тема закрыта.

22 янв 2018 17:47 #2
от Валерий
1. Более подробное изучение кода загрузчика показало, что ВебКлиент - это объявляемый флаг
Если ЗначениеЗаполнено(ОбъектСсылка) И (ОбщегоНазначенияПовтИсп.РазделениеВключено() Или ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ЭтоВебКлиент")) Тогда // Работа в модели сервиса.
		ВебКлиент = Истина;
	КонецЕсли
Мы попробовали принудительно выставить значение в истину и проверили. Теперь файл загружается на сервер во временный каталог /tmp/ и он идентичен исходному, но дальше программа ругается на формат файла. Пробовали поменять кодировку с устаревшей cp1251 на utf-8, но результат то-же.
2. Загуглено про связку "Linux 1C" и было найдено, что на клиенте должен быть указан реальный путь на сервере, но на сервере /home/storage/samba/public, а на клиенте только через самбу \\mainserver\public. Естественно проверено оба способа - путь на сервере ругнулся на файл не существует (т.к. проверка пути по ошибке идёт на клиенте, а реально обрабатывается на сервере). Указание пути в стиле samba самбы - привело к файл не существует, и скорее всего по причине, что сервер 1С не имеет доступа к ресурсам самба сервера, т.к. доступ парольный.
3. В коде загрузчика обнаружены слэши
ИмяФайлаН = СокрЛП(Объект.ФайлНастроек)+"\НастройкаПроводокКамин"+КФ+".txt";
. Тут не понятно, толи 1С сама умеет преобразовывать пути к операционной системе, толи должна быть некая функция типа getOSPathFormat() которая преобразует путь в соответствии операционной системе. Да простят нас разработчики, мы писали на разных язках, а с этим бэйсиком первый день.
4. Пробовали под виндой, зацепили клиент к серверу 1С - не пашет. Есть мнение, что дело во вновь внедрённой проверки. kuharbogdan.com/stati-po-1s/snimaem-zash...h-deystviy-v-1s-8-3/

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

22 янв 2018 18:02 #3
от Андрей Ланьшин
0. Куда данные загружаете, в какую систему (Бухгалтерия предприятия, какая версия, какой релиз, локально или на 1CFresh)
1. Какую обработку по загрузке используете?
2. Настройки сделали в обработке загрузки, сохранили а они не восстанавливаются? Что значит при загрузке пусто? А в файле выгрузки данные есть (может и не выгрузилось ничего)?

Опишите все что делали по шагам и со скриншотами, не надо в код лезть раньше времени, тем более что этот "бейсик" в первый раз видите.
ПС: Ознакомьтесь с правилами форума, чтобы не возникало завышенных ожиданий www.kaminsoft.ru/pravila-foruma.html

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.
Спасибо сказали: Ролен
23 янв 2018 05:24 #4
от Валерий
Добрый день,

-1. Имеется сервер 1С x86_64, версия 8.3.10.2699, работает на Ubuntu Linux c postgresql-pro-9.6. Рабочие станции на Xubuntu Linux 14.04 и 16.04, но есть и на Windows
0. Загружаем проводки в Бухгалтерия предприятия редакция 3.0 (3.0.54.20)
1. ЗагрузкаПроводокКаминвБП3_0.epf из КАМИН:Расчет заработной платы. Версия 3.0 (3.0.93.2)
2. По шагам:
  • Запускаем 1C клиент под Xubuntu Linux, который цепляется к серверу 1С, получает лицензии и отлично работает
  • Открываем ЗагрузкаПроводокКаминвБП3_0.epf и настраиваем все поля как и раньше (скрины во вложении), жмём сохранить - тишина и файл настроек не создаётся по указанному пути
  • Жмём Загрузить проводки - выдаёт пустую таблицу, но не ругается на отсутствующий файл, как в случае попытки скормить ему сетевой путь к самба серверу

---
Дальше открываю исходник и принудительно указываю клиент-серверный вариант, чтобы методом исключения найти проблему, отстранив от дел клиентскую часть
Если ЗначениеЗаполнено(ОбъектСсылка) И (ОбщегоНазначенияПовтИсп.РазделениеВключено() Или ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ЭтоВебКлиент")) Тогда // Работа в модели сервиса.
  ВебКлиент = Истина;
Иначе
  ВебКлиент = Истина;
КонецЕсли

При загрузке выдаёт некорректный формат файла /tmp/калябаля (см. скрины), если открыть этот файл на просмотр, то видим нашу выгрузку в устаревшем cp1251, хотя сервер и клиенты 1С запилены по инструкции в UTF-8. Пробуем его перевести в UTF-8 мауспэдом и снова скармливаем загрузчику - та же самая ошибка, но временный файл отображается в просмотре нормально, поскольку уже в стандартном UTF-8..

---
Пробовали скормить под старым серваком на винде, запилили туда клиента и подключили к нашему серверу 1С - выдаёт проблемы доступа к каталогу, хотя в файловом режиме раньше работало.. НО!!! Вместе с переездом на клиент-серверный вариант была обновлена сама платформа и есть мнение, что проблемы могут быть из-за нововведений - с выходом платформы 8.3.9.2033 появился новый механизм «Защита от опасных действий».

Спасибо
Тема закрыта.

23 янв 2018 09:09 #5
от Андрей Ланьшин
1. Как я понимаю, в файле, который вы выгрузили из Зарплаты на тех же ресурсах (или база Зарплаты, которая выгружает данные находится на другой инфраструктуре) - там данные есть и он сохраняется корректно, так?
2. Защита от опасных действий обычно не позволяет открыть внешнюю обработку.
3. Могу предположить, что проблема с кодировкой ОС (или при сохранении файла или при чтении).

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

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

Принять