Giter Club home page Giter Club logo

v83unpack's People

Contributors

artbear avatar awa15 avatar evilbeaver avatar johnydeath avatar pr-mex avatar pumbaeo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

v83unpack's Issues

При коммите ошибка error: unable to add src/Task/ЗадачаИсполнителя/Form/ФормаМоиЗадачи/Help/1_1_~1/PNG.png to index

Вот такая ошибка при попытке коммита:
error: Invalid path 'src/Task/ЗадачаИсполнителя/Form/ФормаМоиЗадачи/Help/1_1_~1/PNG.png'
error: unable to add src/Task/ЗадачаИсполнителя/Form/ФормаМоиЗадачи/Help/1_1_~1/PNG.png to index

если просто выгружать в файлы, то такой ошибки не происходит.

Убрать проверку на пустую строку в комментарии хранилища 1С

Модуль обработки. Строку 2041

Проверить(НЕ ПустаяСтрока(СтрокаВерсии.Комментарий), "Не заполнен комментарий. "+СледующаяВерсия);

Убрать, т.к. далее при помещении в git ("ВыполнитьКоммитГит") идет подстановка "." для пустого комментария.

Также попутно в этой же ф-ии надо убрать строки:

СтруктураПараметровДляКоммит = Новый Структура();
СтруктураПараметровДляКоммит.Вставить("Комментарий", СтрокаВерсии.Комментарий);
СтруктураПараметровДляКоммит.Вставить("Автор", СтрокаВерсии.ПредставлениеАвтора);
СтруктураПараметровДляКоммит.Вставить("ПутьКФайлуХранилища1С", СтруктураПараметров.ПутьКФайлуХранилища1С);
СтруктураПараметровДляКоммит.Вставить("КаталогВыгрузки", СтруктураПараметров.КаталогВыгрузки);
СтруктураПараметровДляКоммит.Вставить("НомерВерсииХранилища", СледующаяВерсия);

Эта структура нигде далее не используется

Ошибка, если есть две формы с одинаковыми именами

Если в конфигурации есть две формы с одинаковым наименованием: одна под УФ, другая под ОФ, то в процессе обработки вываливается ошибка:

{ВнешняяОбработка.ВыгрузкаКонфигурации1С.МодульОбъекта(1775)}: Ошибка при вызове метода контекста (КопироватьФайл)
        КопироватьФайл(Файл.ПолноеИмя, НовыйФайл.ПолноеИмя);
по причине:
Ошибка копирования файлов
по причине:
Ошибка копирования файлов из '...\Catalog.Пользователи.Form.АНТ_ФормаЭлемента.Form.Module.txt' в '...\Catalog\Пользователи\Form\АНТ_ФормаЭлемента\Form\Module.txt' : Каталог не обнаружен

Удобная и понятная форма обработки

На данный момент УФ обработки выгрузки - неработоспособна. В вызовах ф-ий модуля обработки пропущен параметр "версияПлатформыДляБазы".
Множество реквизитов формы, находящиеся в неуправляемой форме обработки, не дают возможности быстро начать пользоваться обработкой.
Предлагаю создать одну основную УФ обработки, где сделать понятными как сами параметры, так и выполняемые команды.

Для набора констант на упр. форме не сохраняется значение свойства "Использовать всегда"

Управляемая форма с некоторым набором констант и включенным "Использовать всегда" для некоторых из них. После выгрузки/загрузки флаг "Использовать всегда" по всем константам сбрасывается в Ложь.

Ошибка в функции РазложитьМодули1СПоПапкамСогласноИерархииМетаданных

Сегодня скачал проект, начал разбираться с "правильной" разработкой.
В ВыгрузкаКонфигурации.epf в модуле объекта в функции "РазложитьМодули1СПоПапкамСогласноИерархииМетаданных"
ругается на ошибку:

{ВнешняяОбработка.ВыгрузкаКонфигурации1С.МодульОбъекта(1889,1)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
<<?>>КонецФункции (Проверка: Сервер)

Кажется вот этот фрагмент нужно подправить:

Если УдалятьФайлыПредварительно Тогда
    ЕстьОшибкаУдаления = Ложь;
    МассивФайлов = НайтиФайлы(КаталогИерархическойСтруктурыМодулей, "*.*");
    Если МассивФайлов.Количество()>0 Тогда
        Для каждого ЭлементМассива Из МассивФайлов Цикл
            Если СоответствиеИменФайловДляПропуска.Получить(ЭлементМассива.Имя) = Истина Тогда
                Продолжить;
            КонецЕсли;
            Попытка
                УдалитьФайлы(ЭлементМассива.ПолноеИмя);
            Исключение
                ЕстьОшибкаУдаления = Истина;
            КонецПопытки;
        КонецЦикла;
    КонецЕсли;
КонецЕсли; // << закрыть ЕСЛИ 

Синтаксическая ошибка в модуле обработке

В строке 1159 модуля обработки проекта v83unpack добавлен лишний знак "+"
Комментарий Артура:
фишка в чем, что мы счас юзаем абсолютный путь к файлу хранилища типа
\REPO\project\1cv8ddb.1CD
в этом случае работает тулза Tool_1Cd, а блок с ошибкой (с лишним +) не работает

Проблема со сборкой конфигурации. Ошибка платформы.

Проверялось на 8.3.4.465 и 8.3.5.1119.
Проблема следующая.
При загрузке cf из XML в ПАКЕТНОМ режиме в только что созданную базу, некорректно проставляются галочки в ролях. Проблема воспроизводится стабильно, вне зависимости от того какой режим совместимости выбран в загружаемой конфигурации.
Если делать загрузку через меню интерфейса конфигуратора - то ошибки не возникает.
Опытным путём выяснено, что решить проблему помогает повторная загрузка в пакетном режиме этих же xml в ту же базу.

Т.к. загрузка cf из xml бывает довольно долгой, предлагается на шаге, перед загрузкой из xml вставить промежуточный шаг. На этом шаге будет загружен только Configuration.xml, без объектов из дерева конфигурации. Это не должно занять много времени. После этого загрузка из xml проходит корректно.

Пропущенный версии в хранилище 1С

У меня нарисовалось в хранилище пропажа некоторых помещений. Возможно их вообще и не было и это какая-то фишка хранилища 1С. Вот как оно выглядит из ToolCD
{Хранилище с пропусками версий

Но v83unpack при синхронизации как только наткнулся на то, что после 359-го помещения не идет 360-й, решил остановиться. Прошу исправить.

При выгрузке файлов конфигурации большое количество изменений

Выгружаем конфигурацию в файлы git.
Репозиторий показывает большое количество изменений, например:

  1. Меняются местами строки в файлах,
  2. Меняется язык выгрузки (расширеннаяподсказка превращается в extandedtooltip)

При сравнении и объединении тоже получается беда, потому что показывается большое количество изменений, которые при проверке изменениями не являются.
Например, показывает что изменился текста запроса динамического списка или подсказка элемента формы, хотя по факту никаких изменений не происходит.

Сталкивались с таким? Можете подсказать как победить?

Вопрос: при выполнении инструкции compile необходимы интерактивные действия?

При выполнении инструкции compile посередине процесса возникает вот такая форма:
8

Можно ли как то исключить этот этап? Сделать его автоматическим?
Когда создаешь фичу или хотфикс, то ничего страшного, но мне кажется что именно из-за этого не отрабатывает сервер сборок. Все виснет на этом этапе.

Вопросы

Не знаю где и как правильно задать вопросы.

Второй день мучаюсь с обработкой "ВыгрузкаКонфигурации.epf" - начинает казаться, что интерактивно она не работает.
Вернее если я указывают cf-ник своей конфигурации и нажимаю "Разобрать конфигурацию", то эта часть работает.
А то что связано с работой с хранилищем конфигурации нет.
Попадаются совершенно странные куски кода:

ПутьКФайлуХранилища1С = "";  // TODO подставить нормальный путь

Или

СписокСтрок = СтрЗаменить(ПутьКБазе, """", Символы.ВК);
Если Найти(НРег(ПутьКБазе),"file") Тогда
    лПутьКБазе = " /F """ + СтрПолучитьСтроку(СписокСтрок, 2) + """";
Иначе
    лПутьКБазе = " /S """ + СтрПолучитьСтроку(СписокСтрок, 2) + "\" + СтрПолучитьСтроку(СписокСтрок,4) + """"; // тут ломается путь к базе
КонецЕсли;

Или например функция ПоНомеруВерсииРазобратьКонфигурациюИзХранилища1С() судя по названию должна получить из хранилища cf-ник и разложить для отправки в git. Но по коду и на практике видно, что она получает cf-ник и вызывает РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(), хотя логично вызывать РазобратьФайлКонфигурации()

Этот функционал пока только разрабатывается и пока работает только вариант запуска из командной строки?

И последний вопрос: где-то у вас происходит общение разработчиков? может есть какой-то общий чат (skype, slack, telegram)? Когда-то давно попадался ваш форум: http://xdd.silverbulleters.org но сейчас он стал закрытым...
После таких статей: http://habrahabr.ru/post/248669/ - сильно захотелось заниматься разработкой правильно, но информации очень сильно не хватает.

Исходники хранилища версии > 8.3.3

Начиная с версии 8.3.3, в хранилище 1С в подпапке "data" располагаются объекты конфигурации в отдельных файлах. Может можно придумать какой-то способ, который брал бы эти файлы напрямую отсюда и перекидывал в папку с git/svn.. Это дало бы возможность не создавать отдельной временной конфигурации, из которой потом выгружается исходные коды модулей, что занимает больше половины общего времени синхронизации с git.
Также оставлю здесь ссылку на обсуждение выгрузки только измененных объектов. pumbaEO#5 (Измененные объекты смотреть по таблицам внутренней базы хранилища)

Ошибка в коде, функция ВыполнитьКоммитГит, авторДляГит

В функции ВыполнитьКоммитГит есть код:

авторДляГит = Автор;
Если Найти(Автор, "<") <= Найти(Автор, ">") Тогда // TODO можно также юзать регулярное выражение
    авторДляГит = Автор+" <"+Автор+"@localhost>"; // e-mail может быть удобен для поиска в связанных системах //авторДляГит = Автор+" <"+Автор+">";
            //Если Найти(Автор, "@") = 0 или Найти(Автор, "<") = 0 или Найти(Автор, ">") = 0 Тогда // TODO можно также юзать регулярное выражение
КонецЕсли; 
СтрокаДляЗаписи = "git commit -a --file="""+ИмяФайлаКомментария+""" --author="""+Автор+""" >"+ИмяФайлаЛогаКоммита;

Получается, что переменная авторДляГит не используется в создании финальной командной строки.

Ошибка синхронизации хранилища с git

При нажатии на кнопку "Синхронизировать хранилище с гит" вываливается исключение:

{ВнешняяОбработка.ВыгрузкаКонфигурации1С.МодульОбъекта(2885)}: Переданный параметр (Нет) не является Истиной, а хотели, чтобы являлся.
Не заполнен комментарий. 2
ВызватьИсключение(СообщениеОшибки);

Включена отладка, вот ее содержимое:

"C:\Temp\6\Tool_1CD.09cb9b6b-1f96-429c-b28a-ba2966d3263e.exe" D:\1S2Git\1s_repo\DEV_SED_STORE\1cv8ddb.1CD -q -ne -ex D:\1S2Git\tmp\v83up_a660283e-019d-48a6-843e-884973d65d00.tmp\ VERSIONS;USERS
VERSION {

Вот скрин настроек:
http://screencast.com/t/S6ew85dgTf9v

Папка "D:\1S2Git\DEV_SED_STORE" непуста, там уже лежит одна версия сорцов. Помещал вручную (скорее всего именно из-за этого ошибка и вываливается), потому как автоматом выдавало другую ошибку при первом помещении:

{ВнешняяОбработка.ВыгрузкаКонфигурации1С.МодульОбъекта(2885)}: Переданный параметр (Нет) не является Истиной, а хотели, чтобы являлся.
синхронизация с Git, версия <1> - не удалось выполнить ВыполнитьКоммитГит
ВызватьИсключение(СообщениеОшибки);

Полный лог первого помещения:

"C:\Temp\6\Tool_1CD.5ce23aa0-dd05-4557-a6bb-46dfd829593b.exe" D:\1S2Git\1s_repo\DEV_SED_STORE\1cv8ddb.1CD -q -ne -ex D:\1S2Git\tmp\v83up_af46ad87-df66-4394-abe8-eb0cfde0222b.tmp\ VERSIONS;USERS
Начало 15.07.2014 16:55:13
"C:\Temp\6\Tool_1CD.54d575f6-3a47-413a-b1ba-2ec51ed459ea.exe" "D:\1S2Git\1s_repo\DEV_SED_STORE\1cv8ddb.1CD" -q -ne -drc 1 "D:\1S2Git\tmp\v83up_c0ac1912-bf64-47d7-831c-b5701235d349\v1.cf"
Начало создать базу 15.07.2014 16:55:28
"C:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8.exe" CREATEINFOBASE  File="D:\1S2Git\tmp\v83up_4bf98c9a-6c3f-4f22-9fce-5a2c28c496ab" /Lru /Out "D:\1S2Git\tmp\app_0283577c-30da-4b01-918c-a113dfe4eeeb.log"
"C:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8.exe" DESIGNER  /F "D:\1S2Git\tmp\v83up_4bf98c9a-6c3f-4f22-9fce-5a2c28c496ab" /LoadCfg"D:\1S2Git\tmp\v83up_c0ac1912-bf64-47d7-831c-b5701235d349\v1.cf" /Lru /Out "D:\1S2Git\tmp\app_0283577c-30da-4b01-918c-a113dfe4eeeb.log"
Завершение: создать базу 15.07.2014 16:57:25
ВыгрузитьМодули: команда "C:\Program Files (x86)\1cv8\8.3.4.437\bin\1cv8.exe" DESIGNER  /F "D:\1S2Git\tmp\v83up_4bf98c9a-6c3f-4f22-9fce-5a2c28c496ab"  /Visible /DumpConfigToFiles"D:\1S2Git\tmp\v83up_79df8e92-3f6c-4587-94ca-16c97ff777f8" /Lru /Out"D:\1S2Git\tmp\app_3c060d3f-7d8f-419e-9db3-161b8e3e6491.log"
РазложитьМодули1СПоПапкамСогласноИерархииМетаданных: команда taskkill /im TGitCache.exe  /T /F
Слишком длинное имя:ИспользоватьДополнительныеОтчетыИОбработкиСозданиеСвязанныхОбъектов длина:67
Старое имя:ИспользоватьДополнительныеОтчетыИОбработкиСозданиеСвязанныхОбъектов новое имя:ИспользоватьДополнительныеОтчетыИОбработкиСозданиеСвяза~67
Слишком длинное имя:ИспользоватьДополнительныеОтчетыИОбработкиСозданиеСвязанныхОбъектов длина:67
Старое имя:ИспользоватьДополнительныеОтчетыИОбработкиСозданиеСвязанныхОбъектов новое имя:ИспользоватьДополнительныеОтчетыИОбработкиСозданиеСвяза~67
Завершение 15.07.2014 17:00:55, Общее время: 5,7 мин.
ВыполнитьКоммитГит: команда D:\1S2Git\tmp\v83up_e6dc6570-e834-4040-a489-e76ca169b1bd.bat
ВыполнитьКоммитГит: текст файла запуска 
cd /d "D:\1S2Git\DEV_SED_STORE\"
set GIT_AUTHOR_DATE="2013-05-15 05:02:36"
git add .
git commit -a --file="D:\1S2Git\tmp\v83up_c411a9d8-f4ea-4918-8846-4c65bd367879.txt" --author="Тестовый <[email protected]>" >D:\1S2Git\tmp\v83up_2ebfae98-8576-4b1a-968e-a737d12c3c70.log
exit /b %ERRORLEVEL%

ВыполнитьКоммитГит: Вызов git commit вернул код <9 009> 
ВыполнитьКоммитГит: Не удалось получить лог команды git commit

В общем прошу что-нибудь сделать, чтобы работало.

как сейчас развивается проект?

@allustin @EvilBeaver @pumbaEO
Проясните ситуацию - как сейчас развивается проект?

По коммитам я вижу, что Женя ведет доработку в epf-файле
Мы с Андреем пользуемся unpack.os (и сопутствующими скриптами для 1Script) из проекта и у нас есть уже боевое использование на куче проектов в известной компании.
А Леша запустил новый проект vanessa-unpack

что-то много расхождений

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.