|
Автоматическое обновление конфигураци в 1С:Розница | ☑ | ||
---|---|---|---|---|
0
Sk0rp
14.02.12
✎
13:05
|
1С:Розница8 v1. Типовая.
Распределенная база. Процедура автоматического обновления конфигурации при получении изменений. Грубо говоря заключается в том, что из константы при получении новой конфиги берется текст bat файла и запускается на выполнения. Есть 2 варианта: 1. Можно воспользоваться типовым hardcoded скриптом, который не работает. Вообще не работает! Ни при каком условии. А если бы работал, то использовать его было бы нельзя. 2. Написать полностью свой bat файл, но уже в него невозможно передать путь к базе. Поэтому приходится плясать на пупке, что бы этот путь получить. Сложно, но возможно. НО! Какой бы путь не был выбран, все равно придется вручную настраивать это в каждой удаленной базе, потому, что настройка из каких-то соображений с обменами не передается. Но и это еще не все! Текст bat файла на диск пишется вот так: ТекстовайДокумент.Записать(ИмяБАТФайла, КодировкаТекста.OEM); Вот какого, спрашивается, хрена его перекодировать? При записи все русские буквы напрочь портятся. Приходится изначально писать в константу кракозябры, которые при перекодировке дадут правильный текст. Программист из фирмы 1С, если ты это читаешь, пожалуйста, пробуй хотя бы запускать свое творчество перед тем как позориться. P/S/ Для тех любит кричать: "У меня все работает!", - вы именно в Рознице проверяли? |
|||
1
PR
14.02.12
✎
13:09
|
А ты нафига сюда это написал? :))
Крик души? Или надеяшься, что программисты из 1С читают форум и примут меры? |
|||
2
Sk0rp
14.02.12
✎
13:10
|
(1) И то и другое! =)))
|
|||
3
Sk0rp
14.02.12
✎
13:11
|
+(2) С кодировкой вообще засада. Может кому поможет когда гуглить будет и наткнется.
|
|||
4
pumbaEO
14.02.12
✎
13:12
|
Не пойму, почему с кодировкой засада, если bat выполняются в 866 кодировке...
|
|||
5
andrewks
14.02.12
✎
13:14
|
(4) bat может выполняться в разной кодировке. на то chcp и придумали
|
|||
6
Sk0rp
14.02.12
✎
13:16
|
(4) Потому, что когда через редактор 1С вставляешь текст скрипта, и в нем будет записано:
/CЗвершитьРаботуПользователей то в bat файле окажется: /C?ртхЁ°шЄ№?рсюЄє?юы№чютрЄхыхщ |
|||
7
Sk0rp
14.02.12
✎
13:20
|
(5) Не помогает, мне надо, что бы bat файл скопировал часть себя в wsh скрипт. И там уже гарантировано порченная кодировка оказывается.
|
|||
8
pumbaEO
14.02.12
✎
13:32
|
(5) но по умолчанию...
Если знаешь подскажи: есть js скрипт, выполняю команды через WshScriptExec=WshShell.Exec("cmd.exe /K /C"); WshScriptExec.StdIn.WriteLine("chcp 1251 > null"); WshScriptExec.StdIn.WriteLine('cd "' +лКаталог +'"'); тут все нормально. Но потом читаю данные из потока, но вот со чтением в правильной кодировке засада, может знаешь как прочитать обратно, что бы UTF был? |
|||
9
pumbaEO
14.02.12
✎
13:35
|
Зачем bat -ом писать часть wsh скрипта, если можно wsh записать из 1С, а из bat вызывать...
А или это просто крик души. |
|||
10
Чайник Рассела
14.02.12
✎
13:36
|
(0) у меня все работает. 50 магазинов обновляются автоматически. ЧЯДНТ?
|
|||
11
Sk0rp
14.02.12
✎
14:09
|
(8) Насколько я понимаю, надо поток из StdOut перекодировать в то, что нужно.
(9) Без доработки 1С-ного кода нельзя. Снимать этот модуль с поддержки тоже крайне нежелательно. (10) У меня тоже будет работать. Вопрос в том, что типовой код сделан максимально неудобно для пользователя. |
|||
12
pumbaEO
14.02.12
✎
14:18
|
(11) я тоже понимаю что StdOut перекодировать надо только вот из какой кодировки в какую непонятно.
|
|||
13
MikleV
14.02.12
✎
14:30
|
(2) не поверишь)
(0) напиши лучше |
|||
14
MikleV
14.02.12
✎
14:30
|
(2) к (1)
|
|||
15
Sk0rp
14.02.12
✎
14:48
|
(13) Конечно напишу. Хуже то некуда.
|
|||
16
MikleV
14.02.12
✎
14:57
|
(15)бугага
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |