|
ПолноеИмяФайлаПортативногоОбъектаМетаданныхЛкс линукс
|
|
| nickstonali | Дата: Чт, 23.11.2023, 12:06:56 | Сообщение # 1 |
|
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 24
Статус: Оффлайн
| Код Функция ПолноеИмяФайлаПортативногоОбъектаМетаданныхЛкс(ИмяОбъекта, ТипМетаданных = "Обработка") Экспорт
Если Ложь Или СтрокиРавныЛкс(ТипМетаданных, "Обработка") Или СтрокиРавныЛкс(ТипМетаданных, "ВнешняяОбработка") Или СтрокиРавныЛкс(ТипМетаданных, "DataProcessor") Или СтрокиРавныЛкс(ТипМетаданных, "ExternalDataProcessor") Тогда Расширение = "epf"; ИначеЕсли Ложь Или СтрокиРавныЛкс(ТипМетаданных, "Отчет") Или СтрокиРавныЛкс(ТипМетаданных, "ВнешнийОтчет") Или СтрокиРавныЛкс(ТипМетаданных, "Report") Или СтрокиРавныЛкс(ТипМетаданных, "ExternalReport") Тогда Расширение = "erf"; Иначе ВызватьИсключение "Тип метаданных """ + ТипМетаданных + """ не поддерживается"; КонецЕсли; Если ИмяОбъекта = Метаданные().Имя Тогда Результат = мКаталогОбработки + "" + ИмяОбъекта + "." + Расширение; Иначе //начало //Результат = мКаталогОбработки + "Модули\" + ИмяОбъекта + "." + Расширение; Результат = мКаталогОбработки + "Модули" + ПолучитьРазделительПути() + ИмяОбъекта + "." + Расширение; //конец КонецЕсли; Возврат Результат;
КонецФункции
изменен получитьразделительпути
|
| |
| |
| tormozit | Дата: Пт, 24.11.2023, 07:50:45 | Сообщение # 2 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Не указан модуль. Функция ПолучитьРазделительПути не определена в этом модуле.
|
| |
| |
| nickstonali | Дата: Пт, 24.11.2023, 09:18:45 | Сообщение # 3 |
|
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 24
Статус: Оффлайн
| ПолучитьРазделительПути - функция платформы доступна с 8.3.3 модуль ирПортативный
Сообщение отредактировал nickstonali - Пт, 24.11.2023, 09:20:35 |
| |
| |
| tormozit | Дата: Пт, 24.11.2023, 09:27:00 | Сообщение # 4 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Нужна доступность в 8.2.16
|
| |
| |
| nickstonali | Дата: Пт, 24.11.2023, 09:46:56 | Сообщение # 5 |
|
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 24
Статус: Оффлайн
| Тогда нужно принять решение, ситуация такая:
1) открываем ИрПортативный 2) в нем строка ирКэш = ОбщийМодульЛкс("ирКэш", Ложь); 3) в ОбщийМодульЛкс => ПолноеИмяФайла = ПолноеИмяФайлаПортативногоОбъектаМетаданныхЛкс(Имя); 4) и ПолноеИмяФайлаПортативногоОбъектаМетаданныхЛкс => Результат = мКаталогОбработки + "Модули\" + ИмяОбъекта + "." + Расширение;
вот тут слеш по идее надо заменить на ирОбщий.РазделительПутиКФайлуЛкс() но ИрОбщий находиться после ирКэш: ирКэш = ОбщийМодульЛкс("ирКэш", Ложь); ирОбщий = ОбщийМодульЛкс("ирОбщий", Ложь);
Те получается, что ирОбщий нельзя использовать. Если платформенную функцию нельзя использовать, то возможно стоит продублировать функцию из ИрОбщий каково ваше предложение, по данной ситуации?
|
| |
| |
| tormozit | Дата: Пт, 24.11.2023, 23:54:51 | Сообщение # 6 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Я не против продублировать функцию, но в ней используется ирКэш. Ты проверил свое предложение? Может легче не мучаться и использовать вариант "Расширение"?
|
| |
| |
| nickstonali | Дата: Пн, 27.11.2023, 09:27:37 | Сообщение # 7 |
|
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 24
Статус: Оффлайн
| Цитата tormozit (  ) Может легче не мучаться и использовать вариант "Расширение"? не наш метод. Код Функция РазделительПутиКФайлуЛкс() Экспорт СисИнфо = Новый СистемнаяИнформация;
Если Ложь Или СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86 Или СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда Разделитель = "\"; Иначе Разделитель = "/"; КонецЕсли; Возврат Разделитель; КонецФункции
Код Функция ПолноеИмяФайлаПортативногоОбъектаМетаданныхЛкс(ИмяОбъекта, ТипМетаданных = "Обработка") Экспорт
Если Ложь Или СтрокиРавныЛкс(ТипМетаданных, "Обработка") Или СтрокиРавныЛкс(ТипМетаданных, "ВнешняяОбработка") Или СтрокиРавныЛкс(ТипМетаданных, "DataProcessor") Или СтрокиРавныЛкс(ТипМетаданных, "ExternalDataProcessor") Тогда Расширение = "epf"; ИначеЕсли Ложь Или СтрокиРавныЛкс(ТипМетаданных, "Отчет") Или СтрокиРавныЛкс(ТипМетаданных, "ВнешнийОтчет") Или СтрокиРавныЛкс(ТипМетаданных, "Report") Или СтрокиРавныЛкс(ТипМетаданных, "ExternalReport") Тогда Расширение = "erf"; Иначе ВызватьИсключение "Тип метаданных """ + ТипМетаданных + """ не поддерживается"; КонецЕсли; Если ИмяОбъекта = Метаданные().Имя Тогда Результат = мКаталогОбработки + "" + ИмяОбъекта + "." + Расширение; Иначе //начало //Результат = мКаталогОбработки + "Модули\" + ИмяОбъекта + "." + Расширение; Результат = мКаталогОбработки + "Модули" + РазделительПутиКФайлуЛкс() + ИмяОбъекта + "." + Расширение; //конец КонецЕсли; Возврат Результат;
КонецФункции
вот так вот работаетДобавлено (28.11.2023, 17:19) --------------------------------------------- Надо бы добавить. а то смысла нет в предыдущих правках для линукса
|
| |
| |
| tormozit | Дата: Пт, 01.12.2023, 22:37:58 | Сообщение # 8 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Принято
|
| |
| |
| tormozit | Дата: Вс, 03.12.2023, 20:10:29 | Сообщение # 9 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Исправлено в 7.03
|
| |
| |