![]() |
![]() |
![]() |
|
Проблема с созданием COMОбъект под линухом.... | ☑ | ||
---|---|---|---|---|
0
mikecool
19.10.10
✎
10:09
|
Причем - оч непонятная
Сервер 1с под линухом Работало регламентное задание. Начало выдавать ошибку: Ошибка при вызове конструктора (COMОбъект) При этом - в модуле ни одного ком-объекта не создается Выполняется выборка, формирование дбф-файла(XBase), упаковка(ЗаписьZipФайла), отправка(FTPСоединение) Что из этого может вызывать сабж? Какие то требования к зипу выдвигаются? или эска пользуется встроенным? |
|||
1
mikecool
19.10.10
✎
10:10
|
то, что ком объектов под линухом не бывает - я в курсе
|
|||
2
Mnemonic1C
19.10.10
✎
10:10
|
Гы, а разме под линухом работает COM соединение? Просветите...
|
|||
3
Mnemonic1C
19.10.10
✎
10:11
|
*разве
|
|||
4
mikecool
19.10.10
✎
10:13
|
(2) а я где то про ком-соединение написал?
все производимые модулем действия я перечислил и сижу тихо фигею от результата |
|||
5
Defender aka LINN
19.10.10
✎
10:13
|
(0) Они прямо в одной строке создаются, да?
|
|||
6
Mnemonic1C
19.10.10
✎
10:13
|
А, тьфу, у меня ещё раннее утро:) Знач он все таки где то создается
|
|||
7
xReason
19.10.10
✎
10:14
|
Так о том и речь, что человек использует штатные средства 1с, а не какие-то свои ком-объекты
|
|||
8
mikecool
19.10.10
✎
10:14
|
(7) совершенно в дырочку ) как говаривал мой препод
|
|||
9
detec
19.10.10
✎
10:19
|
Похоже топикстартер обнаружил недокументированные ограничения 1С.
ИМХО, эксплуатация серьёзных, допиливаемых конфигураций под Линуксом обречена. Взять ту же программную работу с xls и отсутствие библиотек работы с OpenOffice-файлами на Линуксе. |
|||
10
mikecool
19.10.10
✎
10:34
|
Ошибка при вызове конструктора (COMОбъект)
по причине: COM-объекты поддерживается только в операционных системах Windows логично, вот только откуда? модуль вкратце: Функция ПолучитьПараметры() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Параметры = Запрос.Выполнить().Выгрузить(); СтруктураПараметров = Новый Структура; Для Каждого Параметр Из Параметры Цикл СтруктураПараметров.Вставить(Параметр.Параметр, Параметр.Значение); КонецЦикла; _ТекущаяДата = ТекущаяДата(); СтруктураПараметров.Вставить("Дата", _ТекущаяДата); Возврат СтруктураПараметров; КонецФункции Процедура ПрайсЛист() Экспорт СтруктураПараметров = ПолучитьПараметры(); Если Не (ЗначениеЗаполнено(СтруктураПараметров.АдресФТП) И ЗначениеЗаполнено(СтруктураПараметров.Контрагент) И ЗначениеЗаполнено(СтруктураПараметров.ПрайсЛист) И ЗначениеЗаполнено(СтруктураПараметров.БазовыйТипЦен) И ЗначениеЗаполнено(СтруктураПараметров.ОсновнойПоставщик)) Тогда ЗаписатьОшибку("Не установлен один из обязательных реквизитов Адрес ФТП, Контрагент для обмена, тип выгружаемых в прайс-лист цен, базовый тип цены, основной поставщик."); Возврат КонецЕсли; Запрос = Новый Запрос; // выборка данных ТаблицаПолей = Новый ТаблицаЗначений; ТаблицаПолей.Колонки.Добавить("Имя"); ТаблицаПолей.Колонки.Добавить("Тип"); ТаблицаПолей.Колонки.Добавить("Длина"); ТаблицаПолей.Колонки.Добавить("Точность"); Строка = ТаблицаПолей.Добавить(); //код товара Строка.Имя = "ID_MED"; Строка.Тип = "N"; Строка.Длина = 11; Строка.Точность = 0; Строка = ТаблицаПолей.Добавить(); //наименование товара Строка.Имя = "MED_NAME"; Строка.Тип = "C"; Строка.Длина = 255; Строка.Точность = 0; Строка = ТаблицаПолей.Добавить(); //наименование поставщика Строка.Имя = "MANUF"; Строка.Тип = "C"; Строка.Длина = 255; Строка.Точность = 0; Строка = ТаблицаПолей.Добавить(); //предлагаемое количество Строка.Имя = "QUANT"; Строка.Тип = "N"; Строка.Длина = 11; Строка.Точность = 2; Строка = ТаблицаПолей.Добавить(); //цена товара за упаковку Строка.Имя = "COST"; Строка.Тип = "N"; Строка.Длина = 11; Строка.Точность = 2; Строка = ТаблицаПолей.Добавить(); //срок годности Строка.Имя = "WORK_LIFE"; Строка.Тип = "D"; Строка.Длина = 0; Строка.Точность = 0; Строка = ТаблицаПолей.Добавить(); //количество в упаковке Строка.Имя = "PACKING"; Строка.Тип = "N"; Строка.Длина = 15; Строка.Точность = 2; Строка = ТаблицаПолей.Добавить(); //цена производителя без ндс Строка.Имя = "COST_MNF"; Строка.Тип = "N"; Строка.Длина = 11; Строка.Точность = 2; Строка = ТаблицаПолей.Добавить(); //ставка НДС производителя Строка.Имя = "NDS_MNF"; Строка.Тип = "N"; Строка.Длина = 5; Строка.Точность = 2; Строка = ТаблицаПолей.Добавить(); //Цена госреестра для ЖНВЛС Строка.Имя = "COST_REEST"; Строка.Тип = "N"; Строка.Длина = 11; Строка.Точность = 2; Строка = ТаблицаПолей.Добавить(); //Код товара(в данном случае - штрихкод) Строка.Имя = "ID_SUP"; Строка.Тип = "N"; Строка.Длина = 13; Строка.Точность = 0; КаталогВыгрузки = КаталогВременныхФайлов(); Таблица = Новый XBase; ПоляТаблицы = Таблица.поля; Для Каждого СтрокаПолей Из ТаблицаПолей Цикл ПоляТаблицы.Добавить(СтрокаПолей.Имя, СтрокаПолей.Тип, СтрокаПолей.Длина, СтрокаПолей.Точность); КонецЦикла; Таблица.Кодировка = КодировкаXBase.OEM; ИмяФайла = "prr" + Формат(СтруктураПараметров.Дата, "ДФ=ddMM"); Таблица.СоздатьФайл(КаталогВыгрузки + ИмяФайла + ".dbf"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Таблица.Добавить(); ЗаполнитьЗначенияСвойств(Таблица, Выборка); Таблица.Записать(); КонецЦикла; Таблица.ЗакрытьФайл(); ЗаписатьИнформацию("Сформирован файл прайс-листа"); //упакуем и отправим выгрузку Попытка ЗИП = Новый ЗаписьZipФайла(КаталогВыгрузки + ИмяФайла + ".zip"); ЗИП.Добавить(КаталогВыгрузки + ИмяФайла + ".dbf"); ЗИП.Записать(); ЗаписатьИнформацию("Файл прайс-листа упакован в архив"); Исключение ЗаписатьОшибку("Не удалось упаковать файл прайс-листа в архив, " + ОписаниеОшибки()); КонецПопытки; Попытка ФТП = ПолучитьФТПСоединение(СтруктураПараметров); ФТП.Записать(КаталогВыгрузки + ИмяФайла + ".zip", ФТП.ТекущийКаталог() + "/" + ИмяФайла + ".zip"); ЗаписатьИнформацию("Файл прайс-листа размещен на фтп-сервере"); Исключение ЗаписатьОшибку("Не удалось поместить файл прайс-листа на ФТП-сервер, " + ОписаниеОшибки()); КонецПопытки; КонецПроцедуры Функция ПолучитьФТПСоединение(СтруктураПараметров) Возврат Новый FTPСоединение(СтруктураПараметров.АдресФТП, ,СтруктураПараметров.ЛогинФТП, ?(ЗначениеЗаполнено(СтруктураПараметров.ПарольФТП), СокрЛП(СтруктураПараметров.ПарольФТП),""), , Истина); КонецФункции |
|||
11
mikecool
19.10.10
✎
10:36
|
судя по записи в журнале "Сформирован файл прайс-листа" и последующей ошибке - проблема с зипом
Как на встроенный зип повлиять можно? |
|||
12
Ненавижу 1С
гуру
19.10.10
✎
10:40
|
что меняли на серваке?
|
|||
13
mikecool
19.10.10
✎
10:42
|
(12) ничего, он уже месяца три как не тронутый стоит...
|
|||
14
H A D G E H O G s
19.10.10
✎
10:42
|
(11) Да ну нафиг.
|
|||
15
H A D G E H O G s
19.10.10
✎
10:43
|
Ничего тут такого серьезного, того, чего бы сама 1С не запрограммировала - нет
|
|||
16
H A D G E H O G s
19.10.10
✎
10:43
|
Ищите глубже
|
|||
17
mikecool
19.10.10
✎
10:44
|
(14) кого нафик?
с какого перепугу записьзип под линухом пытается ком-объект поднять на всякий платформа 8.2.11.229 |
|||
18
mikecool
19.10.10
✎
10:44
|
нужен ли вообще установленный зип системе?
|
|||
19
mikecool
19.10.10
✎
10:45
|
+18 в системе?*
|
|||
20
H A D G E H O G s
19.10.10
✎
10:45
|
(18) Думаю, нет
|
|||
21
Defender aka LINN
19.10.10
✎
11:10
|
Учу искать ошибку по номеру строки. Дорого.
|
|||
22
mikecool
19.10.10
✎
11:18
|
(21) натолкнул,
вот только прикол в том, что ошибка указывает на строку с Таблица.Записать(); при этом - файл дбф создан, сообщение это подтверждает и наличие в папке тоже темпы на сервере? |
|||
23
mikecool
19.10.10
✎
12:53
|
почистили темпы, ребутнули - не помогло
не могу найти - где сервер 1с под линухом держит копию конфиги хелп ми |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |