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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2009, 08:06   #10  
PSerg is offline
PSerg
Участник
 
12 / 10 (1) +
Регистрация: 09.04.2007
Цитата:
Сообщение от Vezunchik Посмотреть сообщение
1. палка всегда с двумя концами. видел я обновления в "тестовой базе".. которая потом оказывалась продуктивом.. это естественно не минус, но одних плюсов из этого быть не может.
2. в 8.2 это появилось.
3. и какие же это большие возможности оптимизации и улучшения производительности алгоритмов? не устраивает работа стандартного 1с интерпретатора, используй прямые запросы к скулю..
2. Согласен. Но думаю еще долго будет доступно, только пользователям новых крупных проектах. Т.к. в старых или в мелких новых еще долго будет использоваться толстый клиент.
3. Был опыт построения отчетов в 1С с прямыми sql запросами. Редкостная садо-маза. На счет возможностей по оптимизиции объясню на примере. Допустим в базе 1С стоит задача обновить в справочнике "Номенклатура" поле "Наименование". Для простоты его нужно изменить на слово "Hello".
Нам нужно будет написать примерно такой код:

ВыборкаНоменклатура = СправочникиМенеджер.Номенклатура.Выбрать();
Пока ВыборкаНоменклатура.Следующий() Цикл
ОбъектНоменклатура = ВыборкаНоменклатура.ПолучитьОбъект();
ОбъектНоменклатура.Наименование = "Hello";
ОбъектНоменклатура.Записать();
КонецЦикла;

Причем других вариантов нет. (Ну разве что можно поизощраться и не использовать Выборку)

В аксапте эта задача может быть решена следующим образом
X++:
ttsbegin;
while select forupdate InventTable
{
        InventTable.ItemName = "Hello";             
        InventTable.update();
}
ttscommit;
Это вариант аналогичен приведенному выше в 1С
Но в аксапте есть возможности по его оптимизации
Я могу написать еще так
X++:
ttsbegin;
while select forupdate InventTable
{
        InventTable.ItemName = "Hello";             
        InventTable.doupdate();
}
ttscommit;
В этом случае, если в таблице InventTable в методе update есть какие-то дописки (например обновлять еще какое-нибудь поле при обновлении записи), то они не будут отрабатывать, а произойдет просто обновление записи.

А еще я могу написать так
X++:
update_recordset InvetnTable
setting ItemName = "Hello";
В этом случае обновление всех записей произойдет одним запросом.

Последний раз редактировалось PSerg; 11.12.2009 в 08:14.
Теги
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, время: 22:04.