СРОЧНО! Не работает Загрузка проводок из Камин: расчёт заработной платы 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. Могу предположить, что проблема с кодировкой ОС (или при сохранении файла или при чтении).

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

Опрос
Всего 3 простых вопроса

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

Принять