Версия для печати темы (https://pro1c.org.ua/index.php?s=24641cd077f5f2397a99f5b39cd60a6d&showtopic=7036)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Количество элементов в справочнике

Автор: KCHLEBOPEK 18.04.12, 14:30

Здравствуйте, У меня есть Справочник Студенты с Определенным количеством элементов, и Справочник физические лица тоже с неким количеством элементов. Мне нужно чтобы эти элементы где то отображались то есть показывало количество Студентов и количество Физических лиц, я не знаю где это можно написать в Регистрах? в Справочнике отдельном? может в Журнале? Помогите кто знает и как бы это мне потом в модуле написать.

Автор: ignsv 18.04.12, 15:29

вот так можете получить количество элементов:

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Валюты.Ссылка
        |ИЗ
        |    Справочник.Валюты КАК Валюты";

    Результат = Запрос.Выполнить().Выгрузить();
    
    Количество = Результат.Количество();


Автор: yuritch 18.04.12, 15:58

А лучше так:

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочник.Студенты";

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Количество = Выборка.КолВо;

Автор: ignsv 18.04.12, 16:03

да, согласен (+ ваш вариант быстрее будет )

Автор: KCHLEBOPEK 18.04.12, 16:11

Спасибо Мужики, сейчас все опробую 32000000.gif

Автор: Agapov_Stas 18.04.12, 16:37

Если справочник иерархический - данные могут быть не правильны в таких случаях

надо отбрасывать группы

Автор: KCHLEBOPEK 18.04.12, 16:41

Цитата(Agapov_Stas @ 18.04.12, 19:37) *
Если справочник иерархический - данные могут быть не правильны в таких случаях

надо отбрасывать группы

каким образом?
Кстати Поиск сработал, только как вывести результат?

Автор: Agapov_Stas 18.04.12, 16:47

Поиск сработал отлично и будет срабатывать - но если Вы добавите в справочник - скажем Группу - Студенты1 то количество Элементов возрастет на 1 (что не является истиной )
ЧТоб убрать группы можно в первый запрос добавить условие ГДЕ Справочник.Валюты.ЭтоГруппа = Ложь;

Насчет вывести результаты как - зависит от того где вы их хотите видеть - отчет или в каком то справочнике / форме ?

Автор: KCHLEBOPEK 18.04.12, 16:51

Цитата(Agapov_Stas @ 18.04.12, 19:47) *
Поиск сработал отлично и будет срабатывать - но если Вы добавите в справочник - скажем Группу - Студенты1 то количество Элементов возрастет на 1 (что не является истиной )
ЧТоб убрать группы можно в первый запрос добавить условие ГДЕ Справочник.Валюты.ЭтоГруппа = Ложь;

Насчет вывести результаты как - зависит от того где вы их хотите видеть - отчет или в каком то справочнике / форме ?


Насчет групп, спасибо за совет)
Я хочу вывести результат в отчете, чтоб все культурно было. Количество студентов столько то, Физ лиц столько то.

Автор: Agapov_Stas 18.04.12, 16:56

В чем возникает сложность ?
В написании отчета или в выводе данных ?
Если в написании отчета - то тут поможет мат часть )
Если есть уже полученные данные - колСтудентов и колФизЛиц то при выводе области присвоить соответствующим параметрам эти значения!

Автор: KCHLEBOPEK 18.04.12, 17:04

Цитата(Agapov_Stas @ 18.04.12, 19:56) *
В чем возникает сложность ?
В написании отчета или в выводе данных ?
Если в написании отчета - то тут поможет мат часть )
Если есть уже полученные данные - колСтудентов и колФизЛиц то при выводе области присвоить соответствующим параметрам эти значения!

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

Автор: Agapov_Stas 19.04.12, 8:03

Если в надпись на форме, то создаете реквизит на форме
потом в конце процедуры пишете

ЭлементыФормы."НазваниеРеквизитаНаФорме.Значение" = "РезультатЗапросаСтуденты";

ну и в таком духе
Если все правильно назовете то при нажатии на кнопку с процедурой на форме будет отражаться количество элементов в справочнике

Автор: KCHLEBOPEK 19.04.12, 13:26

Цитата(Agapov_Stas @ 19.04.12, 11:03) *
Если в надпись на форме, то создаете реквизит на форме
потом в конце процедуры пишете
ЭлементыФормы."НазваниеРеквизитаНаФорме.Значение" = "РезультатЗапросаСтуденты";

ну и в таком духе
Если все правильно назовете то при нажатии на кнопку с процедурой на форме будет отражаться количество элементов в справочнике


Вот так написал
Процедура Кнопка1Нажатие(Элемент)
Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент.Формы.ФормаСписка";

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Количество = Выборка.КолВо;
ЭлементыФормы.Надпись1.Значение = "РезультатЗапросаСтуденты";
КонецПроцедуры

Синтаксических нет.
пишет ошибку в откладке.

{Отчет.Отчет1.Форма.ФормаОтчета(9)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(3, 4)}: Таблица не найдена "Справочники.Студент.Формы.ФормаСписка"
ИЗ <<?>>Справочники.Студент.Формы.ФормаСписка


в чем проблема? 47046430.gif

Автор: Vofka 19.04.12, 14:01

Цитата(KCHLEBOPEK @ 19.04.12, 14:26) *
в чем проблема?

А может бросьте это дело, пока не поздно?

|ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент

Автор: KCHLEBOPEK 19.04.12, 14:12

Цитата(Vofka @ 19.04.12, 17:01) *
А может бросьте это дело, пока не поздно?


не сдаемся:)


Процедура Кнопка1Нажатие(Элемент)
Запрос = Новый Запрос;

Запрос.Текст  
|ВЫБРАТЬ
|КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент.Формы.ФормаСписка;
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Количество = Выборка.КолВо;
ЭлементыФормы.Надпись1.Значение = "РезультатЗапросаСтуденты";
КонецПроцедуры

пишет
{Отчет.Отчет1.Форма.ФормаОтчета(6,1)}: Неопознанный оператор
<<?>>|ВЫБРАТЬ  (Проверка: Толстый клиент (обычное приложение))

Автор: mister-x 19.04.12, 15:00

|ИЗ Справочники.Студент.Формы.ФормаСписка";
faceoff.gif
почитайте Радченко. Практическое пособие разработчика

Автор: Vofka 19.04.12, 15:03

KCHLEBOPEK, всетаки бросайте это дело.

Цитата(mister-x @ 19.04.12, 16:00) *
почитайте Радченко. Практическое пособие разработчика

Да ладно Радченка, хоть шо нибудь, посты в теме хотя бы.

Автор: KCHLEBOPEK 19.04.12, 15:04

Цитата(mister-x @ 19.04.12, 19:00) *
|ИЗ Справочники.Студент.Формы.ФормаСписка";
faceoff.gif
почитайте Радченко. Практическое пособие разработчика

Почитаю я его, времени сейчас просто нет.
Вы подскажите что неправильно и что исправить

Автор: mister-x 19.04.12, 15:14

про конструктор запитів чули? викор. його для формування запитів на початках

Автор: Ziam 19.04.12, 15:17

Эх, если и найдется добрая душа, то времени вы убъете много.
Ваша задача описывается фразой: "сделайте за меня", так что послушайте админа и бросайте вы это дело.

Автор: KCHLEBOPEK 19.04.12, 15:26

Цитата(mister-x @ 19.04.12, 18:14) *
про конструктор запитів чули? викор. його для формування запитів на початках

Спасибо хоть на этом. Счяс буду изучать конструктор запроса

Автор: Ziam 19.04.12, 15:33

А вообще в прошлой вашей ошибке вы текст запроса в кавычки не вставили. Посмотрите внимательнее те примеры, которые вам давали другие участники форума

Автор: KCHLEBOPEK 19.04.12, 15:40

Цитата(Ziam @ 19.04.12, 18:33) http://pro1c.org.ua/index.php?act=findpost&pid=48945
Был у меня он вставлен в кавычки, мне сказали убрать и сделать вот так
|ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент

а было вот так
"ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент.Формы.ФормаСписка";


Автор: Ziam 19.04.12, 15:54

faceoff.gif
Ну почитай бы вы вначале литературу, у вас бы получилось такое

Запрос.Текст = "
|ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент";

Автор: KCHLEBOPEK 19.04.12, 15:56

Цитата(Ziam @ 19.04.12, 18:54) *
faceoff.gif
Ну почитай бы вы вначале литературу, у вас бы получилось такое

Запрос.Текст = "
|ВЫБРАТЬ
|   КОЛИЧЕСТВО(*) КАК КолВо
|ИЗ Справочники.Студент";

все, все, уже читаю.

Автор: Ziam 19.04.12, 15:58

А день то уже потеряли...

Автор: KCHLEBOPEK 19.04.12, 16:00

Цитата(Ziam @ 19.04.12, 18:58) *
А день то уже потеряли...

Зато модуль получил, надо только разобраться в конструкторе запросов и все.

Автор: Agapov_Stas 19.04.12, 18:42

Это как то уже смахивает на фарс -
Как можно с ТАКИМ знаниями - ПИСАТЬ СВОЮ КОНФИГУРАЦИЮ ???
Это если Вы столько постов на первом справочнике написали и два дня потратили - представляю что будет дальше ...
Поставьте задачу - наймите программиста
Если нет - пойдите на курсы - почитайте мат часть
Просто не вижу смысла Вам вбивать основы программирования 1С если Вы сами к этому не стремитесь
Начинать писать конфигурацию - не прочитав хоть какую то литературу и без каких либо знаний и надеяться на то что за Вас все напишут на форуме а вы только будете ставить задачи (и как показывает пример не всегда правильно ) это по меньшей мере оскорбительно к другим программистам которые хоть чуточку уважают свои знания и готовы ПОМОЧЬ, НАПРАВИТЬ - но не СДЕЛАТЬ ЗА ВАС !!!
а У Вас все сводится к такому :
Вы - "У меня такая то задача"
Ответ - "Пример такой то - подстройте под себя "
Ваши действия - я все скопировал дословно - не понимаю что это но скопировал - бьет ошибку !
icon_cuss.gif


Цитата
Зато модуль получил, надо только разобраться в конструкторе запросов и все.

Дело даже не в работе конструктора запроса - как говориться : "В программировании все зависит от перемычки - между стулом и клавиатурой!"

Автор: KCHLEBOPEK 19.04.12, 20:27

Цитата(Agapov_Stas @ 19.04.12, 21:42) *
Поставьте задачу - наймите программиста

Давно бы нанял, нету такого.

Автор: Agapov_Stas 19.04.12, 21:13

Цитата
Давно бы нанял, нету такого.

Из всего поста Вы вынесли только одну фразу - печально (
faceoff.gif

Автор: Vofka 20.04.12, 8:08

Agapov_Stas, это человек диплом пишет, какая там своя конфигурация smile.gif . А так то я с вами полностью согласен. И после этой темы я ТС дальше помогать не буду. 439.gif

Цитата(KCHLEBOPEK @ 19.04.12, 21:27) *
Давно бы нанял, нету такого.

Как нету, вот он я 32541850.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua