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

  • Автор темы Автор темы Nev
  • Дата начала Дата начала
И что же это за наименование ? может таки код? Тогда надо НайтиПоКоду()
 
Не помогает...
Может я иду вообще ложным путём.

Есть справочник СвойстаНоменклатуры с реквизитами: Код, Наименование, Ёмкость, Строка.
В реквизит строка вписываются значения от 14 до 26.
По каждому свойству с определённым реквизитом строка нужно высчитать объём продаж и декалитры.
Код:
Если СокрЛП(Запрос.Строка) = "14" Тогда 
ДекаСтр14 = ДекаСтр14 + (Запрос.КоличествоРасход*Запрос.СНЕмк)/10; 
СуммаСтр14 = СуммаСтр14 + Запрос.СуммаПродажи; 
Если Запрос.Страна <> Россия Тогда  
ДекаСтрЗаруб14 = ДекаСтрЗаруб14 + (Запрос.КоличествоРасход*Запрос.СНЕмк)/10;	
СуммаЗарубСтр14 = СуммаЗарубСтр14 + Запрос.СуммаПродажи;	 
КонецЕсли;			 
КонецЕсли;
Решил что можно сделать это такими вот условиями, может есть способ лучше, а я занимаюсь ерундой?
 
Тогда надо в справочнике использовать метод
НайтиПоРеквизиту("Строка","14");
 
К сожалению и это не помогает (
 
измените идентификатор реквизита со Строка на какой-нибудь другой
 
измените идентификатор реквизита со Строка на какой-нибудь другой
Да и вообще не стоит называть свои идентификаторы ключевыми словами языка - вполне возможно Da ist der Hund begraben
 
|Строка = Регистр.ПартииТоваров.Товар.СвойствоН.Строка;

|Группировка Наименование;
|Группировка Строка;
|Группировка ТекущийДокумент;

Возможно расчитать КоличествоРасход, Декалитры в первой группировке, но вывести их во второй? Отдельно вывести допустим 3 группировку без первых? Необходимо чтобы каждый элемент "Строка" выводился отдельной строчкой, единственной для каждого.
При расчёте во второй группировке, результат неправилен (Дека = Дека + (Запрос.КоличествоРасход*Запрос.СНЕмк)/10;, и в отдельности Запрос.КоличествоРасход*Запрос.СНЕмк).
 
Код:
СпрСН.ИспользоватьРодителя(ВыбСвойство);
СпрСН.ВыбратьЭлементы();
Пока СпрСН.ПолучитьЭлемент() = 1 Цикл
Если ПустоеЗначение(ВыбСвойство) = 0 Тогда
Если СпрСН.ТекущийЭлемент() = Запрос.ТекСвойствоН Тогда
Таб.ВывестиСекцию("СвойствоН");
КонецЕсли;
Иначе
Таб.ВывестиСекцию("СвойствоН");
КонецЕсли;
Пока Запрос.Группировка(1) = 1 Цикл
Если СпрСН.ТекущийЭлемент() = Запрос.ТекСвойствоН Тогда
ИтогоДекалитры = ИтогоДекалитры + (Запрос.КоличествоРасход*Запрос.СНЕмк)/10;
Таб.ВывестиСекцию("Наименование");
Иначе
Продолжить;
КонецЕсли;
КонецЦикла;
КонецЦикла;

Почему при СпрСН.ИспользоватьРодителя(ВыбСвойство); ничего не выдаёт?
 
А ты хорошо разобрался со справочниками "ВидыСвойств" и "ЗначенияСвойств" (который подчинен предыдущему) ?
 
В этой конфигурации они отстутсвуют... пойду читать о них.
 
почитай их описания в конфигураторе
 
Прочёл, но не могу понять каким образом эти справочники связаны с проблемой использования метода ИспользоватьРодителя? Тем более что в данной конфигурации они отстутствуют.
 
ВыбСвойство - реквизит формы обработки, типа справочник.СвНом.
При выборе группы в реквизите... в отчёт ничего не выводится.. если же выбрать элемент всё работает.
 
а СпрСН какой тип имеет ?
И как это связано с типом СвНом ?
 
СпрСН=СоздатьОбъект("Справочник.СвНом");
 
Разобрался.
Осталось только выяснить почему ИспользоватьРодителя не работает.
 
|СвойствоН = Регистр.ПартииТоваров.Товар.СвойствоН;

Если ПустоеЗначение(ВыбСвойство) = 0 Тогда
ТекстЗапроса = ТекстЗапроса +"
|Условие(СвойствоН = ВыбСвойство);
|";
КонецЕсли;

Пришёл к заключению что Использовать Родителя не работает т.к. в запросе выбираются элементы. Поэтому отчёт выводится пустым. Как это можно решить?
 
Никто не подскажет, как сделать чтобы запрос отбирал значения из реквизита типа справочник, если в нём выбрана группа (родитель)?
 
|Условие (Справочник.Родитель в ВыбРодитель);

что-то такое.

справочник - объявленный справочник
Выбродитель - переменная ( хошь на форме заполняй, хошь программно)
 
Мы в соцсетях:

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

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

HackerLab