Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
JohnyDeath opened this issue Jul 25, 2014 · 4 comments
Closed

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

JohnyDeath opened this issue Jul 25, 2014 · 4 comments

Comments

@JohnyDeath
Copy link

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

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

@pumbaEO
Copy link

pumbaEO commented Jul 25, 2014

это так и задумано, кто-то баловался с объединением версий в хранилище.
просто вручную исправь файл versions, номер на 360 и дальше пойдет
инкримент.
25.07.2014 22:55 пользователь "Evgeny Martynenkov" notifications@github.com
написал:

У меня нарисовалось в хранилище пропажа некоторых помещений. Возможно их
вообще и не было и это какая-то фишка хранилища 1С. Вот как оно выглядит из
ToolCD
[image: {Хранилище с пропусками версий]
https://camo.githubusercontent.com/6ec3a9addaffc9d69c7b71264cc9646c8e2ea1f1/687474703a2f2f636f6e74656e742e73637265656e636173742e636f6d2f75736572732f6d657667656e792f666f6c646572732f4a696e672f6d656469612f37313764366634622d306239372d343831372d613937312d3063643862356665306437642f323031342d30372d32355f323334392e706e67

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


Reply to this email directly or view it on GitHub
#7.

@JohnyDeath
Copy link
Author

Но там видишь сколько баловались? Первый нормальный идет с 399.
Я хотел на выходные оставить распаковку всего, а тут вот такая вот подлянка

@pumbaEO
Copy link

pumbaEO commented Jul 25, 2014

Но тогда не будем знать в оперативной синхронизации когда остановиться ...
25.07.2014 23:05 пользователь "Evgeny Martynenkov" notifications@github.com
написал:

Но там видишь сколько баловались? Первый нормальный идет с 399


Reply to this email directly or view it on GitHub
#7 (comment)
.

@JohnyDeath
Copy link
Author

Вот так вроде бы нормально будет:

Функция СинхронизироватьХранилищеКонфигурацийСГит(СтруктураПараметров) Экспорт
    Перем МаксимальнаяВерсияДляРазбора;

    МаксимальнаяВерсияДляРазбора = 0;

    ТаблицаИсторииХранилища = Неопределено;
    ТаблицаАвторовХранилища = Неопределено;
    ТаблицаПользователейГит = Неопределено;
    ТекущаяВерсия = "";

    Если НЕ ПолучитьТаблицуВерсийИзФайлаХранилищаГит(СтруктураПараметров.КаталогВыгрузки, СтруктураПараметров.ПутьКФайлуХранилища1С, ТаблицаИсторииХранилища, ТаблицаАвторовХранилища, ТаблицаПользователейГит, ТекущаяВерсия) Тогда
        Возврат Ложь;
    КонецЕсли;

    //ТекущаяВерсия = СтруктураПараметров.ТекущаяВерсия;
    //ТаблицаИсторииХранилища = СтруктураПараметров.ТаблицаИсторииХранилища;

    Если СтруктураПараметров.Свойство("МаксимальнаяВерсия") Тогда
        Попытка
            ЧислоВерсийПлюс = Число(СтруктураПараметров.МаксимальнаяВерсия);
        Исключение
            ЧислоВерсийПлюс = 0;
        КонецПопытки;
    КонецЕсли;
    Если ЧислоВерсийПлюс>0 Тогда
        МаксимальнаяВерсияДляРазбора = ТекущаяВерсия + ЧислоВерсийПлюс;
    Иначе
        МаксимальнаяВерсияДляРазбора = ТаблицаИсторииХранилища[ТаблицаИсторииХранилища.Количество()-1].НомерВерсии;
    КонецЕсли;
    СледующаяВерсия = ТекущаяВерсия + 1;    

    успешно = Истина;

    Пока успешно Цикл

        СтрокаВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии");
        Если СтрокаВерсии <> Неопределено Тогда
            ИтераторПропусков = 0;

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

            успешно = ЗаписатьФайлВерсийГит(СтруктураПараметров.КаталогВыгрузки+"\VERSION",СледующаяВерсия);
                Проверить(успешно, "Не удалось записать файл версии для "+ СледующаяВерсия);

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

            //успешно = РазложитьМодули1СпоНомеруВерсииХранилища1С(СтруктураПараметровДляКоммит);
            Проверить(успешно, "синхронизация с Git, версия <"+СледующаяВерсия+"> - не удалось выполнить РазложитьМодули1СпоНомеруВерсииХранилища1С"); 
            //  
            успешно = ВыполнитьКоммитГит(СтруктураПараметров.КаталогВыгрузки, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата);
            Проверить(успешно, "синхронизация с Git, версия <"+СледующаяВерсия+"> - не удалось выполнить ВыполнитьКоммитГит");

            ТекущаяВерсия = СледующаяВерсия;            
        КонецЕсли;

        СледующаяВерсия = СледующаяВерсия + 1;

        Если (СледующаяВерсия > МаксимальнаяВерсияДляРазбора) Тогда
            Прервать;
        КонецЕсли;

    КонецЦикла;

    Возврат Истина;

КонецФункции

Завтра на работе попробую перепроверить еще раз, прогнать ваши тесты и сделать пул-реквест

pumbaEO pushed a commit that referenced this issue Jul 28, 2014
@pumbaEO pumbaEO closed this as completed Jul 28, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants