IT решения для Вашего бизнеса

 
Главная  |  Продукты  |  Услуги и цены  |  Клиенты  |  Контакты
 
1C Предприятие 7.7
Наши решения
Программирование
1С Предприятие 8.*
Наши решения
Партнерские разработки
Типовые решения
Программирование
Администрирование
Web проекты
Интернет-магазины
Поиск по сайту

 

Мощный инструмент для интеграции и управления интернет-магазином.  Его преимуществом, является то, что для начала использования модуля необходимо минимум времени. Все сценарии для различных CMS и различных конфигураций 1С уже заложены в модуле и могут быть использованы большинством интернет-магазинов.

1. Минимум времени для настройки и старта модуля. 

2. Простой и понятный интерфейс управления обменами.
Все инструменты для выгрузки, загрузки и управления товарами и заказами.

3. Удобный инструмент для работы Вашего менеджера.

4. Модуль работает как внешнее приложение для 1С, что позволяет выполнять обновления конфигураций в автоматическом режиме.

Цена: 400$ Подробная информация о модуле

 

Главная
Использование временных таблиц в запросах Версия в формате PDF Версия для печати Отправить на e-mail
Рейтинг: / 38
ХудшаяЛучшая 
Написал Валецкий Станислав   
В одном из последних релизов платформы 8.1 появилась возможность использовать в запросах временные таблицы. Что это такое и как их можно использовать? Рассмотрим пример, с которым наверное многие из Вас сталкивались - а именно с необходимостью расчета цен по таблице товаров. Раньше эту задачу можно было решить разными способами, но ни один не обеспечивал быстрое и удобное получение результата. Эту проблему и решили временные таблицы.
Итак, допустим у нас есть таблица товаров - "ТабТоваров" с колонками - "Номенклатура", "Количество", "Цена", "Сумма", и нам необходимо быстро рассчитать цену и сумму по всем товарам. Первым шагом мы создаем менеджер временных таблиц и помещаем туда нашу таблицу значений:

 
        МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; 
  Запрос = Новый Запрос;
  Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
  Запрос.Текст = 
  "ВЫБРАТЬ 
  |  ТабТоваров.Номенклатура,
  |  ТабТоваров.Количество
  |  ПОМЕСТИТЬ ВыбрНоменклатура   
  |  ИЗ &ТабТоваровКАК ТабТоваров";
  
  Запрос.УстановитьПараметр("ТабТоваров", ТабТоваров);
  Запрос.Выполнить();
Следующим шагом мы к временной таблице левым соединением прицепим цены из регистра сведений "ЦеныНоменклатуры"

 
        Запрос.Текст =   "ВЫБРАТЬ 
  |  ВыбрНоменклатура.Номенклатура,
  |  ВыбрНоменклатура.Количество,
  |  ЦеныНоменклатурыСрезПоследних.Цена,
        |  ЦеныНоменклатурыСрезПоследних.Цена  * ВыбрНоменклатура.Количество КАК Сумма  
  |  ИЗ ВыбрНоменклатура КАК ВыбрНоменклатура
  |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦен, 
        |               Номенклатура В (&СписокТоваров) И ТипЦен = &ТипЦен ) КАК ЦеныНоменклатурыСрезПоследних
  |    ПО ВыбрНоменклатура.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура";
  
  Запрос.УстановитьПараметр("СписокТоваров",ТабТоваров.ВыгрузитьКолонку("Номенклатура"));
  Запрос.УстановитьПараметр("ТипЦен",ТипЦены);
  Запрос.УстановитьПараметр("ДатаЦен",ТекущаяДата());
  
  ТабТоваров = Запрос.Выполнить().Выгрузить();
        МенеджерВременныхТаблиц.Закрыть();

В итоге мы получили ту же таблицу, но с уже рассчитанными ценами и суммами. Достаточно легко и оптимально быстро. Обращаю внимание, что одним из параметров отбора регистра мы указали список товаров. Это очень сильно оптимизирует работу при большом количестве записей в регистре, т.к. лишние данные отсекаются уже на этапе выбора цен. Если этого не сделать - будут выбраны все записи из регистра и лишь потом по условию соединения отсекуться лишние записи.
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:
Жирный Курсив Подчеркнутый Зачеркнутый Цитата


Защитный код
Обновить

< Пред.
Карта сайта
1C-PROFI © 2019
Использование материалов разрешено только с указанием ссылки (для web сайтов гиперссылки)
www.megastock.ru