Skip to content

Commit 8dcfc60

Browse files
committed
Fix #13. Исправлено формирование манифеста package.edf
Для корректного разворачивания дистрибутива из шаблона в путь к конфигурации необходимо так же включать и каталог поставщика.
1 parent 998ae01 commit 8dcfc60

21 files changed

+1190
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
2+
&НаКлиенте
3+
Процедура СгенерироватьМанифест(Команда)
4+
5+
СформироватьФайлМанифеста();
6+
7+
КонецПроцедуры
8+
9+
&НаКлиенте
10+
Функция ИмяМанифеста()
11+
12+
Возврат "package.edf";
13+
14+
КонецФункции // ИмяМанифеста()
15+
16+
17+
&НаКлиенте
18+
Процедура СформироватьФайлМанифеста()
19+
20+
АдресФайлаНаСервере = СформироватьМанифестНаСервере();
21+
Если АдресФайлаНаСервере <> Неопределено Тогда
22+
23+
Интерактивно = ПустаяСтрока(Объект.ВыходнойФайл);
24+
25+
Если Интерактивно Тогда
26+
ИмяФайла = ИмяМанифеста();
27+
Иначе
28+
ИмяФайла = Объект.ВыходнойФайл;
29+
КонецЕсли;
30+
31+
Если ПолучитьФайл(АдресФайлаНаСервере, ИмяФайла, Интерактивно) Тогда
32+
ПоказатьОповещениеПользователя("Информация",,"Файл манифеста сохранен");
33+
КонецЕсли;
34+
35+
КонецЕсли;
36+
37+
КонецПроцедуры
38+
39+
&НаСервере
40+
Функция СформироватьМанифестНаСервере()
41+
42+
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
43+
44+
Если Не ОбработкаОбъект.ПроверитьЗаполнение() Тогда
45+
Возврат Неопределено;
46+
КонецЕсли;
47+
48+
ИмяФайла = ПолучитьИмяВременногоФайла();
49+
ОбработкаОбъект.СформироватьМанифест(ИмяФайла);
50+
51+
ДанныеФайла = Новый ДвоичныеДанные(ИмяФайла);
52+
53+
Возврат ПоместитьВоВременноеХранилище(ДанныеФайла);
54+
55+
КонецФункции
56+
57+
58+
&НаКлиенте
59+
Функция ДиалогВыбораВыходногоФайла()
60+
61+
Расширение = "edf";
62+
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
63+
Диалог.Расширение = Расширение;
64+
Диалог.Фильтр = СтрЗаменить("Манифест сборки релиза (*.%)|*.%", "%", Расширение);
65+
Если ПустаяСтрока(Объект.ВыходнойФайл) Тогда
66+
Диалог.ПолноеИмяФайла = ИмяМанифеста();
67+
Иначе
68+
Диалог.ПолноеИмяФайла = Объект.ВыходнойФайл;
69+
КонецЕсли;
70+
71+
Возврат Диалог;
72+
73+
КонецФункции
74+
75+
&НаКлиенте
76+
Процедура ВыходнойФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
77+
СтандартнаяОбработка = Ложь;
78+
Диалог = ДиалогВыбораВыходногоФайла();
79+
Если Диалог.Выбрать() Тогда
80+
Объект.ВыходнойФайл = Диалог.ПолноеИмяФайла;
81+
КонецЕсли;
82+
КонецПроцедуры
83+
84+
&НаСервере
85+
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
86+
Объект.КаталогШаблоновПоставщика = "mycompany";
87+
КонецПроцедуры
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
Процедура СформироватьМанифест(Знач ИмяФайла) Экспорт
3+
4+
Если СоздаватьCFU Тогда
5+
//TODO: сделать макет для CFU
6+
ВызватьИсключение "Не реализовано";
7+
Иначе
8+
Документ = ПолучитьМакет("МакетМанифеста");
9+
КонецЕсли;
10+
11+
ЗаполнитьДокумент(Документ);
12+
СохранитьДокумент(Документ, ИмяФайла);
13+
14+
КонецПроцедуры
15+
16+
Процедура ЗаполнитьДокумент(Знач ТекстовыйДокумент)
17+
18+
НужныеСвойства = Новый Структура;
19+
НужныеСвойства.Вставить("Поставщик", Метаданные.Поставщик);
20+
НужныеСвойства.Вставить("ИмяСистемы", Метаданные.Имя);
21+
НужныеСвойства.Вставить("КраткоеИмяСистемы");
22+
НужныеСвойства.Вставить("КаталогШаблоновПоставщика");
23+
24+
ЗаполнитьЗначенияСвойств(НужныеСвойства, ЭтотОбъект);
25+
ТекстДокумента = ТекстовыйДокумент.ПолучитьТекст();
26+
Для Каждого Замена Из НужныеСвойства Цикл
27+
ЗначениеЗамены = СтрЗаменить(Замена.Значение, """", """""");
28+
ТекстДокумента = СтрЗаменить(ТекстДокумента, "["+Замена.Ключ+"]", ЗначениеЗамены);
29+
КонецЦикла;
30+
31+
ТекстовыйДокумент.УстановитьТекст(ТекстДокумента);
32+
33+
КонецПроцедуры
34+
35+
Процедура СохранитьДокумент(Знач Документ, Знач ИмяФайла)
36+
37+
Документ.Записать(ИмяФайла);
38+
39+
КонецПроцедуры
40+
41+
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
42+
43+
Если ПустаяСтрока(Метаданные.Поставщик) Тогда
44+
Сообщить("В метаданных конфигурации не заполнено поле ""Поставщик"". Создание дистрибутива будет невозможно.");
45+
Отказ = Истина;
46+
КонецЕсли;
47+
48+
КонецПроцедуры
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Form\ФормаУправляемая\Форма.bsl-->e05a5cb6-2ae2-4458-8e1d-4859dcb7105f.0 (616, 703)
2+
Макеты\МакетМанифеста.txt-->8f33190d-ec6b-4a5a-a3e7-63b9547fb058.0
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
8f33190d-ec6b-4a5a-a3e7-63b9547fb058-->und\8f33190d-ec6b-4a5a-a3e7-63b9547fb058
2+
8f33190d-ec6b-4a5a-a3e7-63b9547fb058.0-->und\8f33190d-ec6b-4a5a-a3e7-63b9547fb058.0
3+
a82fc659-6a10-407f-a571-b60e1075b6ba-->und\a82fc659-6a10-407f-a571-b60e1075b6ba
4+
copyinfo-->und\copyinfo
5+
d72ae256-3206-4675-8389-8d001a1166c8.0\info-->und\d72ae256-3206-4675-8389-8d001a1166c8.0\info
6+
d72ae256-3206-4675-8389-8d001a1166c8.0\text-->ObjectModule.bsl
7+
d72ae256-3206-4675-8389-8d001a1166c8.1-->und\d72ae256-3206-4675-8389-8d001a1166c8.1
8+
e05a5cb6-2ae2-4458-8e1d-4859dcb7105f-->und\e05a5cb6-2ae2-4458-8e1d-4859dcb7105f
9+
e05a5cb6-2ae2-4458-8e1d-4859dcb7105f.0-->und\e05a5cb6-2ae2-4458-8e1d-4859dcb7105f.0
10+
root-->und\root
11+
version-->und\version
12+
versions-->und\versions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{1,
2+
{2,4,
3+
{1,
4+
{0,0,8f33190d-ec6b-4a5a-a3e7-63b9547fb058},"МакетМанифеста",
5+
{1,"ru","Макет манифеста"},"",0,1,8eb4fad1-1fa6-403e-970f-2c12dbb43e23,3}
6+
},0}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{1,
2+
{
3+
{1,2,
4+
{"en","[Поставщик]"},
5+
{"ru","[Поставщик]"}
6+
},
7+
{1,2,
8+
{"en","[ИмяСистемы]"},
9+
{"ru","[ИмяСистемы]"}
10+
},
11+
{#base64:}
12+
},
13+
{1,
14+
{1,0,"[ИмяСистемы]","[Поставщик]","%ВерсияМетаданных%","[КаталогШаблоновПоставщика]\[КраткоеИмяСистемы]\%НомерСборки%",
15+
{
16+
{"/",
17+
{1,
18+
{a81674e9-32f0-4ea6-aeae-799e6ab4a48b,"1Cv8.cf - Файл конфигурации",1,00000000-0000-0000-0000-000000000000,"[КаталогШаблоновПоставщика]\[КраткоеИмяСистемы]","",124fa494-1559-4495-b896-3f2415d3474c,"1Cv8.cf",1,0,0,1}
19+
},
20+
{0},
21+
{0}
22+
}
23+
}
24+
}
25+
},
26+
{1,124fa494-1559-4495-b896-3f2415d3474c,"CheckoutDir",0,"V8BuildRoot"},
27+
{1,"Полный",0,
28+
{0},00000000-0000-0000-0000-000000000000,"",00000000-0000-0000-0000-000000000000,""},
29+
{0}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
{1,
2+
{a82fc659-6a10-407f-a571-b60e1075b6ba},1,
3+
{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,
4+
{1,
5+
{4,e2c2351d-cabb-485b-b54a-91be8b4c0ecc,cc4b331a-54cc-4ebd-abfb-885688cbc1cf,
6+
{0,
7+
{1,
8+
{0,0,d72ae256-3206-4675-8389-8d001a1166c8},"ПомощникСозданияМанифестаПоставки",
9+
{1,"ru","Помощник создания манифеста поставки"},"",0,0}
10+
},e05a5cb6-2ae2-4458-8e1d-4859dcb7105f,"",00000000-0000-0000-0000-000000000000},4,
11+
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
12+
{3daea016-69b7-4ed4-9453-127911372fe6,1,8f33190d-ec6b-4a5a-a3e7-63b9547fb058},
13+
{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,e05a5cb6-2ae2-4458-8e1d-4859dcb7105f},
14+
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,4,
15+
{
16+
{0,
17+
{27,
18+
{2,
19+
{1,
20+
{0,0,a8b66c32-1060-457c-b31e-a9d5cff8bc2d},"КраткоеИмяСистемы",
21+
{1,"ru","Краткое имя системы"},"",0,0},
22+
{"Pattern",
23+
{"S",10,1}
24+
}
25+
},0,
26+
{0},
27+
{0},0,"",0,
28+
{"U"},
29+
{"U"},0,00000000-0000-0000-0000-000000000000,2,1,
30+
{5004,0},
31+
{3,0,0},
32+
{0,0},0,
33+
{0},
34+
{"S",""},0,0,0}
35+
},0},
36+
{
37+
{0,
38+
{27,
39+
{2,
40+
{1,
41+
{0,0,ffa2588a-554c-40c7-9c55-851e61b61ad5},"КаталогШаблоновПоставщика",
42+
{1,"ru","Каталог шаблонов поставщика"},"",0,0},
43+
{"Pattern",
44+
{"S",20,1}
45+
}
46+
},0,
47+
{0},
48+
{0},0,"",0,
49+
{"U"},
50+
{"U"},0,00000000-0000-0000-0000-000000000000,2,1,
51+
{5004,0},
52+
{3,0,0},
53+
{0,0},0,
54+
{0},
55+
{"S",""},0,0,0}
56+
},0},
57+
{
58+
{0,
59+
{27,
60+
{2,
61+
{1,
62+
{0,0,4d4de19f-206c-49b6-93be-77e566dc0ca3},"СоздаватьCFU",
63+
{1,"ru","Создавать CFU"},"",0,0},
64+
{"Pattern",
65+
{"B"}
66+
}
67+
},0,
68+
{0},
69+
{0},0,"",0,
70+
{"U"},
71+
{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
72+
{5004,0},
73+
{3,0,0},
74+
{0,0},0,
75+
{0},
76+
{"S",""},0,0,0}
77+
},0},
78+
{
79+
{0,
80+
{27,
81+
{2,
82+
{1,
83+
{0,0,f6c48204-f2f1-43a9-a9a6-2f524f711ce5},"ВыходнойФайл",
84+
{1,"ru","Выходной файл"},"",0,0},
85+
{"Pattern",
86+
{"S"}
87+
}
88+
},0,
89+
{0},
90+
{0},0,"",0,
91+
{"U"},
92+
{"U"},0,00000000-0000-0000-0000-000000000000,2,0,
93+
{5004,0},
94+
{3,0,0},
95+
{0,0},0,
96+
{0},
97+
{"S",""},0,0,0}
98+
},0}
99+
}
100+
}
101+
}
102+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{4,
2+
{6,
3+
{4d4de19f-206c-49b6-93be-77e566dc0ca3,4d4de19f-206c-49b6-93be-77e566dc0ca3,1,
4+
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"СоздаватьCFU"}
5+
},
6+
{a8b66c32-1060-457c-b31e-a9d5cff8bc2d,a8b66c32-1060-457c-b31e-a9d5cff8bc2d,1,
7+
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"КраткоеИмяСистемы"}
8+
},
9+
{d72ae256-3206-4675-8389-8d001a1166c8,d72ae256-3206-4675-8389-8d001a1166c8,1,
10+
{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"ПомощникСозданияМанифестаПоставки"}
11+
},
12+
{e05a5cb6-2ae2-4458-8e1d-4859dcb7105f,e05a5cb6-2ae2-4458-8e1d-4859dcb7105f,1,
13+
{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"ФормаУправляемая"}
14+
},
15+
{f6c48204-f2f1-43a9-a9a6-2f524f711ce5,f6c48204-f2f1-43a9-a9a6-2f524f711ce5,1,
16+
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"ВыходнойФайл"}
17+
},
18+
{ffa2588a-554c-40c7-9c55-851e61b61ad5,ffa2588a-554c-40c7-9c55-851e61b61ad5,1,
19+
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,"КаталогШаблоновПоставщика"}
20+
}
21+
},
22+
{1,
23+
{e2c2351d-cabb-485b-b54a-91be8b4c0ecc,d72ae256-3206-4675-8389-8d001a1166c8,0}
24+
},
25+
{4,
26+
{
27+
{0,4d4de19f-206c-49b6-93be-77e566dc0ca3},e2c2351d-cabb-485b-b54a-91be8b4c0ecc,
28+
{-1}
29+
},
30+
{
31+
{0,a8b66c32-1060-457c-b31e-a9d5cff8bc2d},e2c2351d-cabb-485b-b54a-91be8b4c0ecc,
32+
{-1}
33+
},
34+
{
35+
{0,f6c48204-f2f1-43a9-a9a6-2f524f711ce5},e2c2351d-cabb-485b-b54a-91be8b4c0ecc,
36+
{-1}
37+
},
38+
{
39+
{0,ffa2588a-554c-40c7-9c55-851e61b61ad5},e2c2351d-cabb-485b-b54a-91be8b4c0ecc,
40+
{-1}
41+
}
42+
},
43+
{0,0},
44+
{0}
45+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{3,1,0,"",0}

src/tools/ПомощникСозданияМанифестаПоставки/und/d72ae256-3206-4675-8389-8d001a1166c8.1

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{5,1,"ru",
2+
{#base64:77u/PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBU
3+
cmFuc2l0aW9uYWwvL0VOIj48aHRtbD48aGVhZD48bWV0YSBjb250ZW50PSJ0ZXh0
4+
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+
5+
PC9tZXRhPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
6+
ZWY9InY4aGVscDovL3NlcnZpY2VfYm9vay9zZXJ2aWNlX3N0eWxlIj48L2xpbms+
7+
PG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNU0hUTUwgMTEuMDAuMTA1
8+
NzAuMTAwMSI+PC9tZXRhPjwvaGVhZD48Ym9keT4NCjxzdHlsZT5CT0RZIHsNCglG
9+
T05ULVNJWkU6IDEwcHQNCn0NCjwvc3R5bGU+PGgxPtCf0L7QvNC+0YnQvdC40Log
10+
0YHQvtC30LTQsNC90LjRjyDQvNCw0L3QuNGE0LXRgdGC0LAg0YHQsdC+0YDQutC4
11+
INC00LjRgdGC0YDQuNCx0YPRgtC40LLQsDwvaDE+DQo8cD7QlNCw0L3QvdCw0Y8g
12+
0L7QsdGA0LDQsdC+0YLQutCwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQsNCy0YLQvtC8
13+
0LDRgtC40YfQtdGB0LrQuCDRgdCz0LXQvdC10YDQuNGA0L7QstCw0YLRjCDRhNCw
14+
0LnQuyDQvNCw0L3QuNGE0LXRgdGC0LAg0LTQu9GPINGB0LHQvtGA0LrQuCDQtNC4
15+
0YHRgtGA0LjQsdGD0YLQuNCy0LAuPC9wPg0KPHA+0JTQsNC90L3Ri9C5INGE0LDQ
16+
udC7INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQsiDQv9GA0L7RhtC10LTRg9GA
17+
0LUg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QuSDRgdCx0L7RgNC60Lgg0L3Q
18+
sCDQsdC40LvQtC3RgdC10YDQstC10YDQtS48L3A+DQo8aDI+0JjRgdC/0L7Qu9GM
19+
0LfQvtCy0LDQvdC40LU8L2gyPg0KPHA+0J7QsdGA0LDQsdC+0YLQutGDINC90YPQ
20+
ttC90L4g0LfQsNC/0YPRgdGC0LjRgtGMINCyINGD0L/RgNCw0LLQu9GP0LXQvNC+
21+
0Lwg0YDQtdC20LjQvNC1INCyINGC0L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQvtC9
22+
0L3QvtC5INGB0LjRgdGC0LXQvNC1LCDQtNC70Y8g0LrQvtGC0L7RgNC+0Lkg0L3R
23+
g9C20L3QviDRgdC+0LHQuNGA0LDRgtGMINC00LjRgdGC0YDQuNCx0YPRgtC40LIu
24+
INCR0LDQt9CwINC00LDQvdC90YvRhSDQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC
25+
0YHRjywg0LTQvtGB0YLQsNGC0L7Rh9C90L4g0YfQuNGB0YLQvtC5INCx0LDQt9GL
26+
LjwvcD4NCjxwPtCSINC+0LHRgNCw0LHQvtGC0LrQtSDQvdGD0LbQvdC+INGD0LrQ
27+
sNC30LDRgtGMINC60YDQsNGC0LrQvtC1INC40LzRjyDRgdC40YHRgtC10LzRiy4g
28+
0JrQsNC6INC/0YDQsNCy0LjQu9C+LCDRjdGC0L4g0LrQvtGA0L7RgtC60L7QtSDQ
29+
u9Cw0YLQuNC90YHQutC+0LUg0LjQvNC10L3QvtCy0LDQvdC40LUsINC90LDQv9GA
30+
0LjQvNC10YAsIGlzaG9wLCBtcGwg0Lgg0YIu0L8uPC9wPg0KPHA+wqA8L3A+PC9i
31+
b2R5PjwvaHRtbD4=},0}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{1,
2+
{1,
3+
{0,
4+
{12,
5+
{1,
6+
{0,0,e05a5cb6-2ae2-4458-8e1d-4859dcb7105f},"ФормаУправляемая",
7+
{1,"ru","Форма управляемая"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
8+
{2,
9+
{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
10+
{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
11+
}
12+
},
13+
{0}
14+
}
15+
},0}

0 commit comments

Comments
 (0)