Реализация внешней обработки по учёту объёма продаж

  • Автор темы Автор темы Nev
  • Дата начала Дата начала
N

Nev

Здравствуйте...
Существует частная конфигурация приемущественно оперативного учёта, на которую недавно села некая организация. До этого была типовая Торговля и Склад.
Задачей является реализация внешней обработки\отчёта, выводящей результаты продаж розничного товара за определённый период, с ранжированием товара по свойству номенклатуры (реквизиту карточки номенклатуры).
Свойство это присутствовало в Торгове и Склад, но в новой конфигурации его нет.

Пример отчёта:

Номер Наименование Реализовано
Свойство №1
1 Товар №1 500
2 Товар №2 200
Свойство №2
3 Товар №3 125
.... и т.д.
Т.е. к каджому свойству относится группа товара.

Принцип работы примерно такой:
Должностное лицо заполняет свойства номенклатуры, которые как то должны связываться с группами товаров карточки номенклатуры, и строится отчёт.

Каким образом и как можно реализвать этот механизм (до построения самого отчёта), не меняя информационную базу изнутри, т.е. не добавляя справочников, реквизитов, не изменяя программный код существующей конфигурации.

С уважением, Nev.
 
По идее это некое свойство можно занести в какой-нить существующий пустой реквизит справочника товары. А в обработке сделать табчасть и поле со списком значений. В список значений добавлять свойство из реквизита (получим список всех свойств с возможностью выбора нужных). А потом по выбранному списку отбираем реализованные товары. Я бы делал так, но возможно есть и более оптимальный способ..
 
Никак - если этого свойства нет, то и сгруппировать по нему не получится. Надо добавлять реквизит в справочник номенклатура ( лучше всего), либо сделать внешний файлик (ДБФ например) - где будет прописано соответствие кода товара свойству. ПРи отчете , пробегаясь по нему будет заполняться список товаров с нужным свойством, и потом это список будет участвовать в фильтре. А код отчета по любому менять придется.
Как вариант - использовать в качестве свойства группу товаров (родителя). Большинство отчетов родителя показывают, так что по любому видно будет.
 
Спасибо за ответы.

puh14, можно поподробнее о реализации соответствия кода товара свойству в дбф...? Нужно к одному свойству привязать группу товаров, желательно интерактивно.
Т.е. я представляю примерно как внести свойства, но как из связать с группами товаров....
 
Помоему, вы собираетесь идти ложным путем. Для чего вообще необходимо данное свойство? Для того, чтоб красиво макет рисовался? Если его нет в данных, то не проще уж тогда вместо этого свойства просто использовать другое? Например ценовые группы или тип товар-услуга?
 
puh14, можно поподробнее о реализации соответствия кода товара свойству в дбф...? Нужно к одному свойству привязать группу товаров, желательно интерактивно.
Т.е. я представляю примерно как внести свойства, но как из связать с группами товаров....

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


Добавление нового реквизита на форму карточки номенклатуры, или изменение типа существующего, если он не используется в операциях, как то может повлиять на работу системы? вызвать косвенно какие то изменения в информационной базе. А также перенос карточек из одной группы в другую?... Если база к примеру ведётся давно... Т.е. если пойти простым путём и просто добавить реквизит и справочник связанный с ним.... где будут находится эти свойства номенклатуры.
 
Доброго времени суток.

Я добавил реквизит в карточку номенклатуры типа справочник, который отражает свойства товаров. Но заполняться он будет только у определённой группы товаров. ( например: Молочные продукты : жирность )
Вопрос: каким образом можно сделать выборку продаж товаров из регистров по условию что этот реквизит заполнен?
Всмысле как прописать, чтобы товары отбирались при условии что реквизит заполнен? можно запросом.
 
Условие (ПустоеЗначение(Переменная)=0)
 
Благодарю.
 
Код:
|Условие(ТекущийДокумент.Вид()=""ZОтчет"");
Как по аналогии сделать условие, при котором данные будут выниматься из двух и более документов?

Код:
Если (Рег.ПоДокументу.Вид()<>"РасходнаяНакладная")		
И (Рег.ПоДокументу.Вид()<>"ZОтчет") Тогда
Продолжить;
КонецЕсли;
Мой вариант без запроса. Не работает. ПоДокументу - измерение регистра, куда в документах, в ПриПроведении() прописывается ТекущийДокумент().
 
Как по аналогии сделать условие, при котором данные будут выниматься из двух и более документов?
Загони нужные виды документов в список значениий и
|Условие(ТекущийДокумент.Вид() в СписокЗначений);

Если (Рег.ПоДокументу.Вид()<>"РасходнаяНакладная")
И (Рег.ПоДокументу.Вид()<>"ZОтчет") Тогда
Продолжить;
КонецЕсли;

конечно не работает! - если у тебя расходная накладная то она одновременно не может быть ZОтчет, вот и пролеташь. ИЛИ вместо И надо и равенство вместо <>, а продожить повесить на Иначе
 
Загони нужные виды документов в список значениий и
|Условие(ТекущийДокумент.Вид() в СписокЗначений);

Т.е. до запроса создать СЗ, а в условии "СписокЗначений"-переменная которой мы его присвоим?

конечно не работает! - если у тебя расходная накладная то она одновременно не может быть ZОтчет, вот и пролеташь. ИЛИ вместо И надо и равенство вместо <>, а продожить повесить на Иначе

А я считал что это будет читаться как:
При переборе, если выбранный документ не равен Расходной накладной, и не равен ZОтчёту, тогда пропускаем его. (условие в цикле)

Такой ещё вопрос, как можно найти конечный остаток продукции из регистров? В запросах есть спец Функции.. атак...
 
Функция Остаток = КонОст(Количество);
 
Загони нужные виды документов в список значениий и
|Условие(ТекущийДокумент.Вид() в СписокЗначений);
Что то не получается... можно пример?

конечно не работает! - если у тебя расходная накладная то она одновременно не может быть ZОтчет, вот и пролеташь. ИЛИ вместо И надо и равенство вместо <>, а продожить повесить на Иначе
Т.е. должно выглядить так? И что стоять в условии, пустое место оставить?
Код:
Если (Рег.ПоДокументу.Вид()="РасходнаяНакладная") 
ИЛИ (Рег.ПоДокументу.Вид()="ZОтчет") Тогда
Иначе
Продолжить;
КонецЕсли;
 
Не мудрите:
|ТекДок = РасходнаяНакладная.ТекщийДокумент(),ZОтчет.ТекущийДокумент();
|Группировка ТекДок;
 
ТекДок = РасходнаяНакладная.ТекщийДокумент(),ZОтчет.ТекущийДокумент();
|Группировка ТекДок;

Это если документы перебирать - а если текущий документ регистра? Тож сработает?
 
(Рег.ПоДокументу.Вид()="РасходнаяНакладная") ИЛИ (Рег.ПоДокументу.Вид()="ZОтчет")
Рег.ПоДокументу.Вид()<>"РасходнаяНакладная") И (Рег.ПоДокументу.Вид()<>"ZОтчет")
Забавная дискуссия на тему булевой алгебры
оба условия, по сути идентичны, ибо отрицание суммы есть произведение отрицаний и наоборот
 
Это если документы перебирать - а если текущий документ регистра? Тож сработает?
|ТекДок = Регистр.Продажи.ТекущийДокумент.РасходнаяНакладная.ТекущийДокумент, |Регистр.Продажи.ТекущийДокумент.ZОтчет.ТекущийДокумент;
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab