Имя: Пароль:
1C
 
Сравнение типов реквизитах при поднятии релиза
0 ИС-2
 
14.12.15
14:12
Чтобы выделить добавленные типы приходиться делать такое извращение. Открываем отчет сравнения по типам реквизита. Ручками выделяем изменные типы в основной конфигурации. Сохраняем в текстовый файл 1.txt. Тоже самое делаем по типам в измененной нами конфе. Получаем файл 2.txt. Запускаем типовое сравнение (Файл - сравнить файлы) файлов.
Видим изменения. Переносим их в новую конфу.

Есть ли удобный механизм для сравнения типов в реквизитах между типовой конфой и изменной.
Т.е надо вывести типы, которые были добавленые нами.
1 Fragster
 
гуру
14.12.15
14:13
я без сохранения в нотепад++ копирую в две вкладки и делаю плагины-compare
2 ИС-2
 
14.12.15
14:16
(1) хорошая вещь. Ввиде обработки 1C нет?
3 Fragster
 
гуру
14.12.15
14:16
(2) нету :)
4 hhhh
 
14.12.15
14:19
(0) а Объединить кнопки там разве нет?
5 Лефмихалыч
 
14.12.15
14:22
была б у меня такая задача, я бы автоматизировал. Вариантов до едрени матери:
1. внешние всякие штуки типа (1)
2. развернуть пустую базу с обновкой и при помощи com-соединения с боевой конфой сравнить кодом
3. выгрузка конфигурации в xml-файлы
4. свой вариант
6 ИС-2
 
14.12.15
14:31
(4) не вижу, что за кнопка. Или про кнопку "Выполнить"
(5) значит сейчас накидаю обработку для вывода отличий
7 hhhh
 
14.12.15
14:42
(6) при обновлении. Везде же есть Взять из новой конфигурации, взять из сновной, Объединить.
8 ИС-2
 
14.12.15
14:49
(7) странно, у меня почему-то доступно только взять из файла
9 hhhh
 
14.12.15
14:51
а точно. Вы же не обновление делаете, а сравнение файлов.
10 ИС-2
 
14.12.15
15:14
если кому будет нужно. В сравнении по типам, сохраняем в mxl с признаком подробно по адресу ПутьКОтчетуСравнения и запускаем код:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    ОчиститьСообщения();
    
    ФайлОтчета = Новый ХранилищеЗначения(ПутьКОтчетуСравнения);
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ПутьКОтчетуСравнения);
    //ТабДок.Показать();
    
    НКолКонф = 3;
    Для НСтр = 1 по ТабДок.ВысотаТаблицы Цикл
        Текст = ТабДок.Область(НСтр,НКолКонф,НСтр,НКолКонф).Текст;
        
        ТекстТипов = ТабДок.Область(НСтр+1,НКолКонф+1,НСтр+1,НКолКонф+1).Текст;
        Если Текст = "Основная конфигурация" Тогда
            МасНашаКонф = РазложитьСтрокуВМассивПодстрок(ТекстТипов,Символы.ПС);
        ИначеЕсли Текст = "Конфигурация поставщика" Тогда
            МасИсходнаяКонф = РазложитьСтрокуВМассивПодстрок(ТекстТипов,Символы.ПС);
        КонецЕсли;    
    КонецЦикла;    
    
    Сообщить("Мы добавили");
    Для Каждого СтрТип из МасНашаКонф Цикл
        Если МасИсходнаяКонф.найти(СтрТип) = Неопределено Тогда
            Сообщить(СтрТип);    
        КонецЕсли;    
    КонецЦикла;
    
    Сообщить("Мы удалили");
    Для Каждого СтрТип из МасИсходнаяКонф Цикл
        Если МасНашаКонф.найти(СтрТип) = Неопределено Тогда
            Сообщить(СтрТип);    
        КонецЕсли;    
    КонецЦикла;
    ;    
КонецПроцедуры


Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
    
    МассивСтрок = Новый Массив();
    Если Разделитель = " " Тогда
        Стр = СокрЛП(Стр);
        Пока Истина Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = СокрЛ(Сред(Стр,Поз));
        КонецЦикла;
    Иначе
        ДлинаРазделителя = СтрДлина(Разделитель);
        Пока Истина Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = Сред(Стр,Поз+ДлинаРазделителя);
        КонецЦикла;
    КонецЕсли;
    
КонецФункции
11 ИС-2
 
15.12.15
07:25
(9) можно ли как-то получить возможность, чтобы был доступен пункт не только "взять из файла", но и "объединить"?
12 Мимохожий Однако
 
15.12.15
07:39
(0)Любопытная штука. Однако вопрос: почему возникает такая задача при каждом обновлении? Я не сталкивался с подобной задачей, поэтому и вопрос.
13 ИС-2
 
15.12.15
08:09
т.к для удобства пользователей или нового функционала приходиться менять типовые документы
14 Мимохожий Однако
 
15.12.15
08:16
(13)Разве нет возможности поменять так, чтобы потом не заниматься подобным сравнением?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн