AXForum  
Вернуться   AXForum > Рынок > Сравнение ERP-систем
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2009, 23:25   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,288 / 3495 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от FE Посмотреть сообщение
что такое "код модулей"?
Если грубо - то модуль - это набор исходных текстов методов класса (в понятии АХ), вынесеных в один общий текст. При этом - несвязанных между собой, без наследования. Модули бывают при форме и глобальные (т.е. с процедурами/функциями, доступными отовсюду). Собственно - модули эмм... это и есть весь код 1Са (все остальное - это дизайн).

У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз...
__________________
Возможно сделать все. Вопрос времени
Старый 01.12.2009, 10:47   #2  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
:) RE: У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз...
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Если грубо - то модуль - это набор исходных текстов методов класса (в понятии АХ), вынесеных в один общий текст. При этом - несвязанных между собой, без наследования. Модули бывают при форме и глобальные (т.е. с процедурами/функциями, доступными отовсюду). Собственно - модули эмм... это и есть весь код 1Са (все остальное - это дизайн).

У меня знания остались еще с 7.7. Поправьте меня - если что изменилось плиз...
Имхо сравнения Аксапты и 1с это все равно что сравнивать дорогой гоночный автомобиль с бюджетным вариантом для повседневных нужд, каждая система занимает свой сегмент
По сравнению с семеркой, восьмерка научилась многому, но до Аксапты не дотягивает (с 2005 года работаю с MS Dynamics Ax 3 и 4), это мое мнение как разработчика относительно инструмента разрабтчика, не имею в виду различные доработанные конфигурации для 1С, в которых бухгалтерский учет и налоговый (для РФ) реализован лучше. В данный момент плотно работаю с 1с 8.1 Управление торговлей и ЗУП, сейчас в 1С нет такой большой ямы с кучей несвязанного кода, глобальный модуль, как это было в семерке, есть УЗЕЛ в МЕТАДАННЫХ называемый Общие модули. Там все процедуры и функции сгруппированы по назначению (см. рисунок http://files.mail.ru/5TSULP?t=1 ). Как пример, функции и процедуры работы с диалогом вынесены в один модуль "Работа с Диалогом", "РаботаСФайлами" и т.д.Это очень удобно с точки зрения разработчика. Вызов этих процедур и функций происходит автоматически, после того как в коде пишешь "РаботаСДиалогом." и ставишь точку выходят все доступные функции и процедуры для этого модуля. Чем то похоже на Аксапту с ее методами доступными для класса. У модуля есть возможность установки где выполнять код на сервере или на клиенте (есть свои ограничения, но это не важно), опять же аналогия на АОС. Ввели такой термин как подсистема, с возможностью устанавливать у каждого объекта конфигурации признак какой подсистеме он принадлежит (Денежные Средства, Налоговый учет и т.д.). Очень удобно работать
с регистрами сведений (теперь нет объекта периодический, а есть периодический регистр сведений) и накоплений ("НДСсАвансов", "РеализацияУслуг" и т.д.), аналогия на кубы OLAP (в нужных Измерениях и по нужным ресурсам хранятся сведения которые создаются так называемыми регистраторами, документами), с помощью отборов инфа быстро сортируется. Улучшили возможность работы с таблицой значений (многомерный массив), как пример, для поиска нужных строк, достаточно передать в новый тип данных структура (опять же аналогия с аксаптой) нужные значения для колонок и массив отбирает нужные значения.
X++:
                 			=  ("Отметка, НомерЗаказа");
		. 		= ;
		. 	= .;
		 			= .();
В отладчике можно сразу посмотреть весь массив и вывести в табличный документ на печать. Неограниченное количество табличных частей, для документов, справочников очень приятно. Запросы приобрели человеческий вид, почти как в SQL (левое соединение, правое, указываешь по каким полям идет связь). Хороший и понятный объект построитель отчетов, куда в качестве параметра передаешь текст запроса и он сам выводит и группирует данные в выходной форме. Реализован доступ на уровне записи, кривовато кончено, но работает, ограничение для пользователя, на видимость, нужных контрагентов и документов. По сравнению с семеркой в 8.1 очень много изменений, с 8.0 не работал.
__________________
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).
Старый 01.12.2009, 11:02   #3  
Сисой is offline
Сисой
Участник
Аватар для Сисой
Злыдни
1C
 
938 / 339 (13) ++++++
Регистрация: 05.02.2003
Адрес: Москва
Пример Hansa записывается еще короче:
X++:
		 			= .( ("Отметка, НомерЗаказа",,));
Будут получен массив ссылок на строки двумерной таблицы по заданному отбору.
Чего нет в 1С, но и не может быть в силу ее объектных особенностей. Update recordset с SQL-синтаксисом.
В 1С удобная фишка разыменования запросов. Запрос

X++:
Select Z.. From . as Z
автоматически сформирует левое соединение с таблицей Справочник.Контрагенты и выберет из него ПолноеНаименование. В Ax так же?
Также язык запросов 1С имеет интересное расширение Итоги (Total),
Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги.
Старый 01.12.2009, 11:26   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Сисой Посмотреть сообщение
В 1С удобная фишка разыменования запросов. Запрос

X++:
Select Z.. From . as Z
автоматически сформирует левое соединение с таблицей Справочник.Контрагенты и выберет из него ПолноеНаименование. В Ax так же?
Ни в коем случае! Упаси бог!
Эта "удобная фикша" приводит к тому, что на запрос одной таблицы (справочника, регистра), платформа 1С может автоматически построить очень сложный запрос с кучей join'ов. А если запросить две таблицы, то легко можно получить запрос с несколькими десятками таблиц.

И прощай всякая оптимизация. Хотя бы потому, что управлять или отключать такое разыменование невозможно. А, например, MS SQL перестает выполнять оптимизию запроса, если в нем указано больше 8 таблиц.

Ни в коем случае!

Цитата:
Сообщение от Сисой Посмотреть сообщение
Также язык запросов 1С имеет интересное расширение Итоги (Total),
Эта конструкция позволяет, сохранив первоначальный текст запроса, автоматически добавлять в результат итоги, посчитанные по заданным группировкам. Причем результат можно тут же выгрузить в дерево, узлами которого будут описанные итоги.
Ага. Только выполняется это действие НЕ на SQL-сервере. Со всеми вытекающими последствиями для производительности.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Logger (6).
Старый 01.12.2009, 11:53   #5  
Сисой is offline
Сисой
Участник
Аватар для Сисой
Злыдни
1C
 
938 / 339 (13) ++++++
Регистрация: 05.02.2003
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
Ни в коем случае! Упаси бог!
Mazzy, ты отрицаешь очевидное. В 1С думающий программист точно так же, как и в стандартном SQL, построит запрос без разыменования, используя только inner и outer join. Более того, на этом настаивают специалисты УЦ 1С. Здесь вопрос риторический: а всегда ли нужно ставить оптимизацию по скорости запросов во главу угла, игнорируя качество работы программиста? Всегда ли нужно получать реквизиты по связи запросом, или можно написать:
X++:
=..;
?
Ответ в каждом конкретном случае разный. На курсах в УЦ 1С специалистов знакомят с правилами хорошего тона и оптимизацией кода по скорости. Но если я пишу небольшую сервисную обработку, для которой время исполнения некритично, я буду использовать "фишки 1С" даже в ущерб производительности. Чтобы через год проще было понять и модифицировать код.
Чего точно нет в 1С, так это возможности использовать хинты в запросах. Тоже ведь палка о двух концах...
Старый 01.12.2009, 12:01   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Сисой Посмотреть сообщение
Mazzy, ты отрицаешь очевидное. В 1С думающий программист точно так же, как и в стандартном SQL, построит запрос без разыменования, используя только inner и outer join.
Сисой, ты снова путаешь "можно сделать" и "уже сделано"

1. Большинство запросов в типовых конфах УЖЕ написано с разыменованием
2. Даже если не делать разыменование в тексте запроса, а обратиться к "Запрос.Контрагент.ПолноеНаименование", то платформа 1С все равно сделает разыменование (скорее всего отдельным запросом).

Давай поговорим о думающих программистах, когда типовые будут УЖЕ написаны таковыми. Сейчас думающим программистам приходится либо снимать с поддержки и править код по самые помидорки, либо махнуть рукой.

Цитата:
Сообщение от Сисой Посмотреть сообщение
Более того, на этом настаивают специалисты УЦ 1С. Здесь вопрос риторический: а всегда ли нужно ставить оптимизацию по скорости запросов во главу угла, игнорируя качество работы программиста?
Но ты ведь привел данный пример как преимущество безо всяких оговорок
А теперь выясняется, что какие-то специалисты УЦ на чем-то настаивают.
Так является ли преимуществом приведенный тобой пример с разыменованием?

Цитата:
Сообщение от Сисой Посмотреть сообщение
Ответ в каждом конкретном случае разный.


Цитата:
Сообщение от Сисой Посмотреть сообщение
Чего точно нет в 1С, так это возможности использовать хинты в запросах. Тоже ведь палка о двух концах...
Это да. И не надо. По тем же соображениям.
__________________
полезное на axForum, github, vk, coub.
Старый 01.12.2009, 10:48   #7  
Сисой is offline
Сисой
Участник
Аватар для Сисой
Злыдни
1C
 
938 / 339 (13) ++++++
Регистрация: 05.02.2003
Адрес: Москва
Да, изменилось. В 1С8 есть зачатки инкапсуляции. Каждый объект (справочник, документ, регистр и т.п.) имеет свой собственный модуль, в котором можно описывать как приватные, так и публичные (в терминологии 1С - экспортные) процедуры и функции. Кроме того, есть библиотека общих модулей (их может быть сколько угодно).
По вопросу FE:
В мире 1С возможность редактирования того или иного объекта конфигурации определяет автор конфигурации:
Цитата:
Настройка поставки заключается в указании правил поставщика на изменение конфигурации и включении/исключении в поставку исходных текстов модулей. Меню "Конфигурация" - "Поставка конфигурации" - "Настройка поставки...". Открывается иерархический список объектов конфигурации (окно "Настройка поставки").

Для каждого объекта можно указать правило изменения. Для группы объектов (например, "Справочники") это можно сделать кнопкой "Изменить подчинённые", а для одного объекта или нескольких объектов, выбранных с помощью щелчков при нажатом Ctrl - кнопкой "Изменить" (в списке возможен произвольный множественный выбор объектов). Открывается диалог "Настройка правил поставщика и текстов модулей", в котором выбирается правило изменения и находится флажок включения в поставку исходных текстов модулей (модуля). Если этот флажок снят, в поставку будет включён только скомпилированный текст.

Варианты правила изменения:

Изменения разрешены (по умолчанию).
Изменения не рекомендуются - при выборе правила поддержки "Объект поставщика редактируется с сохранением поддержки" пользователь будет получать предупреждающее сообщение.
Изменения запрещены - пользователь сможет обновлять объект, только не редактируя его ("Объект поставщика не редактируется"). При этом пользователь не сможет снять такой объект с поддержки, и для изменения такого объекта надо будет снять с поддержки всю конфигурацию.
Если мы редактируем объект с сохранением поддержки, то пользователю недоступно автоматическое обновление, при полуавтоматическом нужно анализировать расхождения.
За это сообщение автора поблагодарили: sukhanchik (2).
Теги
1c, платформа, сравнение систем

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
1С: Франчайзи - есть ли будущее? miklenew Другие системы на рынке 13 03.10.2009 12:22
Изменения ассортимента, цен, условий поставки и сопровождения ряда продуктов «1С:Предприятия 7.7» mazzy Другие системы на рынке 40 30.04.2008 23:31
Обсуждение документа "Сравнение 1С и AX" Кузнецов Александр Сравнение ERP-систем 44 20.02.2008 13:56
Платформа «1С:Предприятие» как средство разработки бизнес-приложений Morpheus Другие системы на рынке 1 26.12.2006 13:10
1С ищет стратегического инвестора Роман Кошелев Другие системы на рынке 1 16.04.2003 23:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:05.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.