Прайс-лист в две колонки на СКД, для УТ 11.0, с описанием запроса

10.06.15

Задачи пользователя - Прайсы

Пример отчета на СКД: Номенклатура, Цена в две колонки. Отчет простой, без особого оформления и больше предназначен как урок для начинающих по работе с запросами на тему «Как разбить результат в запросе на несколько колонок для вывода через СКД», с описанием принципа действии.

Скачать файлы

Наименование Файл Версия Размер
СОстаткомПрайсВ2колонки
.erf 8,20Kb
121
.erf 8,20Kb 121 Скачать
ПрайсЛистВДвеКолонкиСКД
.erf 7,97Kb
75
.erf 7,97Kb 75 Скачать
// Набор данных Запрос состоит из нескольких временных таблиц.
// В первой «ВТ_Ном» Выбираем товары по фильтру и число 1

ВЫБРАТЬ
                Номенклатура.Ссылка,
                1 КАК Ном
ПОМЕСТИТЬ ВТ_Ном
ИЗ
                Справочник.Номенклатура КАК Номенклатура
ГДЕ
                (НЕ Номенклатура.ЭтоГруппа)
{ГДЕ
                Номенклатура.Ссылка.*}
;
 
// Во второй «ВТ_НомПП» получим номер по порядку: соединим каждый элемент первой
// таблицы со всеми элементами этой же таблицы, которые при сортировке будут равны или
// выше элемента, а число 1 просуммируем.
 
ВЫБРАТЬ
                ВТ_Ном.Ссылка,
                СУММА(ВТ_Ном.Ном) КАК НомПП
ПОМЕСТИТЬ ВТ_НомПП
ИЗ
                ВТ_Ном КАК ВТ_Ном
                               ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Ном КАК ВТ_Ном1
                               ПО ВТ_Ном.Ссылка.Наименование >= ВТ_Ном1.Ссылка.Наименование
 
СГРУППИРОВАТЬ ПО
                ВТ_Ном.Ссылка
;
 
// Дальше «ВТ_Индекс» хитрость номер один: делим номер по порядку на удвоенное число
// строк на странице и отнимаем целую часть этого же деления, функция ВЫРАЗИТЬ в этом
// случае округляет частное по математическим правилам.
// Результат формулы колеблется от -0,5 до +0,499 назовём его ПлюсМинус, (см. Рис.1 Синус Хэ)
 
ВЫБРАТЬ
                ВТ_НомПП.Ссылка,
                ВТ_НомПП.НомПП КАК НомПП,
                (ВТ_НомПП.НомПП - 1) / (&СтрокНаСтранице * 2) - (ВЫРАЗИТЬ((ВТ_НомПП.НомПП - 1) / (&СтрокНаСтранице * 2) КАК ЧИСЛО(10, 0))) КАК ПлюсМинус
ПОМЕСТИТЬ ВТ_Индекс
ИЗ
                ВТ_НомПП КАК ВТ_НомПП
;
 
// А теперь всем строкам, у которых ПлюсМинус >= 0 (первая колонка каждой страница)
// присоединим строку с номером на СтрокНаСтранице больше, (см. Рис.2 Результат)
 
ВЫБРАТЬ
                ВТ_Индекс.НомПП КАК НомПП1,
                ВТ_Индекс.Ссылка КАК Номенклатура1,
                ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1,
                ВТ_Индекс1.НомПП КАК НомПП2,
                ВТ_Индекс1.Ссылка КАК Номенклатура2,
                ЦеныНоменклатурыСрезПоследних1.Цена КАК Цена2
ИЗ
                ВТ_Индекс КАК ВТ_Индекс
                               ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Индекс КАК ВТ_Индекс1
                                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(ВидЦены)}) КАК ЦеныНоменклатурыСрезПоследних1
                                               ПО ВТ_Индекс1.Ссылка = ЦеныНоменклатурыСрезПоследних1.Номенклатура
                               ПО (ВТ_Индекс.НомПП + &СтрокНаСтранице = ВТ_Индекс1.НомПП)
                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(ВидЦены)}) КАК ЦеныНоменклатурыСрезПоследних
                               ПО ВТ_Индекс.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
                ВТ_Индекс.ПлюсМинус >= 0
 
УПОРЯДОЧИТЬ ПО
                НомПП1

 

Остаётся занести этот запрос в набор данных схемы компоновки, ну там настроить всё – отборы, оформления и т.п. Отсечку страниц, заголовок и всякие там штуки описывать не буду, смотрите в модуле отчета ПриКомпоновкеРезультата, файл без пароля.

Особенности этого варианта: только один тип цен и только Равно, но обязательно; количество строк подбирается пользователем; длинные наименования обрезаются; нет иерархии.

Вариант с остатками

Поменялся последний запрос в пакете: собственно просто соединение с регистром остатков для каждой из колонок.

ВЫБРАТЬ
 ВТ_Индекс.НомПП КАК НомПП1,
 ВТ_Индекс.Ссылка КАК Номенклатура1,
 ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1,
 ВТ_Индекс1.НомПП КАК НомПП2,
 ВТ_Индекс1.Ссылка КАК Номенклатура2,
 ЦеныНоменклатурыСрезПоследних1.Цена КАК Цена2,
 ТоварыНаСкладахОстатки.ВНаличииОстаток,
 ТоварыНаСкладахОстатки1.ВНаличииОстаток КАК ВНаличииОстаток1
ИЗ
 ВТ_Индекс КАК ВТ_Индекс
  ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Индекс КАК ВТ_Индекс1
   ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(ВидЦены)}) КАК ЦеныНоменклатурыСрезПоследних1
   ПО ВТ_Индекс1.Ссылка = ЦеныНоменклатурыСрезПоследних1.Номенклатура
   ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад)}) КАК ТоварыНаСкладахОстатки1
   ПО ВТ_Индекс1.Ссылка = ТоварыНаСкладахОстатки1.Номенклатура
  ПО (ВТ_Индекс.НомПП + &СтрокНаСтранице = ВТ_Индекс1.НомПП)
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(ВидЦены)}) КАК ЦеныНоменклатурыСрезПоследних
  ПО ВТ_Индекс.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад)}) КАК ТоварыНаСкладахОстатки
  ПО ВТ_Индекс.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
ГДЕ
 ВТ_Индекс.ПлюсМинус >= 0
УПОРЯДОЧИТЬ ПО
 НомПП1

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

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

28500 22800 руб.

21.04.2017    90176    105    39    

190

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    165965    679    362    

385

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210162    620    524    

439

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Данная публикация создана для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Смело задавайте нам вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, мы накопили достаточно большую базу знаний по данным темам и готовы ответить на все Ваши вопросы.

104000 руб.

18.03.2019    110324    34    114    

178

Обмен с системой Меркурий через Web + Ветис.API для любых конфигураций (универсальная конфигурация Хамелеон Меркурий)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Конфигурации 1cv8 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий(тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

104000 руб.

08.11.2017    120857    296    138    

392
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. anton.fly7 173 06.12.11 23:13 Сейчас в теме
2. Yury1001 1470 06.12.11 23:38 Сейчас в теме
Спасибо, поддержка для меня сейчас важна - мои перые шаги на InfoStart.
3. KliMich 07.12.11 04:03 Сейчас в теме
Спасибо! В 2 колонки всегда было актуально (особенно при большой номенклатуре)!

А вот в работе сталкивался с такими проблемами:
1. Если номенклатура имеет длинное название, то во избежание "потери конца" должна выводиться "с переносом". Что приводит к изменению высоты строки... И в итоге "сформированный" лист может не вписаться в страницу.
2. А Руководство требуют прайс с учётом иерархии.

Поэтому пожелания:
1. Делить на две колонки не в запросе, а при заполнении печатной формы, используя функцию ПроверитьВывод() для программного анализа заполненности и перевода страницы.
2. Сделать вывод прайса с группами. Название групп/подгрупп выводить сразу на две колонки. А саму номенклатуру выводить слева-направо-сверху-вниз до следующей группы/подгруппы (а не так: "сначала заполняем левую колонку, а потом в правую")

P.S. Может посчитаете, что это ни к чему, но у меня руководство требовало, чтобы прайс имел "надлежащий и презентабельный" вид и формировался автоматически (без доработок) поэтому и вставали такие проблемы...
6. Yury1001 1470 07.12.11 10:48 Сейчас в теме
KliMich (3)
Если «руководство требует» наверно лучше обратиться к специалистам (франчайзи там всякие) и выполнить работы со всей ответственностью.
«Делить на две колонки не в запросе» - это конечно можно и я уже реализовывал на 7.7 http://infostart.ru/public/100627/
, однако задумка этой статьи именно урок по работе с запросами.

koroleva_ann_ (4)
«с текущими остатками по складу» - Можно, легко как в моей статье
http://infostart.ru/public/100565/
Постараюсь выбрать время и обновить.

svs_atm (5)
«Как быстро формируется» - 5000-6000 может и пару минут – это нормально.
4. taste 07.12.11 07:32 Сейчас в теме
пожелание: хотелось бы прайс чтоб выводился с текущими остатками по складу)) если можно))
17. itar59 87 07.12.11 18:44 Сейчас в теме
koroleva_ann_ пишет:

пожелание: хотелось бы прайс чтоб выводился с текущими остатками по складу)) если можно))
(4) koroleva_ann_,

ну нельзя же от учебной статьи требовать всего и сразу.
18. Yury1001 1470 07.12.11 19:19 Сейчас в теме
(17)
та это ж пустяки - я уже сделал.
вот (3) это крутой заказ, пожалуй пропущу.

Заодно столкнулся со стенкой: не могу разместить два варианта в отчете – их не видно у пользователя, даже основного нет. В яндексе пишут – изучай Библиотеку стандартных подсистем, но что то руки опустились…
Чё ж всё так сложно то?
19. Поручик 4670 08.12.11 07:36 Сейчас в теме
(18) В УТ 11 и Рознице 2 с вариантами внешних отчетов сложно, в связи с использованием в конфигурации хранилища вариантов.
5. svs_atm 07.12.11 08:08 Сейчас в теме
Как быстро формируется прайс при большой номенклатуре?
7. Yury1001 1470 07.12.11 11:00 Сейчас в теме
Да, и ещё, хотел поблагодарить alexk-is за статью ФИФО в Запросе (с пояснениями для начинающих),
которая и вдохновила меня на эту работу, СПАСИБО!
8. пользователь 07.12.11 11:58
Сообщение было скрыто модератором.
...
9. cool.vlad4 2 07.12.11 12:01 Сейчас в теме
(8) а нафига парится, чтобы кому то легко было загружать в базу из экселя? я вижу плюсы...их уже 11...
10. пользователь 07.12.11 12:05
Сообщение было скрыто модератором.
...
12. cool.vlad4 2 07.12.11 12:08 Сейчас в теме
(10) здесь прайс чисто для показа как разбивать в СКД на несколько колонок...
ЗЫ почему нафига? потому, что если кто-то отправляет кому-то прайс, то не себе а клиенту, а почему он должен заботится о том как клиент будет грузить в базу...если даже и будет, то проще и лучше отправлять в более фиксированном формате чем прайс
11. Поручик 4670 07.12.11 12:05 Сейчас в теме
(8) Прайс тут как пример применения принципа действия.
13. Yury1001 1470 07.12.11 12:10 Сейчас в теме
Прайс тут как пример применения принципа действия.

Да, да - вот про это как раз все и забыли, гы :)))))
14. itar59 87 07.12.11 12:29 Сейчас в теме
А нельзя ли еще пару тройку уроков?
У Вас прекрасный стиль изложения -- доступно и просто.
15. Yury1001 1470 07.12.11 12:31 Сейчас в теме
(14)
Будут обязательно!
Срок 5-7 дней.
16. Andrusha1 07.12.11 18:16 Сейчас в теме
Спасибо, очень познавательная статья.
20. pt_olga 61 09.12.11 19:17 Сейчас в теме
да, для Прайса нам это не пригодится, но в принципе необходимость экономной по листам печати есть.
Спасибо автору!
21. Yury1001 1470 09.12.11 20:13 Сейчас в теме
(20)
Конечно: можно и остатки ТМЦ свернуть и долги клиентов
22. curys 13.12.11 14:25 Сейчас в теме
23. пользователь 13.12.11 20:45
Сообщение было скрыто модератором.
...
24. mikhailv 19 15.12.11 17:35 Сейчас в теме
Юрий! Если есть одинаковые названия у номенклатуры, то вместо
Ном_ПП
1
2
3

будет
Ном_ПП
3
3
3

Предлагаю такой вариант решения проблемы:

// получаем нумерацию внутри одинаковых наименований
ВЫБРАТЬ
Таб1.Ссылка,
СУММА(Таб1.Номер) - 1 КАК Добавка
ПОМЕСТИТЬ ОдинаковыеНаим
ИЗ
ВТ_Ном КАК Таб1
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Ном КАК Таб2
ПО Таб1.Ссылка >= Таб2.Ссылка
И Таб1.Наименование = Таб2.Наименование

СГРУППИРОВАТЬ ПО
Таб1.Ссылка

ИМЕЮЩИЕ
СУММА(Таб1.НомерПП) - 1 > 0
;

// корректируем Ном_ПП
ВЫБРАТЬ
Таб1.Ссылка,
Таб1.НомПП - ЕСТЬNULL(Таб2.Добавка, 0) КАК Ном_ПП
ПОМЕСТИТЬ ВТ_НомПП_2
ИЗ
ВТ_НомПП КАК Таб1
ЛЕВОЕ СОЕДИНЕНИЕ ОдинаковыеНаим КАК Таб2
ПО Таб1.Ссылка = Таб2.Ссылка
Yury1001; +1 Ответить
25. Sairys 19.12.11 17:43 Сейчас в теме
Одно время замарачивался с прайсом на СКД, запнулся на том что не мог вывести фото номенклатуры. Но правда покопался потом и решил свою проблему
26. thang_madi 03.01.12 10:12 Сейчас в теме
Неплохая статья, спасибо автору!
27. Paul_Nevada 06.01.12 00:42 Сейчас в теме
Спасибо за "ориентировку".
28. Maks_Payn 10.01.12 11:07 Сейчас в теме
Спасибо! Интересный отчет!
29. GVALA 2 21.02.12 09:39 Сейчас в теме
Скажите на на 1С 8.2 Бухгалтерия работать будет?
31. Yury1001 1470 21.02.12 10:19 Сейчас в теме
(29) Принцип работать будет, а обработка нет – это ж управляемая форма, бухгалтерии такой пока нету.
30. пользователь 21.02.12 09:43
Сообщение было скрыто модератором.
...
32. akril19811 09.03.12 20:26 Сейчас в теме
Я когда то работал торговым и у нас прайс был в две колонки, это реально экономило затраты на бумагу, хотя тогда чужие затраты меня особо не беспокоили, а теперь своя фирма и хотелось бы уменьшить затраты до минимума. Было обрадовался когда увидел эту обработку, но не тут то было у меня ред.10,3 может кто подскажет как под мою подстроить?
33. Danilchenkos 26.03.12 17:18 Сейчас в теме
Спасибо! Очень полезная штука!
Оставьте свое сообщение