Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 дек 2023, 23:24

Количество товаров в категории

Автор shams, 30 мая 2023, 09:33

0 Пользователей и 1 гость просматривают эту тему.

shams

Нужно определить количество товаров в категории "Телевизоры" и показать сообщение следующего вида:
"Количество товаров в категории "Телевизоры": 4"

Здраствуйте помогите пж  как делается

cast


alexandr_ll

shams, Количество товаров или количество наименований товаров?

shams

alexandr_ll, задача такого есть таблица значения там 50 товары  внутри их есть телевизор их 4 надо вывести их количество например "Телевизоры": 4"

shams

alexandr_ll, количество наименований товаров

alexandr_ll

shams, Делайте запрос по справочнику с фильтром по категории

shams

alexandr_ll, а по условии нельзя найти ?

alexandr_ll

shams, Фильр - это и есть условие
ЦитироватьКак отобрать элементы справочника по коду, наименованию,
/// и другим реквизитам в 1с 8.3, 8.2
https://helpme1s.ru/spravochniki-v-yazyke-1s-8-v-primerax

Справочники в языке 1С 8.3, 8.2 (в примерах)

&НаСервере
Процедура СозданиеИИзменениеЭлементовИГруппСправочникаНаСервере()

/// Как создать новый элемент справочника в 1с 8.3, 8.2

// создадим новый элемент справочника Города
// с именем Владивосток
Владивосток = Справочники.Города.СоздатьЭлемент();
Владивосток.Наименование = "Владивосток";
Владивосток.Записать();

/// Как создать новую группу справочника в 1с 8.3, 8.2

// создадим новую группу справочника Города
ГородаУМоря = Справочники.Города.СоздатьГруппу();
ГородаУМоря.Наименование = "Города у моря";
ГородаУМоря.Записать();

/// Как перенести элемент справочника в другую группу в 1с 8.3, 8.2

// перенесём созданный Владивосток в группу "Города у моря"
Владивосток.Родитель = ГородаУМоря.Ссылка;
Владивосток.Записать();

/// Как внести изменения в элемент справочника по ссылке
/// в 1с 8.3, 8.2

// найдём город Калькутта
КалькуттаСсылка = Справочники.Города.НайтиПоНаименованию("Калькутта");
Если Не КалькуттаСсылка.Пустая() Тогда
// изменим и запишем численность жителей в городе
Калькутта = КалькуттаСсылка.ПолучитьОбъект();
Калькутта.Численность = 1000000;
Калькутта.Записать();
КонецЕсли;

/// Как получить и проверить пустую ссылку типа справочник в 1с 8.3, 8.2

ПустаяСсылка = Справочники.Города.ПустаяСсылка();
Если ПустаяСсылка.Пустая() Тогда
Сообщить("Ссылка действительно пустая.");
КонецЕсли;

/// Как узнать принадлежность элемента справочника группе
/// с учетом уровней иерархии в 1с 8.3, 8.2

ПермьСсылка = Справочники.Города.НайтиПоНаименованию("Пермь");
РоссияСсылка = Справочники.Города.НайтиПоНаименованию("Россия");

// проверим принадлежит ли город Пермь группе Россия

Если ПермьСсылка.ПринадлежитЭлементу(РоссияСсылка) Тогда
Сообщить("Элемент Пермь находится в группе Россия.");
КонецЕсли;

/// Как скопировать существующий элемент справочника в 1с 8.3, 8.2

// скопируем элемент Пермь

КопияПерми = ПермьСсылка.Скопировать();
КопияПерми.Наименование = КопияПерми.Наименование + " КОПИЯ";
КопияПерми.УстановитьНовыйКод();
КопияПерми.Записать();

/// Как выяснить уровень вложенности элемента справочника
/// в 1с 8.3, 8.2

Сообщить(КопияПерми.Уровень()); // 1

/// Как заблокировать элемент справочника перед изменениями
/// в 1с 8.3, 8.2

// выполним блокировку элемента справочника
// от изменения другими режимами или пользователями

Пермь = ПермьСсылка.ПолучитьОбъект();
Если Не Пермь.Заблокирован() Тогда
Пермь.Заблокировать();
// тут идёт какой-то долгий алгоритм
// в результате которого мы меняем
// заблокированный элемент
Пермь.Численность = 5000;
Пермь.Записать();
// и только потом освобождаем его
// для других режимов и пользователей
Пермь.Разблокировать();
КонецЕсли;

/// Как заполнить новый элемент справочника на основании
/// в 1с 8.3, 8.2

// в модуле справочника Города я определил процедуру
// ОбработкаЗаполнения, которая обрабатывает ситуации
// когда мы заполняем один элемент на основании
// данных другого (см. в базе для скачивания)

Хабаровск = Справочники.Города.СоздатьЭлемент();
Хабаровск.Заполнить(
Справочники.Города.НайтиПоНаименованию("Рио-де-Жанейро")
);
Хабаровск.Наименование = "Хабаровск";
Хабаровск.Записать();

/// Как пометить на удаление элемент справочника в 1с 8.3, 8.2

// пометим на удаление только что созданный Хабаровск
Хабаровск.УстановитьПометкуУдаления(
Истина, // пометка удаления
Ложь // включая подчиненные (если речь о группе справочника)
);
// метод Записать вызывать не нужно

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьКлиентаПоИмени(Имя)
Возврат Справочники.Клиенты.НайтиПоНаименованию(Имя);
КонецФункции

/// Как открыть форму существующего элемента справочника
/// по ссылке в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормуСуществующегоЭлементаСправочника(Команда)

СсылкаНаЭлемент = ПолучитьКлиентаПоИмени("Андрей");

ПараметрыФормы = Новый Структура("Ключ", СсылкаНаЭлемент);

ОткрытьФорму(
"Справочник.Клиенты.ФормаОбъекта", // имя формы
ПараметрыФормы // параметры для формы
);

КонецПроцедуры

/// Как открыть форму существующей группы справочника
/// по ссылке в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормуСуществующейГруппыСправочника(Команда)

СсылкаНаГруппу = ПолучитьКлиентаПоИмени("Vip");

ПараметрыФормы = Новый Структура("Ключ", СсылкаНаГруппу);

ОткрытьФорму(
"Справочник.Клиенты.ФормаГруппы", // имя формы
ПараметрыФормы // параметры для формы
);

КонецПроцедуры

/// Как открыть форму выбора элемента справочника и
/// отследить её закрытие в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормуВыбораЭлементаСправочника(Команда)

ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеВыбораЭлемента",
ЭтотОбъект);

ОткрытьФорму(
"Справочник.Клиенты.ФормаВыбора",,,,,,ОповещениеОЗакрытии
);

КонецПроцедуры

&НаКлиенте
Процедура ПослеВыбораЭлемента(Результат, Параметры) Экспорт

Если Результат <> Неопределено Тогда
Сообщить("Был выбран элемент " + Результат);
КонецЕсли;

КонецПроцедуры

/// Как открыть форму выбора группы справочника и
/// отследить её закрытие в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормуВыбораГруппыСправочника(Команда)

ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеВыбораГруппы",
ЭтотОбъект);

ОткрытьФорму(
"Справочник.Клиенты.ФормаВыбораГруппы",,,,,,ОповещениеОЗакрытии
);

КонецПроцедуры

&НаКлиенте
Процедура ПослеВыбораГруппы(Результат, Параметры) Экспорт

Если Результат <> Неопределено Тогда
Сообщить("Была выбрана группа " + Результат);
КонецЕсли;

КонецПроцедуры

/// Как открыть форму списка справочника и
/// установить отбор по реквизиту в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормаСпискаСправочникаСОтбором(Команда)

// откроем список клиентов, оставив
// только мужчин

ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Пол", ПолучитьПеречислениеМужской());

ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);

ОткрытьФорму(
"Справочник.Клиенты.ФормаСписка",
ПараметрыФормы
);

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьПеречислениеМужской()
Возврат Перечисления.Пол.Мужской;
КонецФункции

/// Как открыть форму списка справочника с нужным отображением
/// в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормуСпискаСправочникаСНужнымОтображением(Команда)

// откроем список клиентов с отображением "Список"

ФормаСписка = ПолучитьФорму("Справочник.Клиенты.ФормаСписка");
ФормаСписка.Открыть();
ФормаСписка.Элементы.Список.Отображение = ОтображениеТаблицы.Список;

КонецПроцедуры

/// Как открыть форму только что созданного, но ещё
/// не записанного элемента справочника в 1с 8.3, 8.2

&НаКлиенте
Процедура КакОткрытьФормуНовогоНеЗаписанногоСправочника(Команда)

// получаем форму нового справочника
ФормаНовогоСправочника = ПолучитьФорму(
"Справочник.Еда.ФормаОбъекта",,, Истина);

// делаем копию её данных (так как напрямую их менять
// нельзя)
КопияДанныхФормы = ФормаНовогоСправочника.Объект;

// заполняем эти данные на сервере
ЗаполнитьДанныеФормыНаСервере(КопияДанныхФормы);

// копируем заполненные данные в исходную форму
КопироватьДанныеФормы(КопияДанныхФормы,
ФормаНовогоСправочника.Объект);

// показываем форму нового заполненного
// элемента справочника пользователю
ФормаНовогоСправочника.Открыть();

КонецПроцедуры

&НаСервере
Процедура ЗаполнитьДанныеФормыНаСервере(ДанныеФормы)

// преобразуем данные формы в документ
Еда = ДанныеФормыВЗначение(ДанныеФормы,
Тип("СправочникОбъект.Еда"));

Еда.Наименование = "Груша";
Еда.Калорийность = 500;

// преобразуем документа обратно в данные формы
ЗначениеВДанныеФормы(Еда, ДанныеФормы);

КонецПроцедуры

/// Скачать и выполнить эти примеры на компьютере

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск