Имя: Пароль:
1C
1С v8
Загрузка Файлов в 1С.
0 rentxak
 
16.12.13
09:47
Добрый день! Подскажи пожалуйста кто нить грузил различные файлы в 1С(музыка, архивы, документы, кроме картинок) причем строка файла в шестнадцатиричном коде.
1 Wobland
 
16.12.13
09:51
я грузил, но у меня были человеческие пути
2 rentxak
 
16.12.13
09:55
Что понимается под человеческими путями?
3 rentxak
 
16.12.13
09:55
Так то там есть путь к файл по сути можно выдернуть формат файла
4 Мыш
 
16.12.13
09:55
(2) Тротуар, видимо. Шоссе - это уже автомобильный путь.
5 Wobland
 
16.12.13
09:56
(2) Диалог.ПолноеИмяФайла
6 rentxak
 
16.12.13
09:56
[FileName] - путь файла,[FileData] - шестнадцатиричный код
7 rentxak
 
16.12.13
09:57
Суть в том что там записан путь файла на кпк)
8 Wobland
 
16.12.13
09:57
(7) так и должно быть
9 rentxak
 
16.12.13
09:59
[FileName] - Это инфа больше информативного характера
10 rentxak
 
16.12.13
09:59
физичиски по этому пути не смогу обратиться и записать или взять оттуда не могу
11 rentxak
 
16.12.13
09:59
Твою идею уловить никак не могу(
12 Wobland
 
16.12.13
10:00
(10) а поместить файл?
13 rentxak
 
16.12.13
10:01
Он в базе SQL записан и есть информация вида: Имя файла с расширением и шестнадцатиричный код
14 rentxak
 
16.12.13
10:02
(13) и по этой иные нужно загрузить его
15 Wobland
 
16.12.13
10:02
о, уже записан? поздравляю
16 rentxak
 
16.12.13
10:06
Короче объясняю тебе в чем проблема. У меня Программа CDC - Оптимум. Информация из 1С выгружается в ОПТИМУМ (вот она на SQL крутится). Затем торговые представители делают документ Событие (CRM) на своих кпк(планшетах). Допустим инфу прикрепляют в этом документе и отправляют в базу 1С и вот эта инфа в SQL хранится в своем а не в SQL(1с).Надеюсь понятно объяснил
17 rentxak
 
16.12.13
10:08
Так же в этой системе заказы накладные, дистрибьюция и прочие документы создаются и при желание в 1С загружаются.
18 rentxak
 
16.12.13
10:08
Вот задача в загрузке файлов.
19 Wobland
 
16.12.13
10:08
у тебя уже есть двоичные данные. бери их и пиши, в чём проблема?
20 rentxak
 
16.12.13
10:09
Они допустим по диктофону записали разговор и прикрепили к этому документу и в 1С можно будет потом прослушать разговор.
21 rentxak
 
16.12.13
10:10
Да я получаю картинки нормально, а с другими файлами как поступать не знаю... В инете не нашел
22 Wobland
 
16.12.13
10:10
я даже могу рассказать, как я в 1Ске музыку играл
23 rentxak
 
16.12.13
10:11
(21) Вот таким образом получаю инфу: Попытка
        obj = Новый COMОбъект("Msxml2.DOMDocument.4.0");
        helper=obj.createElement("a");
        helper.DataType = "bin.base64";
        helper.nodeTypedValue = safeArray;
    Исключение
        Попытка
            obj = Новый COMОбъект("Msxml2.DOMDocument.3.0");
            helper=obj.createElement("a");
            helper.DataType = "bin.base64";
            helper.nodeTypedValue = safeArray;
        Исключение
            Возврат Неопределено;
        КонецПопытки;
    КонецПопытки;
    Возврат helper.text;
24 rentxak
 
16.12.13
10:12
с картинками так: Новый Картинка(Двоичные)
25 rentxak
 
16.12.13
10:12
Где двоичный код как раз helper.text
26 Wobland
 
16.12.13
10:12
(24) а с ХЗ?
27 rentxak
 
16.12.13
10:14
(26) что за ХЗ)) Хранилище значений? НУ давай так тогда: Файл.Хранилище = Новый ХранилищеЗначения(Новый Картинка(Двоичные));
28 Wobland
 
16.12.13
10:14
(27) ну давай. из разговора с клиентом оно фотку сделает?
29 rentxak
 
16.12.13
10:16
нет отдельно фотка снимается. Я звуковую запись говорил, а не видео. Подскажи где порыться или направление
30 Wobland
 
16.12.13
10:16
новый ХЗ(ДД)
31 rentxak
 
16.12.13
10:16
))
32 AdrianBerk
 
16.12.13
10:20
Что то я  не понял в чем проблема то? У тебя есть двоичные данные файла... Что мешает тебе записать его на диск и  запустить? Или куда ты его в  1с грузишь?
33 Wobland
 
16.12.13
10:22
(32) сначала бы в базу засунуть. а уж потом можно будет задумываться об запустить приложение
34 AdrianBerk
 
16.12.13
10:23
Я сделал хранилище файлов  в  отдельной базе SQL, запросом получаю список файлов, и  вывожу его на форму. Если пользователь кликает на строке с  файлом  то идет запрос к  базе SQL, берутся двоичные данные  и   записываются на диск во временный каталог
35 rentxak
 
16.12.13
10:25
Результат отпишу.
36 AdrianBerk
 
16.12.13
10:25
Функция ФайлВХранилище(ФайлСсылка, ИмяФайла, КодДок,Тип, Коммент) экспорт
    Stream=Новый COMОбъект("ADODB.Stream");
    Stream.Type=1;
    Stream.Open();
    Stream.LoadFromFile(ФайлСсылка);
    Connection=Новый COMОбъект("ADODB.Connection");
    Connection.Open("Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=;Initial Catalog=Files_db;Data Source=SQL");
    RecordSet=Новый COMОбъект("ADODB.Recordset");
    RecordSet.CursorLocation=3;
    RecordSet.LockType=2;
    Запрос="Select * from dbo.Files where Id=0";
    RecordSet.Open(Запрос, Connection);
    RecordSet.AddNew();
    RecordSet.Fields("DATA").Value= Stream.Read();
    RecordSet.Fields("Size").Value= Stream.Size();
       RecordSet.Fields("FName").Value=ИмяФайла;
    RecordSet.Fields("Dwrite").Value=ТекущаяДата();
    RecordSet.Fields("toDOC").Value=КодДок;
    RecordSet.Fields("Type").Value=Тип;
    RecordSet.Fields("Comment").Value=Коммент;
    RecordSet.Update();
       RecordSet.Close();
    Connection.Close();
    Stream.Close();
КонецФункции
37 AdrianBerk
 
16.12.13
10:26
Функция ФайлИзХранилища(ФайлПуть, ID) экспорт
    ДанныеДляВозврата = Неопределено;
    SaveOptionsEnum = Новый Структура("adSaveCreateNotExist, adSaveCreateOverWrite", 1, 2);
    Stream=Новый COMОбъект("ADODB.Stream");
    Stream.Type=1;
    Stream.Open();
    Connection=Новый COMОбъект("ADODB.Connection");
    Connection.Open("Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=;Initial Catalog=Files_db;Data Source=SQL");
    RecordSet=Новый COMОбъект("ADODB.Recordset");
    RecordSet.CursorLocation=3;
    RecordSet.LockType=2;
    Запрос="Select * from dbo.Files where Id=" + Формат(ID,"ЧГ=0");
    RecordSet.Open(Запрос, Connection);
    Если RecordSet.RecordCount <> 0 Тогда    
        RecordSet.MoveFirst();
        Stream.Write(RecordSet.Fields("Data").Value);
        Если Прав(RecordSet.Fields("FName").Value, 4) = ".xml" Тогда
            ДанныеДляВозврата = RecordSet.Fields("Data").Value;
        Иначе
            Stream.SaveToFile(ФайлПуть + "\" + RecordSet.Fields("FName").Value, SaveOptionsEnum.adSaveCreateOverWrite);

            ДанныеДляВозврата = Неопределено;
        КонецЕсли;
    КонецЕсли;
    Stream.Close();
    RecordSet.Close();
    Connection.Close();
    Возврат ДанныеДляВозврата;
    
КонецФункции
38 AdrianBerk
 
16.12.13
10:27
Не идеал конечно но работает и  позволило решить поставленную задачу ))
39 rentxak
 
16.12.13
11:30
А 1С средствами что нельзя файл закачать в 1С я не пойму?
40 rentxak
 
16.12.13
11:32
Функция ВСтрокуBase64(safeArray)
    //obj = Новый COMОбъект("MSXML2.DomDocument.3.0");
    //helper=obj.createElement("a");
    //helper.DataType = "bin.base64";
    //helper.nodeTypedValue = safeArray;
    //Возврат helper.text;
    Попытка
        obj = Новый COMОбъект("Msxml2.DOMDocument.4.0");
        helper=obj.createElement("a");
        helper.DataType = "bin.base64";
        helper.nodeTypedValue = safeArray;
    Исключение
        Попытка
            obj = Новый COMОбъект("Msxml2.DOMDocument.3.0");
            helper=obj.createElement("a");
            helper.DataType = "bin.base64";
            helper.nodeTypedValue = safeArray;
        Исключение
            Возврат Неопределено;
        КонецПопытки;
    КонецПопытки;
    Возврат helper.text;
КонецФункции

Фрагмент кода :
Двоичные=Base64Значение(СписокПараметровФайлов[6].Значение);
Файл = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();                                        Файл.ИмяФайла = ПутьКФайлу;                                        Файл.Наименование = ПутьКФайлу;                                        Файл.ДатаВвода = ДатаДокумента;                                        Файл.Объект = ДокументСобытие.Ссылка;                                        Файл.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;                                        Файл.Хранилище = Новый ХранилищеЗначения(Двоичные);                                        Файл.Записать();

в итоге открываю и файл мой zip не откырвается...
41 rentxak
 
16.12.13
11:33
Двоичные=Base64Значение(СписокПараметровФайлов[6].Значение);
Файл = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
Файл.ИмяФайла = ПутьКФайлу;
Файл.Наименование = ПутьКФайлу;
Файл.ДатаВвода = ДатаДокумента;
Файл.Объект = ДокументСобытие.Ссылка;
Файл.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;
Файл.Хранилище = Новый ХранилищеЗначения(Двоичные);
Файл.Записать();
42 rentxak
 
16.12.13
11:34
И файл весит 1 кб и не открывается)
43 rentxak
 
16.12.13
11:35
Если нет то придется воспользоваться (37)
44 Wobland
 
16.12.13
11:37
(42) двоичные такие что ли?
45 rentxak
 
16.12.13
11:39
(44) файл в реале на кпк весит 25 кб если физически посмотреть
46 rentxak
 
16.12.13
11:39
сама строка данных в скуле такого формата: 0x504B030414000808080099758B43000000000000000000000000110000006F7074696D756D302E6C6F672E68746D6CBC97CB6E5BC911865FE52C2748D4EEAEBE0B1E038A2F1301B6AC0CED190403614093C7F2C150A4401E7A465965936CF30C7983EC329BC933C86F946A5A17927D4877A9C86C046DFA63F7D775AAFE7E7CF9E4F1E5B47E727CF2E2750552E90305074AFEA8FCA18443A38451F1F7D24859FDF0FAF4CDF1ABB7AFCEAA5EDB9FB6CDF8BCEA5F5E8E9A41BF6D26E3EA63158512D10B50475F19657EF7F851E23EFE12DF7AB3CE3F9DD6EFEB693D1ED4B3EAA29E9ED74288629A5FA7BD1E0DABCB756235985C5C8EEAB61E1683C317B749846A016033B77F7ED9B475558FCF9B715D7DACA7B324B799555AA0DA55EEB3E77F7CFB4D27587B79037E3E6CDA37CD457D561D9F1CBF39AC46CD45D31E8F7BF5A0FABA52200B77AABDBB017E73DA3BABF04F356C66FD77A3E2B3EAB04278D1FC922AA8FD90AC4DA6C366DC6FD123117A7FDD476FDFBCFEB1F79793A767D5D1BC9D1CF4AEC683AA19376DD31F357F5D94E82AF3FBA36F4FBA990172E6D3FE783C69ABCBFE745657FDF403B3F403B3BA4D1FC2ECB02ADD70EC802F6D986CC0A95BADA72F8FDE9E3CFDD3F36FCFAAEFF0CCC30A3FCCFA7C32BD2A2479F9A5ADCDC7A3C9E0A7F5AD6DAE427F77E52FE7FDE78B8A3EAB9ED5EFE6E7D5C5645857EB57B2796BF1F63B79D18CEAB76D339AA50A1AD5D5708245936EA6FEA599B5878F2EC6EDA3D970D09F0E1F4D2EDBE6627EF16834EFE3FFF5F859FF4AE0FFC59B8F3EDFFC37755BCD06D3E6B2ADDE4F2717D5B0DFF6DFF5677501541F2A2394566C2337A0FFAB919BDFECB84E96113022C26D5F3DE97F6CCE171FEAD1A06D3E36EDD55935C0F1F2135AA9AEFF75FDEBF56F9FFEFEE96FD7FFBDFE0DFFFFCFF5BF3FFDE3FAD74FFF2C11065644776BFE73611F636BA8D237FC613A19DF3488A2317343D32BB4DEB38364387D241793F9B86802DC80E20AE8ED2C75C5EF8F5F1C635B1C8FEB41DEB836B3FCEAA6FAC3E1B4D74E13F0EBEA0715412817849222D843A5C09D1573CD0AF74373FEA17759D7C3A7773BC41F68A7F3BA18E85680F359FDDDE90932DEF747EB95B305E2D721BDDE4B3224AC40F0FBA827F316295A168C46643821CD6A65DD5A49D36D52E5DA4BB10E56B0A798B946578B92BDAFD84216D8D5CA785C2965FF50959ED09AD5FB3A38785229292585B07A592FE6A35135AD7F9EA6ACA3F0BF01468059F595A9DE5D610C28C88E9FB176B5325F1DF5EE2293970EB7A84A49313304A1FC7C0E3A0C91005A6F1604F782ACA3197201B29B77E5DBF220F373D100B0F95CF6FE5C31120FE683CD0E6608FB0AAB17B6883877F1BD9ACD0798EA67EF71B7576593CC0B75D74BF899FB3330DC021F90B9170490BBCDDCFA504B0126EE6A92269A553B98A40B90DECD245DB0DCEE27E9821B76384917C0C89CA409B2168DE8937401D1BC499A187EF79314B1DACBBC07D1E72892AC79F81CC5E5317674D3F239BA20A89DCFD10556EF628E2E482E33A44ACFA78496B0C1D0812E469822458A32701237A82C2144C2BE5C08D9D1F03A2984C2CB07493B998BAB4DA4574FF1F2EF5E727795A06C2C24FAB56BBC27D6A92FA4E68E5FB10291165737CBA0186ED62E028C29D6084282E2D5584264550EA42DF84D8D8080C803AB25ACD732B7603409B025B1CAFB6A241563C266B90E80B22DC356AB5DBE058A5A637DB60530941D18B725353FB88721D7E73D8C22D7BAFC6444B9D6670F12925CD7B1054BA95BE7E266B76EC92D36319A5DAF03CBAE371D8F489A5D6F79A51BD7024EDA822F9F7209B0CD6E5CF11B20048A6123BC920CC3B85E5B9E6144D87C0BE586AD903A4F38A1FC0C09E0361B360A967280B281D47D9D70907F9DE59BC3F5862918116BDD932618D7C75CB0259D216E11FCD0C1E684779CEEE04490CCDE8B88FCF942521B7CCCD596E71E04842D09F6E16A43C8CF45511B557E2EA2DAA8396DC1E3579DBF0E2C09603A1EB9B76A979A82260D352F94E474045CAF982F3A44C07AE0A7B905D9E1D65100AACCAD3334B760786E211AAEDBAEB84D711B541E18AC2701FC16B72A2EDB758654BC01E77D3E4BCA05E37AC77C4C20C2E74FC572C14184AEC61028806D8DC12D3D26C01852DF0DD8F4F20F93A2B72B6D12F546CB196911FB6E3E555DF90662D6B857E3D8925D49928B60CFC9BA5128CD6C0E88309CE61005E8FC7E9D2201EC66B94BA56B1DCD2DB8FC6014B75A32030322D63207D5ADE998AB8E7206B3D6B937B9558AF448437047D5903616994D370ADB115A2872ADC9B7E0CA836E02C066B90F0DBA88B59CC080EB633E4C886A9DCC9F3114B5BE238C391240EDE10D113187F0D406EE1B02115AB1D446D5A1B63CE72200CA726E20C5B0D839A4296E63742CB7460A29F32458EC16D7ABB59CBC705B9C7317802D3977A9DD1ACA1B22714D5E34C56E713DA8FC6044B7003CB7DAE79F8E2B8EB8091076DF12106B1423DEA6F5FCB2B5CCB2B5B6A325440AC06D6909C6DDBBD52E504218A23D303A6E5AAF793921210C2327A4F56B8597B6E0491B085B42988D2B298C58BDC1E5A543D11B3ABE4AA2DE10F3270C456F84FC03F2943344D8D2741FDE18A2CE3310695B1D6543541B23A772959090BF7B7D71C25D00E2EED522D6719A82C231CBECB988508EA516207FF57A1AC0EC432D584ED52A7CF432AB16111D219B62C6A8BCE5FBE284BB00ECFE5D96B09C276F5A1FF39221AAB532CFD814B5AE23E0FAF2808B00B565943D5CADF39C1086EB0370D53A66AFF51DB7EBCBF36D02D87DA88D92F374C0F58ADD1022E4B75BAE1684827C0BA17C0309B0A56A7D5C4A60DE68457A9B19A123A7E31A6103338221224686608329D0E4821509E0765FBB16EF2D3F57B95A5C6F996D01112E6FFAE56A6D36E6176A69803DB405C4DA7C9250D442CCCF4554AB59CF5E8BF3B8436D794E4880BD54ADF19C379915D1B0AB365ACE307318D0F3801DCA871902FC1ED2AD134A73AAD60970CCAA4584E7340427ACCA73428824C096866074581A6652068A5F8FDD8E33CBBC00993F38497E7DF6B0A2F90D42FB7C0BB17C0308086AF7A58BD8C829DD202C049E5A4418C952EB759EC362794C48802D390CB45B2A5D6B81E6371A4ECEC5F581997311C17A4244A154DE9D62F9EB2C01F69015106B385D01D747E6408BD858786AB5CA071AC8F2B09008711F6EB5CF0F4671AB23B36CA3304CB746E7658B838044D84BDD1A938F6A8A5B13982D1711AC9759146EED089FDD9627B144F0FB70EB3CE7691685873C0611DDAE4F13AADB60BA7A4279144B842D3D017DDCDB55D23BCA40B3123F0AC63322ADEF781E510C278465542FAE771D9905146507CE6C0963663931A01C52DA4578088C4886EBA3CC0B886838AA7CB4520C47D7D11F409308BBEF0F56E10B9231D7D27ACFCB0C09D171BDE56E15C696BC45019160F6E1162B9DE5163C2F3324446064065CAF3B462B40711E4B8428F7E1D600E31991D6777C9044B7C63B965BABF24F0734650756EDA56EADC90F46716BD7AEFC016E9DCCAF97E2D6AD0DE5CF6E1589B0FB7704627D47D0A4B80D901F8CE836B0D202AE0F5D6E4987887B711B633EA4CBB7054202B36E11A139FD163AC729E8F29C90087BE809205447B3A3B8559159B720F0ADCA72AB65474ED0E5B32C11F6E256079E5BBDF6393DC0AD919C9E80EB63474ED09E40B0720F3D0184B39C7C8BEBB93901119E57B741E6D70B3A50086ACBEB4C2DBDCD8CA3D90DD6B2EC0667B87683CFB740B11B431EB2C1942785448042BB866257773E8CCAEDE27A6E0ED342B17218AEEFCA61A67C9E25C296BEA0EFED02512EB01EBEB89EFBF04544302CB93AE6BDE97FBC974D6FDBCA1586FFCA74D3DB4D461C0E3F660418856DD9A9DB1B27B0EC7B5104424093639B88480AFC70E25B14282ED06EBA687197D975D365D14D710314E96F90FF51CF50122D89A23223524E824489C2E71C9E39F39EF79896BAE84A82D3BDE85258CEDA985C78DE6D29BA80606D4497629B6D306216D722ECC12C50D88CDAD5D6B1EB2E48B3B68E53D7259DDABA76FD781D1D4D706D57491308D52CAECBDA6C101433DA5A1498D54E14B8554FC1D6E95B6E6DE95B623D5597522DB700E4563B84D57E3F03046D33CF2C4C9CBA5BE0EA564C0268F7AA00D80D2E48A7B4EBBBD50EA535491BC585E7DDBACD75D5550100CCD847694DDEAE6B2D525F8D344B6B51A35569ED4D2E8CE8B4ADBDCD852D6902BCAC5E751DDAC686C1F3566B4DD8B422EA54D775EB07AC575D77AD73776F5697B52B27335B2E6412D14E07B8B9A1594D9D0CB8B9A55977ADAD0DEB541BE76563D2767C01C26A230436364D67436D2D2D02DBE20E5C7B6921736C576B27B3B1EDB4B15F3678E396530C1066BB0ABBE6869D8CAAFB2F20D03D38041B33D2AEB6CCAC8F67CDDAB296DDCBDCFAEAC2D51D8204D87B292D6B270C9CB6145D40587593A25E5A071B649343506F5B49D822BA64C921D88CD844A7C02E2655814EEE459C67A7E1586417C217E1BD384EA2C88B83111A7AF7617C8B6EE03B74807A519CF7B2C0F7D2A0974CF2302AA29E900FCBEFB39E2CAF6180A0F6A69F1E7F943F31BDF514D331691BB30DCF5BF53ED63A6F40386DAE928BE9A621AB71DE40B0573B6EE9885D6E318771E533B6FA043A98387B3A63B337387D855EA0322C8E260A6F08193920C47523A378CCB3E79D36F37E8670775E57E179B838ACBEAE2A1FF39C409B8E9972EE3257E79419B6AA25AFEB53A63D190FFE661287B8167B9715934992E6F88770A2929C6960CAEB974AF9C0E179CB683322678835FFAD75E0F279561F251A070E049B984D076E73C7751CF5E1083C17DB6C5FF7DAEA91E3A1C88B0944111F85523E0CDB1B26A5FA21C3F34E9B613D43B8F5F9A17EC80C6CEE068FA971C892B06A0677F23E3312A937AC4E399D96225922EA3BAF4E39DD0D3B2FD7036CDB899656220ADB935E795B58CBF279DE569200415ACC20936310E40DDDAA68DBE704ABB9BEBBB62E60ED36AD0BCF73D6AEB61C13B2B38D2B9F3769FDF698A6BA124882B98FDAAE5B5CDDDA9A6EDD9F6AD6D664F58557A7B674AD32650A5C27034AF7D2B794B69960F0BC5BBF909AB5A5AC7EBC5AB5E5F51438D7E95BCA5733183EC43EF293683216B9085056F8BEC8B21BA8F8C32A71707274F57223D2B117499D04617E19466284CECECF2EFB681C46617E160F850FEE849886628E4E25302FDF0C47087E43419879D76311A8121CB24C380D3F4A9B94DF097855E89D30F6A06F74A1AC6AECDF84599EA40FC763E1C5221DA10B1125F7A2E427E300055EEEA16B7193A4D0AE0C13134B1C328C7EF94B311CAFF4BF215C90F84524ADA12A90B206A0F1C482DB25E1AA35E1EC2B3529FDA77286CC6DCC7006D24E8F6F4F2F4D0AE804151A35B0419B4EC4988374D29340D67C22993796BC62AC4FE5CE57FAD44B6F85DAA1008E18CD873227692648C8D6CE9657B5BA460B6952449BBC1A1D206C57136088575EECDD4AFAF19DF0DFA3F0067928161F448AEE459A85498CBC7B2F1C4B29508C420DA339CA20F9108F132F10C17773FC0102C782B90BA6E1F05796E5280DAC328CB9E5658A34851B518F412006B19463588B18875797AFDFCD86C26191272FCAC9E0E5B9882670C27E52C4394451522FC9AD4CDE12F75B2FCB97460CCA6408D853451F0669A5930BC66AA4EF0F2FCE3746B20C528F74ECC57192A38997660279F275CA5899C87368AFAC8F145FC3221BE04FE509F5864809B4EBC073F1317FA2BEB82C2B62100CBF08770D6450F5C921635426B22969599BCCBF134151CBBC61CE53826D6BD1F5DF16DE497C1BC630E807E2BAB8455112C0E88B95F293A0457EA7E1585CE5E13893337A2C479A9825273E8232F47B519CF7B2C0F7D2A0974CA0518AA8372E3CF82CE281F780E1B37AF2563DF9974296210D2739BA4993A8549C6B2F136A508ADD6AA29E7BF7E1AD97C34D3CF4F3F03ECC1F46C81F8720377037A79FA6FF9D7E9EFE67FAE5F1C7C7BF2AC3AB729F0E5F8DD0D1C9E9EB8B13749BE4C93007213885849FA2A23E8C0AEC073EF6E2204DC200CFEB858B10CBD7C2C7E3500ED0017C3E4EE23C4DC66391AAE7622EE772707080E0038244E00D2F53CF17F2DFD4697499F6562A0CD4ABD7430F49813C704D615C9AA9A5F75B9415BAE3837A1C7B2DEB4D3F5469AC3227F3523E9D74121FA7C25B1F52DB50BC097514C6D5E4D33D256E9ACD19C259A5B93AC96E265D880CBCA2328A6EB878FAAA2141CE33AB868CE976AD1A3676F86A71E57584010012BDB021AF44EADF0D12FFF261026FD6476F474A35926867331A9A29CBD3C207B7055512B3A92B973283A02853CB9C619B6C92A46B2902EB13751BA43B2D91B4152D31FAFB934119AC3B4101DAB6EBFAC62B543B0A480EEDE28E4990FDCC774CC674BABE630C3B0EDB2685C9441DD428D5493C1070A992073516C7B4BA3EDBEDC24F60167E9E7E56370B124DBA340B17E536BBCB2591A9D0CEEEB7A459CFE015641CA7B3ABCD612759B4DFAC92BB5A0520553DB34EDADD2900D56EA26A19050E97973482747C02C78EC9BAD03009E2CFAC611093928E35CC82ED8F9A7BF10925DAD2F3092E57B50996850DB69822274198CB6D7684BC1CEEBFCC155A22CEFB2849CF060706FC21733FB01D949C17D1B5480F7EAD1C85F35A947732DD344341114DFAE80F7F542A878549A59E875797AFDF0D7F7F7E0C552EF2E4C5F021F65198A171E2BF17816A6A64D527ACABF1D7F57751A7372934639A873B69719988DB95169734B6EAB5D0DB575E0A7519ED6D9EC8A8E6FA3BECACCC40338D7AD78026DF79F1AD78FD213E0DD348195519D92754A97F427EEEA320870607098C0E0C75A4D398DD6F8B340C42DF1BBF810E5F57C36D48D67996B479BAA9FB5609AAEC66BDE1771C9925D551A0EE3C3E6504E62AE5AD3E4A4B2857826A8C55A052C3EC60AC9620EB79C76A19D3EE7AAC5AB0C43577AFF26660736CD88B82F8632FCBB648E0B6F3BCCA448A2010008E0E8F7F87AE8B3C57BCDC650E5C31874C0E9E0C0F211058E4EFBC7108754BD2D12C6A998008E4F69185F12D1C6A36FB8F30FA0B99E1070F561F9479F7A234DBF36F7FA1D23B90A65B99D811FA6600D76D2841BF44C3F7E1E41B747479AEFABE6E25B93BBF2F9CC04D9246B06E2599987FAD1E9ED6B434108AC666FAAFE93FA79FA67F9FFE44D4E3D5C7C1768BB38DC5367892A89CDF47D20EF4913A8A77E52A24CD34575DC57378A332EECA9E4A9EC1CD94512D6D37D37CAFAA49D7E45B8B58C3B94AA2CB948690FA98072833BAD83625C8B61B411A631148DCA21D8CC512643FEF582C633A9D8E45BB6F1898586A27AF3822674CDB50620E042C9DC9832AF6498697A5EC5A59C4E690F58BB8A388CD69CEAA88ED5B4CE6513B5A8D6634D369BC5DAAF7BD0431C36D7DB9E620FE9C976B16B3F22A1D5EAE2795D8D973CE396E2347EB12B960831763F7DCBB0F6FBD1C7CD013CE1F87700DC0FF4DFF31FD3CFDF2F8E7C73F4DFF37FD029F7F9EFEFBF12FD3CF8F7F533A43868D6A579A8DA7B338845AC278BA4B9338FCA18C8B3156A6F115DA70F0421EBA1C755152C4F9FAA46B0671670574257D2FFAFEECF44CEE83B1F0F39A2FDCC25A4DCA0B827498A7127880DE126E62E2B0FFB35F36BB8D23471C3F679EA20F73F00071BB9BDF24E2045E7FCC7A61CB8A65CF0259188336D99698A148A149DAE32CF692EBDEF665B28F31FB46A92645EA8392D594E84110CC62016B2CF7AFAAABABFE558529E496E951AA59778A5C4AE80277140E478309E7C171ED2118C844CE9581DA02106AFA43BF078C07162D27F30B10631932185CB486980B1039D44246034527449551576AC9A8A20261CF12D40CBB2A565F74AD0F034AF45CA4EC2C6315599ABDF8827F41949A7F46FBBAE279932C5E717FFFAF8812425A2116DFFC2C8F2224F89308338E287CF21311A468CF40F7CFA028EF94B18B59707934408FB097C89CB489053E526592BD1C23CD6D71C1599398C5C875691B02B59442A491763172B4C54C1A700121AA9B471D2F6ABACA44670D91CB0A923208F94E352C0FA3E93165B86E2C3D84A61C44172CEE98AA80D0C9B203446F717E3927B770C15C6A0BE08261B438EFD09DA3E050AD510FCA9A01AF6FD166141CE5972C008B31B06615A093363221A57749E7E565DAF8E25073A7781688A6BEA8C7533611DA70C156774002161F745B459165AD3B3B8413CE9BCE6EE10484B54B7A9A7085667A6A8672991784C5FCD4E7E2D92A3D4D6C3614A74D3C4D28157DB7780242DB253D6DAC9B4DC5715DE5065A1016137C00930E0CC1E349C4619E4669EEFB3C4D1FA029AA2D178034ADAA6C4F8330BB81D604837FEFFCC64351380EB3F378C07D98F5A8A634EB15C0AAC9BFEF0F601FEB0F5010A6EC3E521BF825C1B6E60967E1E762501C71B82A244F18430F4DDB429DD9FB43D06E27B2115FB2980DB9807974C461870A1F1043317F82365DF57BF6C8C2489A51B6E2ACB772923CC551C2021E7C98E20F918B29766D2894A33DC3B0D48A01CC68F485CBE442F0386BDAA060831ACA36ACEA158E6E6FAE3E9609779467C97E91752CCBF87892A5F026B0CC8115D5FC701CADC9BD60693697BEC5085F6C1A5E734AA2F6A2A51F8FAE7B6B2CADB8C1318BE32443132660AC63F23A85AD9467721D493DA47A0D97BC149EB07D82BA2BE2D2E39FB31975FFA68808A118FEA7AE4D10D13D423CB53D0C6CB8B6B3C169199BD41FF1206F78BE4E43601C75AA74BCC8D9693C0C631091137E9F0FD1380938525BC20A5055A46761C46FB3304A65FD471C05092F9DE39FC334F30EC6717690063E13C141328144C9C70751CEE0338F4FD83386CFEACE9B4DE7DF731906114E32F4209271BD0828413502425D5DA4C71EC361B1881EC1C2FB1866CF77C88F42901BA8CD2FBF7DF9FDCB7FBEFCFEC7BFFFF8551D5D65F5D9E0F20E7D777A76757D8A8649960C32908133707766137948E4D80F7CCCE240246180A7D1C27988E5A5F07592839A9EC0C7E324CE4412455CA8BB62CFBB72787888E003023FE07A3782F95CFE4E9DE6CCD37E92F202C13A3840CF498E98809D292EBAC0DCF5AA98426A3CA9DB7197BC5EF59F2ACDB0ABB22D23397BE5243E161C5E449D64AC217D17C641918220B66DDFC824CE5AFFE0A144A60C32E85AD0354FF3B1F2454DD7E8402E0A90F575E5A2B069772D17D09D491591E32884DE2D4B11941FB4B99A3F2EB9F04727897FF33C819B79E8A73BA51849B4B91A0DA9946622F7B344409478D96EA18FDB0E1AA76A8EEBD8AE957F363DC264C00A5F2125E2CC4389383F3924F043FA7E685A28E9E5E37B2E0EFFA66E456F58F928DD15D065F3F1C4433FFFA2140E89B23774C028F13F29B6BE82E7BEA4C69BF5B78A535F40328A2CDC4E8BC1917A1ED95D8B254D9BA71148B84B26202E77AFD74FA455BD3365D6B16336371BD0E4118B87FCEA293E0BC5581D65355085FEF172220B32487090C0F12151465A64AD773FE4220C429F457DC8F065357C01693791BB7A59AB5D53F4FB2C5755381DBB7AE55B33E1B76D9992AA2950B76F9F60C156B1D0AA954AA8A1046DD35681BAAA33B56FAB12E47EE5B66A604248D76DD5808DF7A5D9279928702C406153534B02D58AB0A573D450832A274141D5ACDD93A004D9F6D74C82A94DB7D324703CE2628BBA5D3E1EA59E2187E16E1F6F4A75B45D1FAF02195FF1F12A9B66978F27A13AD669A79527A15079AEAAA62F4BC462C0E947C8301DA82E74F34A69AEFA37E797B730BD141D218C87884D261134F3625F7D442E8699DC06693ADA33A8F14E955F5746CDEF0BFEC0058F7D78509884871C63AC4AABD3A3A65D45019A2C13A15F8E2711CF96C7E117C08D3034DC6C07354CECD0666CFF7E11C270CD8B2C438F3025C9E0C2F00E3324D65ECC831A6C61BA62AD38EF9DDF78280AC761761E0F602B3A4454234A9E4A60E5E9FBFE0092BF3F404198CAF54DEDAE16D688354F380B3FCB0CCA46326A8908C21886A3B42D74B6A4C91DE7760245C82F59CC865CDCA1E3118705217C400CC5FC898B3A9AAC5A3D15ADCC4A60859593E4298E1216F0E0C3147F5857820E9560584A9520CDD403D9AACBE402522D6BDA68516D60C3AD3787D54B621C66218BC27F1535BDC8FCF1E8BAB79A69194DE6318BA5164F98483962D2402A0DA43C93CA917A48C9611BA627F745875BA60C008D2A658A4D4C707049ADAC6C4C2D5D495E1546FD05AAA3406D3DEACF5B705406855E928D8A9A4CD03D185B849F5E5F5F5DAF846B545F16B12A4B977214EDA33CF6593E1CC926EDF3894CB237FF8472C4112C87F83A8FA14FF3D3EA2B0FDDC6F269A547A9EC39884D9D45C7A0B4490C17398F1F929F458EFDC0C72C0E441206B86AF7AB7F8DF310AF0FC32F1E9A39D4CBA3A89F8471C645EDD49B3F31F0638A840688AB93372378F50003EF2111E30B06571D55DFED2DFD9134E151CBA4EF36E146F05DC4956896BD91C67C6856E95B6A12B21A423732DE7E3FF5E91248A04D2B39AE6E2E7292147F5F9C1218EA75C2327F549DAF7E5F1E741BE72E12F94638821F7BD3CFA5AF3AD978DF310BE3950EEA9633BDE9ECB5A19D47DCCFF025CF464980C3F831F9C47BA0848F7CAFFC81CAAF940EEE4DFF559833C9D41A4C08753E167915B3485EF21FCFC324E3E720BF6FCB734771702486E93193758E451EEFCDFEA4643A9632B38CC332C0D2A68F14B0E831FC84D3E734E3635C5EB598F1CA734B773F96036980EE9F952A657D0D82DBE324C657E56FAA47C2957AEE2D7F513EBA3D7DF48DDC0167C21F49F968A2577C57D0357713BC120E395635B92BBF2DC8C646B7D74B5293BFE26FCA17759A15711EA799284E153D1DFB9051D5A9AB0ABCFC4765AC89B15951DAC81D95F906B33CA214B63EC1DF28B66C5DD737B4EC35471D6CD0C676D1DDF622F9BAD5D5F62269C66B6C2F126CDA1D6F2F262C9B7AA3F1EFBCBD389EA963D7353BDB5E1CE92921E6F6DB4B49A8A7C66EB617D7233A3634F375B797D28AF982954EB697D28C65BFE6F652D830C98A4D63FBEDA5646AE455B69712AEDB5B6D2FCDDA009CE651131B765574D7499E6DB376542493AE236DB36ACCA8C61A6ACBF562066C28F8FFFC7AB178F56F2BC5B795E2DB4AF16DA550128B1971E9F7D304FDFF9AF06B9177EC96133ED53C423C6262DD7D9509BFE61BA431E5B69FF06734DAED843F07DEBC88B4845AB078399D4EF835D8A4762713FE1CD0DD6EC29F1134BBB309BF86DA86F67A13FECC8A65BDE2843F67C679AD09BFB6E1685A5713FE1CD3EA7CC2AFE12E75B69AF0D703EBA550590A0D5835A0D160CD6A4855275238E337E4600B29AC6936E9560A6760AD3B292CA03AC1C46C08F76E525881754ABA91C2FFF25E2EBB911B57187E95CA265E4D0D8B2C5E012190D41A5B8946A3A8A5010CA33160936589986EB2C38B663A8681C440B2C922C12C0D64914D964136C128099C6768BD514EB149AAC526A522BB446FA6E1B1BF73782E7FFDE71EA8F594C28AA01279525842A96D3EA314965174953EA714DE877944717794C22A0635A54961C5D4897C29ACE0C6E3DADD79640CA5D49BB393FDCBD3C3AF8ECE27E82D7CB38F40C9D855142F0549A6D2F0DD0F52CB6032BCF7F5D4DAD7D652CAB53DC9DCA35C0260C0D834BB02E3EB33546F496B6A965256ED5530639769304BF8CACD18F223D832DE19F6314852E7E53C4C5F26BEE7C6FECBE27C7839CB5CF8CDC291BBC4F05B3C79BA9DFC972C458917078B147D1B477338E15277EA264C0C0A136E48A9080791812BC2636A522B62389462533377AEC81AA40F5A9122A62AB522A6A3D9D8D21AA01D2BB206E9CA90152962CA9D11D3A1045BD56B7DEADE0457B998EF7B697013A4CB09F2C0B3BD87AAA0D5A7D5EDEAF3EAF6EE87BB3F89A3CD4D277970F4EACDF911BA8AD2085C61CA5E41BAF7319183E20C7BBE87DDD08FA3C0C745B5701660FE51F83CCAE0D91FC1CFC3284CE3683663B1782AD6662A7B7B7B087E70770A9F7711BB1EE3FF4E9856F9939CF60D9B2F78B15EBE44CB28436ECCE071CCEDCAC6E7953585D1F8201E47AD65DDF48F28CD56CB13755DC9FB2E47E161CCA023C2248DB4900E82D0CF47109C5AD71ED9B6D19A5F7E46888154AC90B6F4A2F09C25D95CF04381A41B12E4220799C3CA451ED3962D171A5614AB61A7A77C8DEA3EED11487572ECBE8DDA46BB739AE2A06F5EBB3158A9C9F3290A8F2A6F3739CD6A1DD93337EBD01F7DF727BF00D9034F2CC46C7270BB4E2CD1F54764255A8873DAE569C412189FA5188A628D52A137F7C7D57FE1D5FDD7EA27F15797C30D99AFEEE12C805BB2D792F05C4C698B0E347D886797C791B7DA1453BD5CEDA2947DDF5D405587C916AAFFC30B58D36CCFB0C3CB0B24AB35C16E4F2F475932840C40F6A0B74B1153F6ED420D4C0CFAA0B87C1DD9C77482F66FDC60E64E67EC358BBDEB51E45D2C17F065F00E4E846AC4D146331A8609942DF3D228862A310F415960679145D03C114BDCC2A4329EBD3D034034224D4A384D7DE8199E4F0579304D9A9E008D3EB2631DBC0290AACDD869C538481B78C5784C2A7BC52CAC91479550D42C7090DD0EEAE4162C6C5145C82D7C02AFF079752BEE15385A95E915FAFB699E4A7D4976D96F8BEA0358051EA76E7076596DBBAAC1B6C5ECE21438A9CDF4F6370A40AD04A3C94A0BFB047BC3E86F83BAD80420D9526C828D89A20CAC613CA66C9BA02B98564F9B5C9B90A3F56E36C134C46C82E5A8042BA47D2844DF350099D8B2DB2F3EE1E902928515B5E191E9385D05C81872BA8A98A6D4E9B21C1D46566DAFAD68936C8710AC5767D10E4DCA4946F5D6F66FD21AA40E2A01454CB9120050032AD2FE8E883749D5B169D8329A04248B1A129A9483CC619B94C76C7864766A92A660D392D1240A202A65938064D98A8426E52075D826E53135C94DA2146B0F7D64DD203F6D89DF0649907676C445ECBAB7ECE9880B9ABD4953E0D97FEDC6EF993F792657BF8EAA93DA37F4F4C76B9AB9BB435883ACB218797F7AF9EC35A81AF41AA8A7CDCEA154236DD989BAEC82A3B571BAE80280A8145DE0A0A17581C77C065D3089D93A89E3345A8871746C28A4415FA67CC31D240ED1A40905A7E93D85A2B7D6F1A0C6665032843AF1A8963475029A4DDBD6AD833881E922EA23B325BCFF00A2548A31009225450038686801D0378C963401D0B1ADB7BE205DF6DF365AA57EC41218E7A510090E334B2B67F9C80FD28B600E1FE9A62001D7A3C8835687A983A2F878B4A7C01F17CB05E33F4EB3F994C57BBF100E5269E97D9077D01C1627C8CFE60B077DF7BDC824E4A85241F72F2FDEBC1B7F7D7A3841FB591ABD182F430F05099A451E0880706A7A939276706A6599CE6298B1380D7A894A9E883435CE697468DB9647D5650923D0EC4A18EFA7068CD6B51B5EB1371FC257413C1747195BA87C6918FFED203F85B106659BEF294F2389E2280A5688DD9ADD2FB338F003CF9D9DC184D745EE11A44AA467696D7F7899E5591C78EC0454531CB6AD153BE64754A5353F10C45840584B90F4DA1175FB73ABDAB94BBEF4C2286DFB3377CDCE68CF6E7C1D2C16417835123A494ADEF63CEF9AA2B9DD93A6148F4201B92E91DB2FC9AE595AEDBE49D080AD416A650BB7DF843EA76241254480DAEF6E2C2268AA50DE8226B2845221A8A8A12CA8D4DAF664DD0C65092AA77D084359C4ACAC861443B986EA8ADD3ABD628E92104757B04115A17E896E84EA100D9BD585296908D654DDDC79080AD0A043B08E69349C443B0C81E6108A15536AF354C5D16CACEB6250D1E6155463E7E695206BC0E615314D5566F3004A554CA8A40B84FB75F8A3AB752FB35037B3E87D7E94B4DAF9F1EC475419F7C101429EFBEC29A35AB5DAF53B7B0A9A69485E660EB5CD1AB498963EC6A444DA4F21FBB992355E25FAD3190B5A929258F7670DC40E6AC691D490A06639686035E331754DBE9A514DC4AE8A7A9392296623462C81215B0A63AB5B02707EE6A597619026AFDD05A027285F86200A11D418B40F69C446F344B09DB651B7D48DE23C41456494C68CA12B16B2782328D555D1901A56DAD6B11EF2309A2F5C0813C5DB01A978BCFB67EB8978FB4912C51C1FA6680623BC1D55118FAA6AB59EF13330DA286463842E7554B516DDA97FD798B9B177DD1CB0CB1789D6F19CFD260B62E68B466C1C7C023614AB8680B40A3E2F9AE5E81A98B1FAB5B783B4AE9186B6B3512C4143BAFC22A669CB94560ED5B1594D8A377393E41147D3DA84CB84C508A2C0FF7DB07FF82B34CDD2B45EC8C712D0051348B8734DF01802C184BE756781EFE66B9A47CD13804186D94D82F00A3A91ACFF4390D98C67F8C10DD30425EE0D43E975F5B73F136AB8012EBD7C4B27E88B119460CC413F47E3F7C1E20B7470712AF6BD063614BAEBF7C253F26D14CF91378B1256FCB578F8D25C7091BB802D9F209F8121BF2EFBEBA0283E1EED29F0C7C572C1F88FD36C3E65F1DEEA1FABBFAF7E5CFD65F589888733B7C2BDE3DA1227C8CFE60B077DF7BD38CBDE74C4C54D33CFADF801BF281C248C224ACD5CF73B4C4ADA833347F830E9795B9541B5CDA0E4F9AFA132EE832B4C7DEE6BA888AA935AC39EBE865A77D934CBEEEF5F5EBC7937FEFAF4101C4596462FC6CBD0434182B2701679F04DA2E959AADCC70F88D507AFCBD6E34059836C456B0575793C8164EE7C9714208B0CFC78F298BAECC7D3045BF7E4B52A7A941440B3C5E2F7BA48D64CCB501A6473DA453039A4BE7FFD0593D3B48782398086F0A8B4B3863C423369EB5E75D87413DBC492B15600529581D78AC724B2D7CAC24AB5AB4DDA27BA4D9C63B6721A97A8A9B4363F6E2CBBFCCCB393FDCBD3C3AF8ECE27287764C803937615C5A224BB920C096F0F1035AC48B8690AD0A037CD3AA6AE489D1F809A002DBB75EADE0457F9417BDF7B6F168066C15DB0FAEBEA9F77BFBFFBE1EE77ABFFADFEBDFACFEA56A4502A8569283776747012B93EF38F6E40A3A1EA07C88BB2999FD76A0AA58782D41BD942D53155CB3EBE39BB387E7D091235FEF5499032C4F2BAA01B30CDFC9E8119D130BC1542E500B06E947DBDF7E0C7A7C7170E9A05F3203D0EC7CC832389A88A60A6BA59D6F7CBB331B4EB6C8CFC2071A733E16FD5AD078457C14738D9F2B3CC8BA2D80F427EF9B440DB3E147C9DDE20469D37210769C36E421E934ADE04D5C2A6A60B6DC2DF56B7AB9FEEFE906FC24FF0FB336CC61F57B7777F162A988D755AFA96B5A01D8701240E82761D4761F0DB3C2EC65898A63FA08D472F7885F9E0CFA30CFC90D8987190F5007499F0319B475368A50AA31686CCE3A989E2AAB158E3DCFFF35E36BB6D2B67185EF75C050B04A803D493F9FF314E0F901F273090E363C439CDA2C8829198588D2C0914E5C4BBB640BBED1574D13BE8AE6981D36B70EEA8DF4759B24DD236C9F918200BC5129FE10C87CFFBCE789C1F1739327F97FCE16D6B8ABE4139997C38395E64D9F8E9F67E00F73E9D561FF31D447B8308E5E3F747879D21AE0A393E7ED9197273C1E18DC8207A81A2783BBB00C3DE5C9FFD3C9FE77BC9EB932CCF700BCCE6E5C267CB6552CC370F113EB6C45B79E7E12F2D8AEC74512C51E433BC717193FBE6F1ABC35BB8AACEC55F1F1CBEF875F2349DA135F22C1D27D37459EC2E57A3114CE1FD6ABA8BEFC92EAE54EB19D8FA482F019A5C41CB97AF5CFEBD440806C50349C986D1764E5BA15E1BE9722A8B345F66498A0B578EB5CC8A02DE8465F54C71FB34B6EDECB626D4295400181A9EEC61F6B9B8A2EEBE2E57840B06FF44703CE16A8FF3BDD69BD3A986A77CE3A6716D96A3936CBC6A79E78A33672D953E4B5A20D02782B6391FAFCF12A763F559522CA53E4B62CD7C1DF58910CF23F55942649C3E4B861B4C9F80F7DC77D2A76CA31AE48A06D5D0EBB31CA9E115EEA24FC55BCFA9C17024FA44B89484FA2C817A587DE218FACEDDD34B9F0ACE238A4C9F48A3689F2588AE7D22AE62983EFA448A24D5271255AC3E116262F589101BA94F60043E9C3E15B3E2CEB7B6A64FD54A35C835DF449F385288D467EB3935356A1A7D22FC3E1375D22700D5C0ED13C7300DCD3F529F9A0915C8F409342D28F4892045A74FC4D9687D22C593EA138921569F0031D1ED1321B1ED131976387D02DEDDF902D4F4A95BA906B90D521B409F30926FE8B99DF4D97A4EBE211268F409F0D060BBFEFA4460433092EA5333D91492D1FAB4D212EAF32A9722F579954724FAB44A11E8D32A4DAC4FAB6CBC3EAD72F1FAB4CA47EBD356328F589F363468EE0E7D9A96AA71BCA1A90DA24FC71B0260107D3AD160382A7D3AA169F5E9841B5C9F4EDD5799BBEBD3305EA92E31FA449AA4D02782349D3E11E7A2F5899440AA4F20DA5A71ECAA4F8488587D224445EA13196E387D02DE77D3A76DA51AE036759F01F489233578A7933EDB45028ED4200B1A7D1A2678C382F5D727021BD685549FE6DAD188529FD2D3B54FA4051A7DCA2028F5298326D0A70C96589F32F8787DCA10E2F509928CD6A7E266487D2A253AE9D3B5548D520D2FEF20FA544D0D68107D2ADD30272A7D2A7D5F91EBA84F651ABA32B13E95BBAF32F7D1A7AEF4C5387DEA4A69ECAD4F6D2CA53E75A537F6D3A7AED4BC787D6A2BE3F5A9AD89D7A7B6365A9FDAF121F569A4E9A44FDF5235A649CB83E8D328F58DF469941B4E9FA6C9CD31FA34BAE16E89F5696CC318D1FAB45A10EAD36A43A34FAB1DA53EADE104FAB495A889D7A7ADC44D2F7D5A43A04F6B5CB43E6D250C88F5697D377D8696AAB1BEA14C0DA24F1B1A5AD620FA747C407D3A6169F5E964838F89F5E96C437445EBD3DB40A84F5F39DEF6D667E0A4ED33084DA0CF200CB13E8370F1FA0C8E409FC1C5B7CFE0C570FAB44C6E8F10EDF429782BD70078ABFD61FD0923B9D8FA69DBCEC93564028D3F011E1AFA7A7F7F2270687F5AA6D47DD2BFC39FCFF69FFCFCA211ABB7A1FE7295EECF3E4C66D9DBE459F66E85BA1A67494B472168E382E720B99F8BC974F936C18FC9789EAD6F2EFB3C59167B8F4E67C5A3E518C5FA68BE808DB23A7D345DA5F0399B3D4BCF197C6E7FF3BE7EF32F325C867CB22892F7F9FC3419A745FA2EAD9AE436A8839EBF59E8C3F46CF2A18C90C760C7B34971FE36194D27A38FB02AC9C53F2FBE5CFCF2F5AF5FFF74F1BF8B5FE0F3BF2FFEF5F56F175FBEFEBDD58279661C5D7401AD22AF9ED18520D5105D6F0E9E1F74CD2D600571476E892099B09E09CEBCD91342DA7649E699E5A2459215F9AA9DD810A862830C21D1418690D8200346E5116E5605961D82ABBEEC2DB1AE7244394AF3627A5E6ED9AB1DDB86A539D39505FF1EB2C2FC36693543B8DC570AD1EEEE0F90979C7721DC5CE7E7ABE91442F2533E29B244C0A7D13C1F2F931D9DBC3B2FB2E5C3D6D89B2FF58F8F8F93B32C5FE28E74DCC22D8AB624535B21E9DBCF2F28D1B042C2762058517B44BAC3E5EEE661B44CA9D1FC7431CD4046C9A749719264D8B096ADC4AC05D3DB4EB03F9E1498A720CDC383D77BC974723A290E66C7D9087B936C778B00DCBE272F8E8E21388E8E3B053F1282BC4E783EF95CBE642719CC14F6CF6496C2DEB9057ADB4425B38A22934BD037CEE4724CEA4CD68A49ED86CF6418C72B4D95C925CD116472090A34998C2C2DE933B9E46AC24C2E81B538ED98C925C4476632420C8FCBE492E1C93319B1DE1265B2AA19BB53266B38A0F0A84C0642E589936432621D492603C9F3FE99ACA1F498A84C0642A5B574CA64BCDC9366B2664E90663200258FCA6420284E9EC986B96D618DCA6404996F9CC938A625CE64C399DAAEC8DD99FC0FC8E03F7FFD4B99C9FFB9F8EFC597FB07D07C8F0B666DC35D775BF20DC87FC325DF8C1928971CA192052306AE41380E869524A9411B9A8EAD411B9023A8411B5620AE4197DCCAA929A2066D8032A6066D203AA6066D2026A2065D329CA2AD4197D8A0096AD09A158CEA5783F072E808D2F6AE4197844A918AAE411BAC88AE419724575BA17635E8F2F2107AD7A0354173DFAF066D2E0F6435684D74DE50D5A04B6030BD6BD09AE08522AD41401592492F0832B904A96F9BC9E5989A3893011A9C1E3E9385BA568CA333B9A449824C2E418626934B96A7CFE4921B08331981159576CFE412520BF68E995C42745C2623434BF24C466CA509F5CE646079DD3F9385663CA8984C2E09863C934BACA5C8642009D93F93F172AF6332190941F6CE64B85C724599C940D4DE116672090C31998C84E07B67F22D5053DB9A31C1803447110C080A44C160C03D72806040AEA60C0604DAD86040888F0D068484C860008630F4C10058158882C130A9EA2781D6C16098D52E2A1890E0E98301B08693040390220E6BC2326E64543000C1F63FACE1E55E90068365C628CA604060D4610D0956530783834A40170C4823090600294E140CC8D2030403722D653020B0E6F4AEC1E06AE2EC110C00D13C32189061E98301B08E130583639A479C181CF3DE46050312060806C0129D181C0BAA56D8DB078307AD87A860F0B5F6D52918E072C14983C133B55D5B926040A08F0A060FDBD8510743A825724C3000ADF2D6F60C060449A260409619201890EB2883018135A7770D0680781E1B0CA156B4BA0703321C7D3084DAB1AA4530ECBF7AF5D3AB3A4C6A268DAE7B0336EB04B66A9EAF16B061BFFB637A96B25956B0E3F9E86356AA009662FFF3285BE0507BC9B5C78DEB344EE0EBEF7E9516C93CFFC0D2453A3AC9D8499A9FCE67E76CBA9A4DD8629A16EFE7F929FBE9F8302B3ECDF38FC7E7CB223B65975B7BE710267196253F66C5C97CFCB0648DD3E9D9E4235BAE7FF8640AF7F26205AFD6833779BA5864E366D0D5EF184E634F19F7F0CE5BC3791E4DD3C96C3DD90330E81656FD7B49945C131385576B6265E1D9B28047BD5AACFFB773F9C7F2122775F325457EFE783A7D0C2F7CB65C66CB1B1709C39B2FFA7E020EFCE1C66F250FAD7F2B9C5DFF365FB1D178C4D2D9389F4FC66C0EDBE57475CA70A732DC6847F97C04B7C5C6F383D99374F4F1430E8A1CEF5CFF6AFDD09CA4054AB3E66D414BF61821AFD3E5C707928DD2E97467FB87CD4331D71660554CCA87385AE579362BD8F355B1CAB3F2721C8C4DE0F1E6AF56B39DAB2F2EA7C26D2B0CCB1B2E86DE7CC7C5AF4FF22C1D1FCDE7D3FDCFD96855CC7384BC817722CB771ABE5C23B9EFC67CB00696F7771BD478718D394D671F2E41D7AEDA0C2F605FB5119F344CCB9BAE7A9ACE7E536CD2B055AD0188DB1E92286A4D09B431B50609DA10D71A69D9FF69AFDB6347721B0AC3A96C0266F103208949C3118CD7B301ECD83F9CBD01AA4B7387D4BD45368E02E05B12D5EA07A83DA3C69A5123C058A3A1960A66AC192DC18F35D6CD0938D68C60718E352342CEB16644AA6FACB14649F0B146B37DDA516FEFBBB985C4CB36B7BDEFEA719A76B1C37D77147EBF67C4BE3BB2BFEF2A37F75D2B519A6F687BDFD5E31CDB8B1BDADE77AD40EB4FB4BBEFDAF12AEBDC7A7FDFCD3DC4E7F30781C182EC82410BA9A261905022C360B05A43C0A0A114413058ABBC0106EB1212060B562F0C16695E182C224E18B431CF67081834CB110483049E9E8C231824488E2E18ACC078182CDB203068A9B6FB30E871110F0C2586388D282730D8F1D2903068919F7F0D040C167C8E83B760B042C960184A0A993A0A06AB4DFFDA7B308C10686318AD8A8761741B10861114270C16A9D109C388241F0CA3D1E13058B6370C0C2587D89679781B063D4EC5B53158611AC811308C6C41C0A025AE0B9DDB30D871270C39D4B2DABD0D831E9F1E642F0C25C49E913058905C3068E179CB301828D46955F3C0603542C060A10E82415B9CDE0083750B12060BB217068B78378611E94E18B451F11B83653B8360A0D07ABF0F030569D50583153A1E06CB0A04060E31E5FB30E871F2C1A085BADABD0D831DCF501838148A48182CE8DB18B4F07C6FC0609050A601CC0383D504018386248160B016BD0106EB56240C165CDEE9A7305864593B4E6190A0E79D3058A3E261D06CEE201844E7E1781F060942BE8DC10A150F8366394360D0D2F4DF3981816288E5159DDB3058A12E326DC360C75B41C2A0457AFE64081846B07B60B0C2731644C14029D4E9EDE68061D4103068A8C58C8161B4180FC3E8226118C1EE846144BC3058243961188D0687C1B214313068AB4F3BDF090C94439C56D143184621C361185942C060A5BEDCD03E0CFA0B2776C1A0855CEFC3A0C74B82C290033D1F6B080C1ACCD10543FE302BC16028CBAAE681C16A05018385180483B5FA1B60D06E8B48182C98BC305884BD3058A43A61D046CF7818CAF257BF0F4309B9DDDF18F4384D0FD6290C56103C0C9A9D1EA4BB3094C0C5B131E8F1E9824F61D042776C0C25E87785C25082A48284C182EC82410BB9A061A0905386C1603542C060A10E82415B39BD0106EB66240C16242F0C1671C36091E684411BA5E061D02C57100C148A383606D2E5455C306861DA3920305856203068491C3050E82DBB60D0425F3EC03E0C7A7CFAFC5E18389428481834F87C03DF83410B39A361E0D02BC160B05A43C0602101C1C0CBD38981C1BA8484C182CB3BFD14068B342F0C16E94E1878F94B4360E020914030D410C90143D5C19C5C3058A1E161D06C67080C357092FB30E8F1565C30D465E43F82C18E0B1486AA6F26E8C66041DFC6503FBC886030B440D3CCE281C16A05018385180483B5FA1B60B0AE2061D0604D5E182C92BD3058849C305843F0306856220886162AD5FB30B420BDBA60B042C7C36059CCC6D0432C7C1F063D3E8D3AA7306841D27D18ECF1EA50187AA0DC903058505C3068A1081A06D15FBEC160B09A2060D01065100CD6E237C060DD8A84C182E28541231CBD3058243961B046C3C3A0D95641304848E2D818448DEA2E184407F28887C1B209028396C801831EEFD10583E8C8BF7C807D18F47862280C12A456240C1
47 Wobland
 
16.12.13
11:40
а Двоичные.Размер что говорит?
48 rentxak
 
16.12.13
11:42
9
49 rentxak
 
16.12.13
11:43
(48) 9
50 rentxak
 
16.12.13
11:44
(47) 9 ))
51 Serginio1
 
16.12.13
11:46
Можно через .Net
врап=новый COMОбъект("NetObjectToIDispatch45");
Стр=врап.ПолучитьТип("System.Convert").ToBase64String(safeArray)
52 rentxak
 
16.12.13
11:48
(51) Сейчас попробую
53 Wobland
 
16.12.13
11:48
(50) 9 - это девять? байт?
54 rentxak
 
16.12.13
11:50
(53) в байтах
55 rentxak
 
16.12.13
11:50
(51) Аналогично
56 rentxak
 
16.12.13
11:55
(46) вот строка , это zip файл
57 rentxak
 
16.12.13
11:56
(56) сами можете попробовать загрузить
58 Wobland
 
16.12.13
11:57
(54) отсюда вывод: у тебя какие-то неправильные ДД
59 rentxak
 
16.12.13
11:59
(58) не подскажешь что у меня в коде (40) может быть не правильно в получение ДД
60 Jaffar
 
16.12.13
11:59
(16) "Информация из 1С выгружается в ОПТИМУМ (вот она на SQL крутится). Затем торговые представители делают документ Событие (CRM) на своих кпк(планшетах). Допустим инфу прикрепляют в этом документе и отправляют в базу 1С и вот эта инфа в SQL хранится в своем а не в SQL(1с)."
а как двоичные данные (диктофон, фото, видео) транспортируются из торговой точки в сервер SQL?
61 rentxak
 
16.12.13
12:00
(59) также пробовал (51)
62 rentxak
 
16.12.13
12:00
(60) из планшетки в SQL
63 rentxak
 
16.12.13
12:01
(62) планшетка на андройде
64 Wobland
 
16.12.13
12:01
(59) я COMОбъект("Msxml2.DOMDocument.4.0") боюсь, не подскажу
65 rentxak
 
16.12.13
12:02
(64) Картинку пробовали загрузить нормально все грузит
66 Wobland
 
16.12.13
12:03
(65) в качестве танцев с бубном. попробуй картинку как ДД грузить, без Новый Картинка
67 Serginio1
 
16.12.13
12:04
(56) Ну можешь сразу данные на диск

записатьFileMode=Врап.ПолучитьТип("System.IO.FileMode").Create;
FileAccess=Врап.ПолучитьТип("System.IO.FileAccess").ReadWrite;
fileStream = Врап.СоздатьОбъект( "System.IO.FileStream",filePath, FileMode, FileAccess);


binWriter =Врап.СоздатьОбъект("System.IO.BinaryWriter",fileStream);


binWriter.Write(fileByteArray);


binWriter.Close();
68 Serginio1
 
16.12.13
12:09
(40) А зачем тебе ХЗ пиши сразу
ДД.Записать(имяФайла)
69 rentxak
 
16.12.13
12:11
(68) сейчас посмотрю
70 rentxak
 
16.12.13
12:14
(68) не получилось ПутьКФайлу = ВРег(СписокПараметровФайлов[5].Значение);
                            Пока Найти(ПутьКФайлу,"/") > 0 Цикл
                                ПутьКФайлу  = Сред(ПутьКФайлу,Найти(ПутьКФайлу,"/")+1);
                            КонецЦикла;
                            Двоичные=Base64Значение(СписокПараметровФайлов[6].Значение);
                            //Файл = Новый ХранилищеЗначения(Двоичные);
                            //Файл = Файл.Получить();
                            КаталогФайлов = Новый Файл(КаталогПрограммы()+"ПрочиеФайлы\");
                            Если не КаталогФайлов.Существует() Тогда
                                СоздатьКаталог(КаталогПрограммы()+"ПрочиеФайлы\");
                            КонецЕсли;
                            Двоичные.Записать(КаталогПрограммы()+"ПрочиеФайлы\"+ПутьКФайлу);     //Файл
71 Serginio1
 
16.12.13
12:21
Ты лучше покажи как ты в скуль закидываешь
72 rentxak
 
16.12.13
15:21
Задача закрыта я не вызвал функцию Base64Значение()...
73 rentxak
 
16.12.13
15:21
ТОчнее вызвал но до этого не вызвал свою процедуру... Всем спасибо!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.