Имя: Пароль:
1C
1C 7.7
v7: Многомерные измерения или Регистры с нуля
Ø (Злопчинский 08.03.2015 00:28)
, ,
0 Lsr
 
05.03.15
16:05
Кризис. Пришлось заняться ТиС 77. Был заказчик и работу уже сдал, как экзамен в институте - ничего не понимая, но конспект вызубрив. Заказчик счастлив. Теперь хочется понять самому. Интернет посмотрел, пример простого склада посмотрел, но суть так и не понял. В примере Митичкина все слишком просто, в реальной конфигурации - слишком сложно.
Попробую озвучить своё понимание и непонимание. Если использовать бухгалтерскую конфигурацию для аналогий, то Измерения - это "субконто", Ресурсы - это сумма и количество, т.е. цифры. Но какой смысл в "Реквизиты" в регистре остатков представить не могу. Например, есть регистр Остатки с измерениями: Номенклатура, Склад, Документ, Цена, Контрагент. Ресурсы: Сумма, Количество. Реквизиты: Поставщик, Реализация,Комплект, Стоимость. Какую бизнес-логику обеспечивает такой регистр?
А оборотных регистров вообще в конфигурации не было. Может кто без издевательств расскажет на "пальцах" суть?
1 fisher
 
05.03.15
16:07
О как. То есть до сути реквизитов проводок ты тоже не докопался?
2 vde69
 
05.03.15
16:10
ресурсы расчитываются в таблицах остатков и оборотов
реквизит - не расчитывается, реквизит - это поле одной записи основной таблицы

пример

измерение - "Документ" = "Сделка 1"
Ресурс - "количество" = +1
Реквизит - "примечание" = "наш договор 35, их договор 56"
3 НеБорис Нуралиев
 
05.03.15
16:10
(0) Реквизиты в регистрах 1С 7.7, как правило, нужны для отчетов. Механизм запросов 1С умеет фильтровать обороты по значениям реквизитов.
4 Ёпрст
 
05.03.15
16:10
Реквизиты регистра обеспечивают дополнительную аналитику при анализе движений регистра
5 vde69
 
05.03.15
16:11
(3)+ еще полнотекстовый поиск по ним удобен
6 fisher
 
05.03.15
16:13
Суть простая. Регистр накопления состоит из двух физических таблиц. Движений и промежуточных итогов (помесячных). Промежуточные итоги рассчитываются автоматически и нужны для быстрого получения данных за большие периоды, даже если движений очень много.
Промежуточные итоги рассчитываются только для ресурсов. Реквизиты существуют только для движений.
На практике по реквизитам можно получать обороты (но медленнее, чем по ресурсам оборотного регистра) и когда нужны дополнительные признаки движений для каких-то алгоритмов, которые анализируют именно движения.
7 Злопчинский
 
05.03.15
17:42
Если ты открывал одинэсбухию например семерочной версии
То в проводках там есть неформализуемое поле содержание проводки по сути комментарий К ДВИЖЕНИЮ ПО СЧЕТАМ

Реквизиты это по сути теже самые комментарии к движениям но по регистру при этом малость формализованные вот и все
8 Lsr
 
05.03.15
21:39
Спасибо ВСЕМ откликнувшимся на мою проблему. Не сочтите за наглость, но я прокомментирую все ответы, что бы Вы поняли, что ни один из ответов не является полноценным, хотя каждый имеет рациональную составляющую.
(1) Докопался. Если бы у регистра был один реквизит, то я соотнес бы его к комментарию в проводках. Но в регистре реквизитов куча и разных типов (число, справочник, перечисление, строка). Ваш ответ не раскрывает тему.
(2) Очень нравятся ответы с примерами. Спасибо. Но почему пример не с пятью реквизитами? Возможно я бы понял смысл.
(3) Думаете я этой формальной фразы не читал? Читал.
(4) Ну так давайте создадим еще одно или два измерения. Пусть реквизит выполняет свою роль комментария.
(5) А по измерениям искать неудобно?
(6) Извините, по отдельности каждое предложение понимаю, но суть не видна. Хотя, возможно, Вы глубже всех "копнули".
(7) см (1)
Мужики, Вы не показываете логику. Покажите на примере НЕОБХОДИМОСТЬ 5 реквизитов по сравнению с дополнительными 5 измерениями. Мне необходим такой уровень понимания, что бы я мог сам четко сгенерировать и объяснить почему 5 реквизитов лучше, чем два дополнительных измерения.
9 Lsr
 
05.03.15
21:41
И спасибо, что не ерничали.
10 ДенисЧ
 
05.03.15
21:42
(8) Измерения - они несут нагрузку накопления данных.
Реквизиты - нагрузку дополнительной информации к движению.
Например.
Регистр партий.
Реквизит ВидОперации
У прихода - "Приход", у расхода "Продажа" или "Списание"
Если это будет измерением, то регистр никогда не закроется.
11 Злопчинский
 
05.03.15
21:52
ща попробуем.
Пусть у тебя будет ПриходТМЦ.
По измерениям Склад-Номенклатура
Причем этот товар ОДИНАКОВЫЙ, но приезжает к тебе на склад разным способом - фурой, поездом, на санях и курьером. Учет у тебя простой - тебе главное - знать скольо товара на складе.
.
Поэтому количество товара в приходе отражается по Измерениям - Фирма-Склад-Номенклатура. И когда товар ЛЕЖИТ на складе - то совершенно пофиг как он пришел. Просто ты при отражении прихода - ТО ЕСТЬ ДВИЖЕНИЯ товара (а не его остатка) в движении записываешь дополнительный флажок "ВидПрихода" (фура, поезд, сани).
.
Теперь когда ты продаешь товар - ты продаешь его с конкретного склада конкретный товар.
Итого Приход

Движение1: ПРИХОД (Основной склад, Товар1) +10 (видприхода=Фура)
Движение2: ПРИХОД (Основной склад, Товар1) +20 (видприхода=ПОезд)

Итого на складе: остаток (Основной склад, Товар1) = 30 шт.

Теперь ты его продаешь - откуда - со склада, конкретный товар:
Движение3: РАСХОД (Основной склад, Товар1) -15шт

Итого на складе: остаток (Основной склад, Товар1) = 15 шт.
12 Злопчинский
 
05.03.15
22:06
Теперь представим что ВидДвижения - ты запихнешь в измерения, что получится:

Движение1: ПРИХОД (Основной склад, Товар1, Фура) +10
Движение2: ПРИХОД (Основной склад, Товар1, Поезд)) +20

Каков остаток товара на складе? = 30 штук? - НЕТ!
остаток на складе ТЫ ОКАЗЫВАЕТСЯ УЧИТЫВАЕШЬ ПО ВИДУ ПРИХОДА
поэтому остаток у тебя не 30 шт (Основной склад, Товар), а 10+20, а именно

Остаток товара:
(Основной Склад, Товар1, фура) = 10
(Основной Склад, Товар1, поезд) = 20

Теперь, когда ты продаешь товар - тебе пофиг как он приходил (он весь лежит в однйо куче и весь одинаковый) и ты смело продаешь 15 штук, сколько у тебя на складе осталось товара? 15 штук - НЕТ!

Продажа делаешь просто
Движение1: РАСХОД (Основной склад, Товар1) -15

и что у тебя получается на остатках - нифига не 15 штук - у тебя на остатках в плюсе получается 10 и 20 (не 30!!!), а В МИНУСОВОМ остатке -15шт

Почему? потому что - груши с яблоками нельзя складывать!

Итого после продажи остатки на складе:

Остаток товара:
(Основной Склад, Товар1, фура) = 10
(Основной Склад, Товар1, поезд) = 20
(Основной Склад, Товар1, <пусто>) = -15

Итого получается нескладушечка - это и называется незакрытые регистры.

Это как в садик отвел мальчика, а вечером тебе возвращают девочку - а фигли = 1штуку отдал, 1шт получил...

если остаток на складе "свернуть" по измеренияю "видприхода" - это называется "сводный остаток" - в нашем случае при сворачивании\схлопывании измерения "видприхода"
СводныйОстаток(ОсновнойСклад,Товар1)=15шт. ЧТО СООТВЕТСВУЕТ ФИЗИЧЕСКИ НАБЛЮДАЕМОМУ.
А это означает что для учета физического наличия товар ана складе измерение "вид прихода" - полная хрень и характеризует лишь вид движения по приходу, но не относится к остаткам - поэтому "вид движения" выносят в реквизит (то есть признак движения).

Что выносить в Измерения, а что в реквизиты - определяется ПОТРЕБНОСТЯМИ УЧЕТА. и то что в простом учете можно вынести в реквизит в одном регистре - при более сложном учете может понадобиться организовать второй регистр, где реквизит превратится в измерение.
13 Злопчинский
 
05.03.15
22:08
Надо учесть что есть регистры остатков, а есть регистры оборотов...
14 Lsr
 
05.03.15
22:22
(11) Вы блестяще доказали, что суть реквизита - комментарий. Но Вы игнорируете контекст первого поста. Зачем много реквизитов? Пока писал этот пост Вы добавили информации. С одной стороны пример (12) демонстрирует суть, но с другой стороны Вы слукавили. Путь фура и поезд будут 3-м субконто (бух). Типа, партия. Мне ничто не мешает отследить хоть 5 субконто(измерений, регистров) и сделать правильный приход/расход. Потому вопрос остается открытым: зачем несколько рекизитов. Прочитайте внимательно исходный вопрос. Самую интересную часть Вы скрыли в последнем абзаце (12).
15 Злопчинский
 
05.03.15
22:47
(14)  реквизитов может быть столько сколько этого требуется
Может совсем не быть

И не надо третье субконто вносить как лишнюю сущность партия
Мы говорим об учете остатков на складе
Товар весь одинаковый независимо от вида его доставки

Можно все что угодно
Можно каждый гвоздь из тонны маркировать личным штрихкодом

А про последний абзац ну так оно и есть все определяется потребностями учета

Представьте что потребности вашего учета при продаже требуют явного указания склада откуда продавать и товар который продавать - а это так и есть - и отделу продаж совершенно пофиг как пришел товар. Продажи продают остатки которые лежат на складе а не виды приходов. А это значит что в нашей СХЕМЕ УЧЕТА ОСТАТКОВ НА СКЛАДЕ ВИД ДВИЖЕНИЯ КАК ИЗМЕРЕНИЕ ОСТАТКОВ ИЗЛИШЕН
Излишен именно для учета остатков
Если в схеме учета есть потребность учета и анализа причем частого вида прихода Например чтобы дать ответ закупщикам и транспортникам  каким именно способом чаще всего доставляется товар имеет смысл организовать регистр оборотов Поставки - где вид движения - измерение

Да можно все впихнуть в один регистр при в таком регистре будет гораздо больше ненужных записей которые не несут никакого смысла в нашей системе учета вместо одной записи по расходу остатков будет две по каждому виду приходов что для учета остатков неинужно
Когда работают два чела по три документа в день то это некритично (правда принаписании отчетов по расходу товара придется писать допкод по схлопыванию ненужного измерения) а вот когда в день несколько тысяч документов и под несколько десятков сотрудников то неоптимальная структура регистров приводит к тормозам блокировкам и неоправданному разрастанию базы что в свою очередь ведет к увеличению времени формирования отчетов и проблемам с бэкапами И так далее итп
16 Злопчинский
 
05.03.15
22:54
(14)  и суть реквизита это не комментарий
Комментарий это неформализуемая произвольная инфа
А реквизит жто всетаки неким образом формализованный перечень

Например
Включив в регистр остатков реевизит "Внутреннее" с возможными значениями 0 и 1 мы просто и красиво решим задачу получения ответа на вопрос " сколько товара поступило на склад от поставщиков за период" простым подсчетом: возьмем оборот по приходу где "внутреннее" = 0

А взяв оборот по приходу по складу с "внутреннее=1" мы получим сколько товара пришло с других складов нашей компании
17 ADirks
 
06.03.15
08:09
(8) суть в том, что реквизиты - никому не нужное зло
не используй их никогда
18 Lsr
 
06.03.15
08:44
(16) Большое-большое спасибо!!!! Теперь я понял суть реквизитов у регистров. Кратко я сказал бы, что реквизит - это субконто в проводках, которое для бух итогов всегда "схлопывается".
(17) Здорово, когда есть альтернативное мнение. Не могли бы Вы подкрепить Ваши слова аргументирующим примером?
19 ADirks
 
06.03.15
08:48
(18) Я не знаю ни одного случая, когда бы реквизиты пригодились.
Зато вопрос "как получить остатки по реквизиту" - один из хитов на форумах.
20 Lsr
 
06.03.15
09:03
(19) Извините "Я не знаю ни одного случая" - это не аргумент. Я тоже в каких-то вопросах не знаю ни одного случая. Но это минус мне. А вопрос  "как получить остатки по реквизиту" возникает потому, что у людей, как и у меня до сих пор, нет понимания сути реквизита. Что в свою очередь говорит о низком качестве обучающего материала, не раскрывающего суть вещей. В общем, Ваша отмазка не защитывается.
21 Дмитрий
 
06.03.15
09:04
(19) ссылка на документ-регистратор тоже в некотором роде реквизит. И как он может не пригодиться?
22 Lsr
 
06.03.15
09:10
(21) Пожалуйста, выражайте свои мысли однозначно.
1)Что значит в Ващем понимании "ссылка"?
2)Что значит "в некотором роде"?
Такой фразеологией можно утверждать что угодно!
23 ADirks
 
06.03.15
09:18
(20) то, что никто не понимает сути этой фигни, говорит о том, что этой сути попросту нет.

(21) документ не является реквизитом регистра. Он является владельцем и хозяином его движений.
24 Дмитрий
 
06.03.15
09:19
(22) Если движения в регистр записываются документом, то к каждой записи такого регистра привязан реквизит, с помощью которого можно получить документ, который произвел эту запись.

С помощью этого реквизита можно определить, какие именно записи произвел тот либо иной документ. Также можно отследить историю изменения какого либо ресурса в разрезе определенных измерений.

Например
По складу такому то было движение ресурса количество:
01.01.2015 приходный документ №1   +20
15.01.2015 расходный документ №500 -13
16.01.2015 документ списания  №8   -3

А без этого реквизита мы бы получили только
январь остаток на начало 0, приход 20, расход 16, остаток на конец 4

А откуда эти цифры взялись - поди угадай
25 Drac0
 
06.03.15
09:31
(23) "то, что никто не понимает сути этой фигни, говорит о том, что этой сути попросту нет. "

Как это никто не понимает? Тут несколько человек даже провели ликбез. ИМХО, мало у кого могут возникнуть проблемы с пониманием их сути, но всякое бывает.

"документ не является реквизитом регистра. Он является владельцем и хозяином его движений."

Как все запущено. По своей сути это и есть реквизит. Просто он предопределен. В 8-ке этого реквизита может и не быть, если регистр независимый.
26 Lsr
 
06.03.15
09:33
И еще вопрос для полного "устаканивания". Раньше я полагал, что регистр остатков - это полочка в шкафу с подписью "ИТОГО",  когда посмотрел ДБФ, то понял, что подпись "+/-", а итог надо подсчитать самому. Но тогда
1)зачем нужен второй регистр остатков под названием "Движение", если я из первого регистра могу подсчитать и остатки и движение в разрезе любого измерения, т.е. по товару и контрагенту?
2)Зачем нужны оборотные регистры?
27 ДенисЧ
 
06.03.15
09:36
(26) 1. Регистр - это две таблицы - первая движения, вторая - итоги в разрезе периодов (обычно месяц)
2. Чтобы считать обороты, а не остатки
28 Lsr
 
06.03.15
09:37
(24) (25) Давайте придерживаться контекста вопроса и формальных признаков.
Вы видели в регистре остатков реквизит "документ-хозяин"? Нет!!! Тогда не надо подменять понятия.
29 Lsr
 
06.03.15
09:40
(27) А кто мне запретит считать обороты по регистру остатков, тем более, если в конфигурации нет оборотного регистра. (27) -холостой выстрел.
30 ДенисЧ
 
06.03.15
09:41
(29) Никто не запретит. Так же как и в Тайланд на роликовых коньках ехать тебе тоже никто не запретит. И остатки в справочнике хранить - тоже
31 ShoGUN
 
06.03.15
09:43
(29) Зачем хранить и считать остатки в случае, если они не нужны? Вот для этого и нужен оборотный регистр - чтобы не хранить и не считать ненужное.
32 Drac0
 
06.03.15
09:49
(28) "Вы видели в регистре остатков реквизит "документ-хозяин"? Нет!!! Тогда не надо подменять понятия."

Видел. Называется "Регистратор". Это предопределенный реквизит записи регистра. Никакой подмены понятий нет. У документов и справочников же есть предопределенные реквизиты, почему вас удивляет их наличие для регистра?
33 Остап Сулейманович
 
06.03.15
09:57
(29) Иногда нужны остатки. Например остаток товара на складе. Иногда остатки не нужны. Сколько например остатков может быть при реализации услуг? Или при расчете пробега автомобиля.
Посему и типов регистров два. Один хранит движения по видам "Приход"-"Расход" и на основании этих данных рассчитывает "остаток". Второй хранит только обороты.
34 Lsr
 
06.03.15
09:59
(31) Без аргументирующего примера - "вода".
35 Остап Сулейманович
 
06.03.15
10:01
(34) Аргументирующий пример - "вода". Банальное ея потребление. Например потребление воды потребителем таким то - столько то. Какой у потребления может быть остаток?
36 Ёпрст
 
06.03.15
10:01
Оборотный регистр нужен для быстрого получения оборота, ибо так же как и останковый - хранит промежуточные итоги по оборотам регистра в отдельной табличке.
37 ShoGUN
 
06.03.15
10:03
(34) Вся ветка - обитель идиотизма, ибо ты требуешь обоснования азбучных истин. Примеры уже привели.
38 ShoGUN
 
06.03.15
10:04
(36) Разве регистр остатков не имеет таблицы оборотов?
39 Lsr
 
06.03.15
10:04
(32) Пишу свои вопросы открыв реальную конфигурацию ТиС 77. Нет "Регистратор". Может его можно создать, но это другой вопрос. Вижу у регистра только три составляющих: Измерения, Ресурсы, Реквизиты.
40 Ёпрст
 
06.03.15
10:05
(38) читай внимательнее - оборотный регистр имеет промежуточные итоги по оборотам, останковый - промежуточные обороты по останкам.
41 Остап Сулейманович
 
06.03.15
10:06
(39) И есть "предопределенный"/"скрытый" реквизит ТекущийДокумент. Это то, что касается 7-ки. От того, что он не задается руками, а задается платформой его не перестает там быть.
42 Остап Сулейманович
 
06.03.15
10:07
+ (41) Его можно вытащить методом объекта ТекущийДокумент() или вытащить его запросом. Или Запрос сам его включит в выборку при указании группировки "Документ".
43 ShoGUN
 
06.03.15
10:09
(39) Фейспалм. А может ты ещё реквизит "ДатаДок" у документа поищешь? Ну нету же его в конфигураторе...
44 ShoGUN
 
06.03.15
10:10
(40) Пардон, не так прочитал.
45 Lsr
 
06.03.15
10:22
(35) Принято.
(37) Пословица: "Если тебя окружают идиоты - значит ты центровой"
(41) (42) Я знаю, что "потроха" всегда привязаны к документу. Но это не значит, что можно использовать выражение "реквизит регистра".
(43) Пословица: "Точность - вежливость королей".
Всем большое СПАСИБО за ликбез. Всем Хороших клиентов.
46 ShoGUN
 
06.03.15
10:24
(45) >Но это не значит, что можно использовать выражение "реквизит регистра".
Зануда и буквоед. То, что объектная модель у семёрки кривовата - не значит, что у движения нет поля "Регистратор".
47 ShoGUN
 
06.03.15
10:28
+(46) Читаем и удивляемся:
http://www.script-coding.com/v77tables.html#3.4.2.1.2.
48 Lsr
 
06.03.15
10:59
(46) "Зануда и буквоед" Спасибо за комплимент.
(47) Не натыкался на эту страницу. Посмотрю на досуге. Спасибо.
49 Злопчинский
 
06.03.15
13:00
(30) а что вы имеете против хранения остатков в справочнике?
50 ДенисЧ
 
06.03.15
13:02
(49) В случае WMS - абсолютно ничего )
51 ДенисЧ
 
06.03.15
13:02
да и в общем для OLTP.
Вот для OLAP - много чего имею
52 Злопчинский
 
06.03.15
13:02
(50) Слив засчитан! ;-)
53 ДенисЧ
 
06.03.15
13:16
(52) Да нифига!
WMS - это очень частный случай.
54 Масянька
 
06.03.15
16:58
Извините, что вмешиваюсь, но моя тему закрыли :((((((

Поэтому спрошу тута: если нужны остатки (регистр остатков) с доп. аналитикой (по ресурсам и реквизитам) как правильно сделать в отчете (запрос) выбор даты?
55 Ёпрст
 
06.03.15
17:09
(54) по остаткам не доступны реквизиты регистра (их просто физически нет в табличке остатков). Поентому, любая дата
56 Ёпрст
 
06.03.15
17:10
период там нужен, если
а) нужны помимо останков еще и движения (приход,расход)
б)нужен остаток на начало периода и на конец
57 Масянька
 
06.03.15
17:13
(55) Если ставлю один день - реквизитов/ресурсов нету, а если ставлю период (дата начала <> дата окончания) - есть.
(56) Движения не нужны. Нужны именно останки (тьфу!), но с аналитикой.
58 Ёпрст
 
06.03.15
17:18
(57) если в тексте запроса только начОст и КонОст - то нету
59 Злопчинский
 
06.03.15
17:51
(53) Убедил, чертяка! ;-)
Программист всегда исправляет последнюю ошибку.