|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от FE
![]() Думаю, что это в ветку по платформе. Знающие 1С, расскажите, пожалуйста, как реализовано обновление? Имею ввиду вот что: предприятие ведёт разработку в типовой конфигурации, приспосабливая её под свои нужды. Как в этом случае накатываются обновления, выпускаемые собственно 1С?
Верно ли, что при самостоятельном изменении объектов они "снимаются с поддержки"? Если нет, то при каких условиях можно накатывать стандартные обновления, а при каких нельзя? Существует ли механизм сравнения, что именно было изменено программистом предприятия по сравнению с типовой конфигурацией? Да, в конфигураторе 1С реализован механизм сравнения. Можно выборочно применять/не применять изменения в новой версии. Самое сложное - код модулей. Есть режим поиска расхождений в текстах, но трудоемкость процесса достаточно ощутимая. Также непросто анализировать изменения в формах. Но при переходе к декларативному описанию форм в 8.2 проблема становится менее острой. |
|
![]() |
#2 |
Участник
|
А в чем именно? Русские буквы в названиях методов ипеременных поддерживаются?
Цитата:
Или я путаю? Цитата:
![]() Самое сложное в Аксапте поднимать именно формы и отчеты. Инструменты сравнения в 1С доделают (надеюсь) А вот с формами и отчетами (особенно с отчетами) уже ничего не сделаешь - они в 1С гораздо сложнее устроены, чем в Аксапте. Тем более, что пару версий 1Совсцы будут по привычке отключать авторазмещение элементов на форме... А с отключенным авторазмещением простое добавление реквизита может привести к несовпадению всей формы. Upd: справедливости ради, нужно отметить, что в Аксапте отчеты перенесли в Reporting Service. Там никаких слоев. Там только cvs, который идет с самой VS. Но к нему надо привыкать. И чем кончится переход на Reporting Service с точки зрения легкости апгрейда - пока непонятно Последний раз редактировалось mazzy; 30.11.2009 в 17:59. Причина: дописал про Reporting Service в AX |
|
![]() |
#3 |
Участник
|
Сисой, всегда ли можно модифицировать объекты с сохранением поддержки? Я не разбираюсь в 1С, поэтому - что такое "код модулей"?
|
|
![]() |
#4 |
Administrator
|
Если грубо - то модуль - это набор исходных текстов методов класса (в понятии АХ), вынесеных в один общий текст. При этом - несвязанных между собой, без наследования. Модули бывают при форме и глобальные (т.е. с процедурами/функциями, доступными отовсюду). Собственно - модули эмм... это и есть весь код 1Са (все остальное - это дизайн).
У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз...
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#5 |
Участник
|
![]() Цитата:
Сообщение от sukhanchik
![]() Если грубо - то модуль - это набор исходных текстов методов класса (в понятии АХ), вынесеных в один общий текст. При этом - несвязанных между собой, без наследования. Модули бывают при форме и глобальные (т.е. с процедурами/функциями, доступными отовсюду). Собственно - модули эмм... это и есть весь код 1Са (все остальное - это дизайн).
У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз... ![]() По сравнению с семеркой, восьмерка научилась многому, но до Аксапты не дотягивает (с 2005 года работаю с MS Dynamics Ax 3 и 4), это мое мнение как разработчика относительно инструмента разрабтчика, не имею в виду различные доработанные конфигурации для 1С, в которых бухгалтерский учет и налоговый (для РФ) реализован лучше. В данный момент плотно работаю с 1с 8.1 Управление торговлей и ЗУП, сейчас в 1С нет такой большой ямы с кучей несвязанного кода, глобальный модуль, как это было в семерке, есть УЗЕЛ в МЕТАДАННЫХ называемый Общие модули. Там все процедуры и функции сгруппированы по назначению (см. рисунок http://files.mail.ru/5TSULP?t=1 ). Как пример, функции и процедуры работы с диалогом вынесены в один модуль "Работа с Диалогом", "РаботаСФайлами" и т.д.Это очень удобно с точки зрения разработчика. Вызов этих процедур и функций происходит автоматически, после того как в коде пишешь "РаботаСДиалогом." и ставишь точку выходят все доступные функции и процедуры для этого модуля. Чем то похоже на Аксапту с ее методами доступными для класса. У модуля есть возможность установки где выполнять код на сервере или на клиенте (есть свои ограничения, но это не важно), опять же аналогия на АОС. Ввели такой термин как подсистема, с возможностью устанавливать у каждого объекта конфигурации признак какой подсистеме он принадлежит (Денежные Средства, Налоговый учет и т.д.). Очень удобно работать с регистрами сведений (теперь нет объекта периодический, а есть периодический регистр сведений) и накоплений ("НДСсАвансов", "РеализацияУслуг" и т.д.), аналогия на кубы OLAP (в нужных Измерениях и по нужным ресурсам хранятся сведения которые создаются так называемыми регистраторами, документами), с помощью отборов инфа быстро сортируется. Улучшили возможность работы с таблицой значений (многомерный массив), как пример, для поиска нужных строк, достаточно передать в новый тип данных структура (опять же аналогия с аксаптой) нужные значения для колонок и массив отбирает нужные значения. X++: = ("Отметка, НомерЗаказа");
. = ;
. = .;
= .();
__________________
Denkt dran, dass jeder eurer Schritte auch durch die unsichtbare Welt fuehrt, und tut ihn so, dass ihr ihn bestehen koennt. Последний раз редактировалось Hans; 01.12.2009 в 11:04. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
![]() |
#6 |
Участник
|
Пример Hansa записывается еще короче:
X++: = .( ("Отметка, НомерЗаказа",,)); Чего нет в 1С, но и не может быть в силу ее объектных особенностей. Update recordset с SQL-синтаксисом. В 1С удобная фишка разыменования запросов. Запрос X++: Select Z.. From . as Z Также язык запросов 1С имеет интересное расширение Итоги (Total), Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги. |
|
![]() |
#7 |
Участник
|
Цитата:
Эта "удобная фикша" приводит к тому, что на запрос одной таблицы (справочника, регистра), платформа 1С может автоматически построить очень сложный запрос с кучей join'ов. А если запросить две таблицы, то легко можно получить запрос с несколькими десятками таблиц. И прощай всякая оптимизация. Хотя бы потому, что управлять или отключать такое разыменование невозможно. А, например, MS SQL перестает выполнять оптимизию запроса, если в нем указано больше 8 таблиц. Ни в коем случае! Цитата:
Сообщение от Сисой
![]() Также язык запросов 1С имеет интересное расширение Итоги (Total),
Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги. ![]() |
|
|
За это сообщение автора поблагодарили: Logger (6). |
![]() |
#8 |
Участник
|
Да, изменилось. В 1С8 есть зачатки инкапсуляции. Каждый объект (справочник, документ, регистр и т.п.) имеет свой собственный модуль, в котором можно описывать как приватные, так и публичные (в терминологии 1С - экспортные) процедуры и функции. Кроме того, есть библиотека общих модулей (их может быть сколько угодно).
По вопросу FE: В мире 1С возможность редактирования того или иного объекта конфигурации определяет автор конфигурации: Цитата:
Настройка поставки заключается в указании правил поставщика на изменение конфигурации и включении/исключении в поставку исходных текстов модулей. Меню "Конфигурация" - "Поставка конфигурации" - "Настройка поставки...". Открывается иерархический список объектов конфигурации (окно "Настройка поставки").
Для каждого объекта можно указать правило изменения. Для группы объектов (например, "Справочники") это можно сделать кнопкой "Изменить подчинённые", а для одного объекта или нескольких объектов, выбранных с помощью щелчков при нажатом Ctrl - кнопкой "Изменить" (в списке возможен произвольный множественный выбор объектов). Открывается диалог "Настройка правил поставщика и текстов модулей", в котором выбирается правило изменения и находится флажок включения в поставку исходных текстов модулей (модуля). Если этот флажок снят, в поставку будет включён только скомпилированный текст. Варианты правила изменения: Изменения разрешены (по умолчанию). Изменения не рекомендуются - при выборе правила поддержки "Объект поставщика редактируется с сохранением поддержки" пользователь будет получать предупреждающее сообщение. Изменения запрещены - пользователь сможет обновлять объект, только не редактируя его ("Объект поставщика не редактируется"). При этом пользователь не сможет снять такой объект с поддержки, и для изменения такого объекта надо будет снять с поддержки всю конфигурацию. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
Теги |
1c, платформа, сравнение систем |
|
|