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

10.06.15

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
СОстаткомПрайсВ2колонки
.erf 8,20Kb
121 3 650 руб. Купить
ПрайсЛистВДвеКолонкиСКД
.erf 7,97Kb
75 3 050 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой
// Набор данных Запрос состоит из нескольких временных таблиц.
// В первой «ВТ_Ном» Выбираем товары по фильтру и число 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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

11100 руб.

29.10.2014    225883    709    528    

480

Оптовая торговля Розничная торговля Внешние источники данных Прайсы 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Хотите, чтобы остатки и цены товаров в вашей базе всегда были актуальными без лишних усилий? Теперь это возможно - автоматизируйте процесс загрузки и обновления данных о номенклатуре от ваших поставщиков или конкурентов. Как это работает? Вы сами настраиваете правила и расписание для каждого поставщика, чтобы обновление информации из произвольных форматов прайс-листов происходило автоматически.

15000 руб.

15.05.2024    2533    3    0    

4

Прайсы Оптовая торговля Ценообразование, анализ цен Сайты и интернет-магазины Пользователь 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Легкая обработка для мониторинга цен практически любого сайта (парсинга), не требует специальных знаний при настройке.

6960 руб.

17.04.2017    33435    30    28    

43

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Бухгалтер Пользователь 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    124664    48    105    

55

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

Загрузка Прайс-Листов из Excel в 1С Бухгалтерию предприятия 3.0 (БП 3.0) или 1С Управление торговли 11 (УТ 11) или 1С Управление торговли 11 (УТ 10.3) 1. Грузится новая Номенклатура с Артикулом, Наименованием, полным наименованием, Ставкой НДС, Единицей измерения, Вид номенклатуры, Комментарием (описанием), если такая номенклатура есть, то она НЕ создается. Номенклатура ищется по «Артикулу» с созданием папок (групп) в нужной иерархии 2. Создается новый документ «Установка цен номенклатуры» на указанную дату и по новым ценам из Прайс-Листа 3. Создается новый документ «Оприходование товаров» на указанную дату и на количество, которые указано в обработке пользователем. 4. Для УТ 10.3 есть возможность грузить в документ "Заказ поставщику" и появилась возможность искать Номенклатуру по Артиклу или Коду или Названию товара

5136 руб.

29.01.2018    55454    108    1    

75

Прайсы Загрузка и выгрузка в Excel Оптовая торговля Бухгалтер Пользователь Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Особенности: вывод картинок, логотипа организации, отправка отчета на e-mail, выгрузка в excel с подстановкой формул(прайс-заказ), защита листа, вывод цены с учетом курса валюты, вывод штрихкода, выделение новинок в отчете, сравнительный прайс.

5160 руб.

11.12.2016    44481    360    161    

45

Прайсы Нейросети Пользователь 1С v8.3 1С:Управление торговлей 11 Платные (руб)

Очередное решение в серии продуктов, созданных с интеграцией технологий ИИ. Это торговая витрина, работающая через Telegram-бот. Архитектура решения позволяет адаптировать его для работы с другими мессенджерами, поддерживающими платформу ботов.

10800 руб.

25.08.2025    888    1    0    

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

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

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

P.S. Может посчитаете, что это ни к чему, но у меня руководство требовало, чтобы прайс имел "надлежащий и презентабельный" вид и формировался автоматически (без доработок) поэтому и вставали такие проблемы...
6. Yury1001 1476 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 1476 07.12.11 19:19 Сейчас в теме
(17)
та это ж пустяки - я уже сделал.
вот (3) это крутой заказ, пожалуй пропущу.

Заодно столкнулся со стенкой: не могу разместить два варианта в отчете – их не видно у пользователя, даже основного нет. В яндексе пишут – изучай Библиотеку стандартных подсистем, но что то руки опустились…
Чё ж всё так сложно то?
19. Поручик 4345 08.12.11 07:36 Сейчас в теме
(18) В УТ 11 и Рознице 2 с вариантами внешних отчетов сложно, в связи с использованием в конфигурации хранилища вариантов.
5. svs_atm 07.12.11 08:08 Сейчас в теме
Как быстро формируется прайс при большой номенклатуре?
7. Yury1001 1476 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. Поручик 4345 07.12.11 12:05 Сейчас в теме
(8) Прайс тут как пример применения принципа действия.
13. Yury1001 1476 07.12.11 12:10 Сейчас в теме
Прайс тут как пример применения принципа действия.

Да, да - вот про это как раз все и забыли, гы :)))))
14. itar59 87 07.12.11 12:29 Сейчас в теме
А нельзя ли еще пару тройку уроков?
У Вас прекрасный стиль изложения -- доступно и просто.
15. Yury1001 1476 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 1476 09.12.11 20:13 Сейчас в теме
(20)
Конечно: можно и остатки ТМЦ свернуть и долги клиентов
22. curys 13.12.11 14:25 Сейчас в теме
23. пользователь 13.12.11 20:45
Сообщение было скрыто модератором.
...
24. mikhailv 20 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 1476 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 Сейчас в теме
Спасибо! Очень полезная штука!
Для отправки сообщения требуется регистрация/авторизация