Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 05:54
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Список регистров.  (Прочитано 5247 раз)

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

Оффлайн MagistrPavel

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-30
  • Сайт: 
  • Профессия: Консультант 1С
Добрый день.
Подскажите пожалуйста как вывести список регистров накопления на платформах 1С 8.2 и 8.3?
И каждому регистру список регистраторов (т.е. всех документов № документа, дата , наименование)
Пример (у регистра 2 не было задействовано ни одного регистратора)
Регистр 1
Реализация товаров 03838584353 от 16.09.2015
Реализация товаров 03838535455 от 18.09.2015
_________________
Регистр 2
_____________________________
Регистр 3
поступление товаров 7823757325 от 01.03.2014
_______________


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
набросал за 15 минут следующий код:
Для каждого Регистр Из Метаданные.РегистрыНакопления Цикл
Сообщить(Регистр.Имя);
//НаборЗаписей = РегистрыНакопления[Регистр.Имя].СоздатьНаборЗаписей();
//Для каждого Регистратор Из НаборЗаписей.Отбор.Регистратор.ТипЗначения.Типы() Цикл
// Сообщить(Символы.Таб + Регистратор);
//КонецЦикла;

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 10
| ТоварыНаСкладах.Регистратор
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах";

Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТоварыНаСкладах", Регистр.Имя);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл
Сообщить(Символы.Таб + Выборка.Регистратор);
КонецЦикла;
КонецЦикла;

если я правильно понял вопрос, то это то, что нужно

код в комментариях - получение списка всех возможных видов регистраторов.

Оффлайн MagistrPavel

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-30
  • Сайт: 
  • Профессия: Консультант 1С
Нет не правильно, вы выводите только товары на складах, мне нужен список вообще всех регистров накопления и всех регистраторов к ним, которые используются в базе, в примере просто формулировка вывода была на экран.

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
вы выводите только товары на складах
о чем это вы?

может стоило сначала попробовать выполнить? ну или на худой конец, код посмотреть повнимательнее. если присмотреться, можно заметить строку
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТоварыНаСкладах", Регистр.Имя);
Добавлено: [time][/time]

собственно, приложу готовую обработку. форма обычная. на управляемую если что не сложно перевести.

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
Ну и совсем уж для полноты картины, вот кусочек результата в моей тестовой базе:

БракВПроизводстве
БракВПроизводствеБухгалтерскийУчет
БракВПроизводствеМеждународныйУчет
БракВПроизводствеНалоговыйУчет
ВзаиморасчетыСДепонентамиОрганизаций
ВзаиморасчетыСКонтрагентами
   Реализация товаров и услуг ТД000056285 от 17.10.2012 7:17:20
   Реализация товаров и услуг ТД000056287 от 17.10.2012 7:19:16
   Реализация товаров и услуг РНд00007342 от 17.10.2012 7:19:58
   Реализация товаров и услуг ТД000056288 от 17.10.2012 7:20:33
   Реализация товаров и услуг ТД000056290 от 17.10.2012 7:20:55
   Реализация товаров и услуг ТД000056294 от 17.10.2012 7:22:22
   Реализация товаров и услуг ТД000056296 от 17.10.2012 7:22:49
   Реализация товаров и услуг ТД000056300 от 17.10.2012 7:24:19
   Реализация товаров и услуг ТД000056302 от 17.10.2012 7:24:50
   Реализация товаров и услуг ТД000056305 от 17.10.2012 7:25:45
ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов
   Реализация товаров и услуг ТД000056262 от 17.10.2012 7:07:43
   Реализация товаров и услуг ТД000056263 от 17.10.2012 7:08:17
   Реализация товаров и услуг ТД000056263 от 17.10.2012 7:08:17
   Реализация товаров и услуг ТД000056264 от 17.10.2012 7:08:58
   Реализация товаров и услуг РНд00007340 от 17.10.2012 7:11:53
   Реализация товаров и услуг ТД000056268 от 17.10.2012 7:12:07
   Реализация товаров и услуг ТД000056269 от 17.10.2012 7:12:37
   Реализация товаров и услуг ТД000056270 от 17.10.2012 7:12:59
   Реализация товаров и услуг ТД000056271 от 17.10.2012 7:13:19
   Реализация товаров и услуг ТД000056272 от 17.10.2012 7:13:35

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
единственное, что там надо исправить - убрать "ПЕРВЫЕ 10" из запроса, если нужно вывести все регистраторы за все время. Я просто для теста добавил это - чтобы запустить и в приемлемое время получить результат, убедиться, что он именно такой, как указано в стартпосте.

Оффлайн MagistrPavel

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-30
  • Сайт: 
  • Профессия: Консультант 1С
Спасибо большое. Работает проверил на БП 2.0 и Бп 3.0, т.е. на всех конфигурациях для платформ 8.2 и 8.3 будет работать? Код не меняется? А возможно вывод делать в таблицу а не в сообщения?

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
любой каприз за ваши деньги ©

Оффлайн MagistrPavel

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-30
  • Сайт: 
  • Профессия: Консультант 1С
Вывод в таблицу додумал сам как сделать.
Процедура КнопкаВыполнитьНажатие(Кнопка)
   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Регистр");
   ТЗ.Колонки.Добавить("Регистратор");
   Для каждого Регистр Из Метаданные.РегистрыНакопления Цикл
   НоваяСтрока = ТЗ.Добавить();
        НоваяСтрока.Регистр = Регистр.Имя;
               
      Запрос = Новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 10
      |   ТоварыНаСкладах.Регистратор
      |ИЗ
      |   РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах";
      
      Запрос.Текст = СтрЗаменить(Запрос.Текст, "ТоварыНаСкладах", Регистр.Имя);
      
      Результат = Запрос.Выполнить();
      Выборка = Результат.Выбрать();
      
      Пока Выборка.Следующий() Цикл
      НоваяСтрока = ТЗ.Добавить();
      НоваяСтрока.Регистратор =Символы.Таб + Выборка.Регистратор;
      КонецЦикла;
   КонецЦикла;
   ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ;
   ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
КонецПроцедуры

Теперь не понимаю как лучше дату ограничить в запросе или при выводе? Т.е. например я хочу регистраторы по всем регистрам только после 1 января 15 года вывести.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Однозначно в запросе.


Теги:
 

Что такое "Список Значений", "Таблица значений" и "Дерево Значений"?

Автор JahongirРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 6784
Последний ответ 23 Дек 2011, 16:43
от sergeevds
Массив, Таблица значений и Список значений

Автор Константин163Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 5869
Последний ответ 25 Мар 2015, 16:02
от cska-fanat-kz
Дин.список отбор данных - не работает код при тех же данных

Автор Аля ТинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 103
Последний ответ 13 Дек 2017, 09:15
от Аля Тина
Как из справочника вытащить список одной группы справочника и вставить его в поле документа для выбора одного элемента из полученного списка?

Автор ilnur75Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 1682
Последний ответ 21 Сен 2016, 08:16
от GadLex
Отчет "Штатно-должностной список"

Автор SashenkaРаздел Закрытые темы

Ответов: 0
Просмотров: 2205
Последний ответ 08 Апр 2010, 03:00
от Sashenka

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
175 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
AIFrame
39 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 288
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal