Имя: Пароль:
1C
1С v8
Конвертация УПП с 8.1 в 8.2 как обойти такие грабли
0 Trance_1C
 
02.11.11
10:28
Первый трабл это выражение "ОбработкаЗаполнения" пристуствующее во всех модулях документов.

Второй трабл это "Различные и Упорядочить" в запросах.

В идеале хочу найти автоматизированное решение для обоих проблем.
если есть такая обработка на ИТС или еще где подскажите как называется? :)

Попытался глобально во всей конфигурации переименовать метод "ОбработкаЗаполнения" в "нОбработкаЗаполнения"
и соответственно перестали заполняться вводимые на основании документы, например Реализация на основании заказа. Хотя все обращения во всех модулях соответственно переименованы. Почему перестала непонятно.
кто как конвертировал может инструкция есть?
1 Maxus43
 
02.11.11
10:30
обработка по поиску есть на ИТС, автоисправления нет, ибо это не реально
2 Maxus43
 
02.11.11
10:30
в самой статье про эти грабли есть ссылка на обработку
3 Maxus43
 
02.11.11
10:31
>>переименовать метод "ОбработкаЗаполнения" в "нОбработкаЗаполнения"
а это что за ересь то? там смысл косяка не в этом... статью то читал хоть?
4 Maxus43
 
02.11.11
10:32
>>Почему перестала непонятно.
потому что это предопределённая прцедура, вызывается при методе Заполнить
5 John83
 
02.11.11
10:34
(4) по-моему по той причине, что нужно это ручками делать.
Например, если в форме удалить процедуру ПриОткрытии(), а потом в модуле вручную ее прописать, то она перестанет работать.
6 John83
 
02.11.11
10:34
(0) так оставь режим совместимости с 8.1
PS я правильно понимаю, что на 1.3 пока что обновляться не будете?
7 Maxus43
 
02.11.11
10:35
(5) у формы можно, у объекта так нельзя. а суть в том что это переименование вобще не надо делать
8 Maxus43
 
02.11.11
10:35
автор статью про переход не читал с ИТС короче
9 Trance_1C
 
02.11.11
10:36
(7)Ок, а что надо делать, статью не читал, диск не устанавливается :(
10 Trance_1C
 
02.11.11
10:37
на 1.3 это УПП перевести не реально, подскажите плиз что там делать,
а ИТС предатель при установке просит ключ диска, я хз где его искать у меня только коды коробок...
11 Trance_1C
 
02.11.11
10:40
(4) Ерунда откачусь к конфиге из хранилища, главное понять что с этим делать у меня там 795 ошибок...
12 Maxus43
 
02.11.11
10:40
не копипастится с ИТС статья, печатать я ж не буду. Пока не прочитаеш статью - не пытайся делать перевод вобще, там не так всё плохо, переименований массовых не требуется
13 Maxus43
 
02.11.11
10:42
(11) суть в том что в ОбработкаЗаполнения обязательно должен быть код по определению типа источника, что в типовых в основном уже есть
14 Trance_1C
 
02.11.11
10:44
(12) а в каком разделе ее искать? ИТС ПРОФ?
15 Trance_1C
 
02.11.11
10:44
Здесь бы эта статья не помешала...
16 Maxus43
 
02.11.11
10:45
тоже долго искал первый раз... в конфигурировании помоему. нет в дисководе ИТС) лезть далеко
17 Maxus43
 
02.11.11
10:47
а вобще поэтапно делается, сначала (6), потом уж как всё устаканиться потихоньку делать доработки кода чтобы убрать режим совместимости
18 Trance_1C
 
02.11.11
11:20
(16) В конфигурировании это на профе или партнерском?
на профе такого раздела не вижу
19 Maxus43
 
02.11.11
11:30
на профе, непомню я точно, поиском вобще по "8.2" искал, в куче там нашёл
20 shuhard
 
02.11.11
11:36
(18) http://its.1c.ru/db/metod81#content:3272:1

Адаптация конфигураций "1С:Предприятия 8.1" к работе на платформе "1С:Предприятие 8.2" без режима совместимости с версией 8.
21 saski
 
02.11.11
17:46
Подскажите как конвертнуть упп базу для 8.2, если в процессе конвертации
1с вылетает без всяких сообщений. В чем могут быть проблемы. Базу проверял всякими всевозможными способами все хорошо, но ничего не получается
22 эцп
 
02.11.11
20:55
(21) Проблема может быть в релизе платформы. Какой у вас?
23 эцп
 
02.11.11
20:58
(0) Уважаемый All, объясните, в чем у автора топика проблемы? Сам недавно переводил УПП 8.1 на 8.2 с переходом на 1.3 - никаких (непреодолимых) проблем не встрелилю
24 Trance_1C
 
03.11.11
05:35
Статья с ИТС.
Адаптация конфигураций 1С:Предприятия 8.1 к работе на платформе 1С:Предприятие 8.2
без режима совместимости с версией 8.1
В документе приведена методика по обеспечению совместимости прикладных решений, разработанных на платформе 1С:Предприятие 8.1, с платформой
1С:Предприятие 8.2. Данную процедуру рекомендуется выполнять перед конвертацией конфигурации в 1С:Предприятие 8.2 и отключением режима
совместимости с 1С:Предприятием 8.1.
По каждой проблеме несовместимости дается краткая инструкция по выявлению "проблемных" мест в конфигурации и выполнению адаптации. Выявить
"проблемные" места поможет обработка, приведенная в конце данной статьи.
Запрос с ключевым словом РАЗЛИЧНЫЕ
Запрос, в котором указано ключевое слово РАЗЛИЧНЫЕ, а в предложении УПОРЯДОЧИТЬ ПО указано выражение, отсутствующее в списке выборки,
считается некорректным; и при исполнении такого запроса в 1С:Предприятии 8.2 будет выдана ошибка.
Для устранения несовместимости необходимо:
? выявить все запросы с РАЗЛИЧНЫЕ и УПОРЯДОЧИТЬ ПО с помощью приложенной обработки;
? дополнить список выражений в ВЫБРАТЬ выражениями из раздела УПОРЯДОЧИТЬ ПО, если требуется;
? тем самым получим тот же результат, который был в 1С:Предприятии 8.1, но при этом запрос станет синтаксически правильным.
Например, запрос
Копировать в буфер обмена
ВЫБРАТЬ РАЗЛИЧНЫЕ
Сотрудник,
ВидРасчета ...
УПОРЯДОЧИТЬ ПО
Сотрудник.Наименование,
Сотрудник.ДатаРождения,
ВидРасчета.Код
синтаксически верен, так как УПОРЯДОЧИТЬ ПО выполняется по полям ссылок Сотрудник и ВидРасчета, а такие ссылки в ВЫБРАТЬ уже есть.
Анализа типа параметра обработчика ОбработкаЗаполнения
В 1С:Предприятии 8.2 обработчик ОбработкаЗаполнения требует анализа типа приходящего в качестве параметра значения.
Для устранения несовместимости необходимо:
? выявить все обработчики ОбработкаЗаполнения (поможет приложенная обработка);
? убедиться в том, что в коде обработчика есть анализ типа параметра;
? если нет – вставить в код условие вида
Если ТипЗнч(            Основание) = Тип("…"),
где Основание – параметр обработчика ОбработкаЗаполнения.
Дополнительный вызов обработчика ОбработкаЗаполнения
В 1С:Предприятии 8.2 обработчик ОбработкаЗаполнения вызывается при программном вводе нового элемента с помощью вызова методов
ПолучитьФормуНовогоДокумента, ПолучитьФормуНовогоЭлемента и аналогичных. В результате чего, следующий код дважды вызовет обработчик
объекта ОбработкаЗаполнения:
Копировать в буфер обмена
ФормаСчетаФактуры = Документы.СчетФактуры.ПолучитьФормуНовогоДокумента(); // обработчик ОбработкаЗаполнения вызывается автоматически
ФормаСчетаФактуры.Заполнить(ДокументОснованиеСсылка); // приводит к повторному вызову обработчика ОбработкаЗаполнения
ФормаСчетаФактуры.Открыть();
Для устранения несовместимости необходимо:
? выявить все вызовы метода Заполнить(), которые применяются совместно с методами вида ПолучитьФормуНового;
? заменить вызов ПолучитьФормуНового на пару вызовов ПолучитьФорму и Открыть. Например:
Копировать в буфер обмена
ОбъектСчетаФактуры = Документы.СчетФактуры.СоздатьДокумент();
ОбъектСчетаФактуры.Заполнить(ДокументОбъект.Ссылка);
ФормаСчетаФактуры = ОбъектСчетаФактуры.ПолучитьФорму();
ФормаСчетаФактуры.Открыть();
Конфликт имен методов и свойств
Нельзя использовать имена переменных, совпадающие с новыми методами и свойствами, которые появились в 1С:Предприятии 8.2:
? перечисления ГруппировкаКолонок и ОтображениеКнопки;
? метод ПроверитьЗаполнение у объектов, манипулирующих данными (СправочникОбъект, НаборЗаписей и т.п.)
? новые методы глобального контекста:
? ПредопределенноеЗначение(),
? СмещениеЛетнегоВремени(),
? ЗаблокироватьДанныеДляРедактирования(),
? РазблокироватьДанныеДляРедактирования(),
? ПолучитьЗначенияОтбораЖурналаРегистрации(),
? УстановитьПривилегированныйРежим(),
? ПривилегированныйРежим().
Для устранения несовместимости необходимо найти переменные, процедуры или функции с такими названиями (с помощью приложенной обработки),
переименовать их и исправить все их использования в конфигурации.
Также нельзя использовать имена картинок, совпадающие с новыми картинками из библиотеки картинок:
ВАЖНО!
Не требуется переносить поля из УПОРЯДОЧИТЬ ПО в ВЫБРАТЬ, если в УПОРЯДОЧИТЬ ПО написано выражение "от ссылки", например,
Товар.Наименование и при этом в предложении ВЫБРАТЬ поле Товар уже есть.


? НастройкиОтчета,
? Форма,
? ХранилищеНастроек,
? АктивныеПользователи,
? ЖурналРегистрации,
? ЖурналРегистрацииПоПользователю,
? ПоказатьДанные,
? Свойства.
Для устранения несовместимости необходимо выявить такие картинки (поможет приложенная обработка), переименовать и исправить все их использования в
конфигурации.
Поле Тип у таблиц журналов документов
В 1С:Предприятии 8.2 для таблиц журналов документов реализовано виртуальное поле Тип, содержащее тип документа. Для устранения несовместимости
необходимо:
? выявить журналы с такой графой (с помощью приложенной обработки);
? переименовать и исправить все их использования в коде конфигурации.
Изменение поведения операции языка запросов ВЫРАЗИТЬ
В 1С:Предприятии 8.2 операция языка запросов ВЫРАЗИТЬ возвращает строку переменной длины (без концевых пробелов) при приведении к типу
СТРОКА. Для устранения несовместимости необходимо:
? найти запросы с ВЫРАЗИТЬ;
? проанализировать, является ли получаемое выражение результатов выборки (находится в ВЫБРАТЬ);
? проверить, как обрабатывается соответствующее поле результата запроса – нет ли там кода, опирающегося на то, что длина получаемой строки равна
заданной в запросе.
Схемы компоновки данных, содержащие объединяемые наборы данных
В 1С:Предприятии 8.2 для схем компоновки данных, которые содержат объединяемые наборы данных, изменено поведение при отборе по полю, которое
присутствует только в одном объединяемом наборе данных. Например, имеется набор данных – объединение, в котором имеется два дочерних набора данных:
? набор данных Продажи, с полями Контрагент, Номенклатура, Сумма
? и набор данных Оплата, с полями Контрагент, Сумма
задан отбор Номенклатура Равно "Стол". Тогда результат компоновки будет содержать только записи из набора данных Продажи, удовлетворяющие
условию отбора.
В конфигурациях прежнее поведение системы компоновки данных "обходилось" путем ввода "фиктивных" полей в объединяемые наборы данных.
Для устранения несовместимости необходимо:
? выявить все схемы компоновки данных с наборами данных – объединениями;
? если требуется сохранить текущее поведение 1С:Предприятие 8.1, завести одинаковый набор полей в объединяемых наборах данных;
? если текущее поведение 1С:Предприятие 8.1 считается ошибкой – ничего не предпринимать (записать ошибку).
Изменение имен идентификаторов групп полей настройки СКД
В 1С:Предприятии 8.2 идентификаторы групп полей настройки СКД были изменены на русскоязычные:
? "SystemFields" -> "СистемныеПоля"
? "SerialNumber" -> "НомерПоПорядку"
? "GroupSerialNumber" -> "НомерПоПорядкуВГруппировке"
? "Level" -> "Уровень"
? "LevelInGroup" -> "УровеньВГруппировке"
? "GroupPercent" -> "ПроцентВГруппе"
? "OverallPercent" -> "ПроцентОбщий"
? "DataParameters" -> "ПараметрыДанных"
? "UserFields" -> "ПользовательскиеПоля"
Для устранения несовместимости необходимо:
? заменить в коде старые идентификаторы на новые. Например,
Копировать в буфер обмена
Если ДоступноеПоле.Поле <> Новый ПолеКомпоновкиДанных("SystemFields") Тогда
заменить на
Копировать в буфер обмена
Если ДоступноеПоле.Поле <> Новый ПолеКомпоновкиДанных("СистемныеПоля") Тогда
Ограничение длины реквизита метаданных типа "Строка фиксированной длины"
В 1С:Предприятии 8.2 реквизит метаданных типа "Строка фиксированной длины" не может быть длиной более 100 символов. Для устранения
несовместимости необходимо:
? выявить все такие реквизиты с помощью приложенной обработки,
? если такие реквизиты есть, необходимо перепроектировать функционал:
? заменить на строки переменной длины
? и провести анализ использования данных этих реквизитов – нет ли кода, рассчитывающего, на фиксированную длину (наличие хвостовых
пробелов).
Проверка заполнения стандартного реквизита Наименование
В 1С:Предприятии 8.2 изменено поведение стандартного реквизита Наименование справочников, планов видов характеристик, планов счетов, планов
видов расчета и задач. По умолчанию свойство "Проверка заполнения" установлено в значение "Выдавать ошибку". Для устранения несовместимости
необходимо:
? выявить все формы элементов объектов, в которых реквизит Наименование не редактируется (отсуствует на форме),
? убедиться, что реквизиту Наименование устанавливается значение перед записью в форме. Если реквизит Наименование не редактируется
пользователем, то его следует заполнить из кода на встроенном языке.
Удаление некоторых свойств табличного документа
В 1С:Предприятии 8.2 удалены свойства ЦветФонаГруппировки, ЦветТекстаГруппировки, ЦветФонаЗаголовков и ЦветТекстаЗаголовков
табличного документа. Для устранения несовместимости необходимо:
? выявить использование таких идентификаторов в текстах модулей (с помощью приложенной обработки),
? если они есть, необходимо перепроектировать функционал, избавившись от их использования.
Изменение представления приложения 1CV8
В 1С:Предприятии 8.2 изменено представление приложения 1CV8 – вместо "1С:Предприятие" используется "Толстый клиент":
? в методе ПредставлениеПриложения
? в системных формах.
Для устранения несовместимости необходимо:
? проверить наличие строкового литерала "1С:Предприятие" в модулях (с помощью приложенной обработки);
? проанализировать не сравнивается ли он с именем приложения;
? см. метод ПолучитьСоединенияИнформационнойБазы и свойство ИмяПриложения.
Изменения имени класса COM-соединителя
В 1С:Предприятии 8.2 изменено        имя класса COM-соединителя – вместо "V81.COMConnector" используется "V82.COMConnector".
Для устранения несовместимости необходимо выявить все вхождения "V81.COMConnector" и заменить их на вызов функции, получающей имя COM-
соединителя универсально:
Копировать в буфер обмена
// Вернуть имя COM-класса для работы с 1С:Предприятием 8 через COM-соединение.
Функция ИмяCOMСоединителя() Экспорт
СисИнфо = Новый СистемнаяИнформация;
ПодстрокиВерсии = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СисИнфо.ВерсияПриложения, ".");
Возврат "v" + ПодстрокиВерсии[0] + ПодстрокиВерсии[1] + ".COMConnector";
КонецФункции
Изменение поведения метода Заблокировать объекта БлокировкаДанных
В 1С:Предприятии 8.2 изменено поведения метода Заблокировать() объекта БлокировкаДанных. Если объект БлокировкаДанных был неправильно
проинициализирован, то возникает ошибка о неверном типе устанавливаемого значения. Ранее в 1С:Предприятии 8.1 в этом случае ошибка не возникала, и
установка управляемой блокировки не производилась.
Например, если блокировка по типу МоментВремени для реквизитов типа Дата ранее игнорировалась, то теперь следующий код приводит к ошибке:
Копировать в буфер обмена
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ТоварыВНаличии");
ЭлементБлокировки.УстановитьЗначение("Склад", Склад);
ЭлементБлокировки.УстановитьЗначение("Период", Новый МоментВремени(Дата, Ссылка));
Блокировка.Заблокировать();
выдает ошибку:
{Документ.ПриходныйОрдер.МодульОбъекта(<номер строки>)}: Ошибка при вызове метода контекста (Заблокировать): Неверный тип устанавливаемого
значения для поля блокировки
РегистрНакопления.ТоварыВНаличии.Период - Момент времени
по причине:
Неверный тип устанавливаемого значения для поля блокировки
РегистрНакопления.ТоварыВНаличии.Период - Момент времени
Для устранения несовместимости необходимо:
? выявить все вызовы метода контекста Заблокировать(),
? убедиться, что объект БлокировкаДанных инициализируется допустимым образом. В частности, вместо типа МоментВремени в качестве значения
блокировки используется тип Дата.
Изменение поведения свойств Вывод и ОриентацияСтраницы табличного документа
В 1С:Предприятии 8.2 попытка присвоить некорректные значения свойствам Вывод и ОриентацияСтраницы табличного документа приводит к ошибке.
Ранее в 1С:Предприятии 8.1 в этом случае ошибка не возникала, а некорректное присваивание игнорировалось.
Для устранения несовместимости необходимо:
? выявить все места присваивания свойств Вывод и ОриентацияСтраницы табличного документа,
? убедиться, что присваиваются допустимые значения.
Увеличены отступы слева и справа от текста в ячейках табличного документа
При том же шрифте и тех же размерах колонки текст ячейки табличного документа может не помещаться по ширине. Для устранения несовместимости
необходимо:
? выявить колонки табличного элемента, которым устанавливается фиксированная ширина без возможности изменения пользователем,
? увеличить ширину таких колонок, либо разрешить изменение их ширины в режиме 1С:Предприятия.
Удаление свойства подсистемы некоторых объектов метаданных
Свойство Подсистемы некоторых объектов метаданных (таких как Справочник, Документ и т.п.) не поддерживается в режиме совместимости "Не
использовать".
Для устранения несовместимости необходимо:
? Выявить все обращения к этому свойству, для этого использовать поиск подстроки ".Подсистемы" ;
? Отказаться от использования свойства Подсистемы, пересмотрев логику соответствующего модуля. Вместо этого свойства следут использовать
свойство Состав у объекта метаданных Подсистема.
Обработка для проверки совместимости конфигураций с 8.2
Обработка ПроверкаКонфигурацииДляПереводаНа82.epf для конфигураций на платформе 1С:Предприятии 8.1 находится в каталоге:
1CIts/EXE/EXTREPS/Uniprocs82/
25 saski
 
03.11.11
10:50
(22) Версия платформы точно не причем. Брал пустую УПП 1.2.32
демо версию на 8,1
затем открывал ее в 8.2 все работает конвертация базы проходит.
затем тоже самое делаю с рабочей упп 1.2.32 немного доработанную
не проходит вылетает.
Уже все ошибки по базе исправил. ничего не получается.
26 John83
 
03.11.11
11:10
(25) попробуй убрать все изменения в модулях, в крайнем случае объедини с типовой и конвертируй
27 disk-2008
 
03.11.11
11:22
Подскажите, пожалуйста, можно ли использовать эту обработку с ИТС для поиска несовместимости во внешних печатных формах.
Форм очень много и вручную слишком долго получится.
28 disk-2008
 
03.11.11
11:28
(27)+
Или, если эту обработку использовать невозможно, как проверить на совместимость внешние печатные формы?
Сейчас у меня все работает в режиме совместимости с 8.1.
Хочу отключить.
29 эцп
 
03.11.11
17:46
(25) Я бы все равно попробовал на разных версиях (сам конвертировал на 8.2.14.533, предлагаю еще проверить на 8.2.13.219).
Еще варианты:
1. Прогнать базу на ошибки со следующими настройками: http://i31.fastpic.ru/big/2011/1103/67/64abc1bd20309b92758ccbf8eaf50f67.png
2. Выяснить, проблема в cf или в базе: создаем новую базу, загружаем в неё cf из рабочей, конвертируем из 8.1 в 8.2.
3. Попробовать загрузить базу в SQL (или она уже там? если там, конвертнуть файловый (первый пункт выполнять в файловом варианте обязательно)) и конвертнуть в этом режиме (в этом режиме больший контроль над целостностью данных).

Варианты с потерей данных:
1. Попробовать залить от 1С конфигурацию, без изменений. Конвернтуть.
30 disk-2008
 
03.11.11
22:16
Так никто не проверял внешние печатные формы?
31 disk-2008
 
03.11.11
22:57
Все без проверки режим совместимости отключали?
32 disk-2008
 
07.11.11
10:34
Вопрос остался.
Скажите, пожалуйста, кто как проверяет совместимость именно для внешних печатных форм.
33 disk-2008
 
07.11.11
13:33
Работает, но, хотелось бы проверить какой-нибудь обработкой.