1. Для чего предназначен объект конфигурации "Регистр накопления"?
Официальное и скучное определение из книжки - Регистр накопления предназначен для описания структуры накопления данных.
Теперь немножко факультатива, потом дойдем и поговорим подробнее. Собирать информацию непосредственно из документов/справочников - это долго и непродуктивно. Поэтому разработчики вынесли регистры в отдельный механизм платформы, у которого есть свои фишечки для ускорения работы. Регистры нам в дальнейшем подарят возможность пользоваться виртуальными таблицами и расчетом итогов. То есть вот в книжке по примеру у нас регистр, который считает количество материалов на складе. И мы хотим узнать, а сколько и чего у нас вообще лежит - без регистра мы заставим компьютер сходить в документ 1, посчитать, сколько там нам привалило материалов, сходить в документ 2, посчитать, сколько там, потом не забыть сходить в документы, которые списывают материалы, и посчитать и их тоже... а механизм регистров будет считать итоги сам, без обращения ко всем документам
2. Почему следует использовать регистры, хотя необходимая информация содержится в других объектах?
Частично на этот вопрос я ответил выше - для быстродействия, отдаем подсчет итогов на откуп платформе, второй момент - проще завязать много объектов на относительно малое количество регистров, чтобы при изменении бизнес процессов не поднимать всю цепочку, "а как же у нас там считалось количество материалов", а работать только с регистром, а регистру все равно, пишет в него данные один вид документов или десять.
3. Для чего нужны измерения регистра, ресурсы и реквизиты?
Измерения - в чем будем мерять - вернемся к детскому мультику, где животные меряли удава, и удав это два слоненка, пять мартышек и 38 попугаев. В нашем случае два измерения - Материалы и Склады.
В дальнейшем мы научимся, как брать данные из регистра в разрезе, например, только "материалы":
или только в разрезе "склады" (хотя в данном примере это бессмысленно)
Ресурсы - это то, что мы собственно меряем, что-то, что мы накапливаем.
Реквизиты - некие попутные данные, которые нужны для информации.
Если прямо на пальцах объяснять, и регистр - это яблочный склад, то измерения - это полки (где что лежит), ресурсы - количество яблок, а реквизиты - это наклейки на яблоках (когда собрано, кем собрано, и т.д).
4. Что такое движение регистра и что такое регистратор?
Движение - это набор записей, помещенный в регистр. Регистратор - это объект, который инициировал создание этого набора записей. В понятиях 1с регистратором выступает документ. И как мы раньше говорили, не проведенный документ - это черновик, он еще не оказал воздействия на систему, а проведенный документ уже отражает факт наступившего реального события.
5. Как создать новый регистр накопления и описать его структуру?
Не буду повторяться, в книжке подробно написано да и все объекты в 1с создаются по схожему сценарию - как документы и справочники, создаем в конфигураторе.
6. Как создать движение документа с помощью конструктора движений?
Правый клик по документу в дереве конфигурации - изменить - переходим на вкладку "Движения". Выбираем регистр, для которого будем формировать движения и жмем на кнопку "Конструктор движений":
В конструкторе выбираем, какой тип движения будет (приход/расход), будет ли использована табличная часть и проводим соответствие между элементами регистра и элементами документа
Почти никогда в реальной жизни вы этим конструктором пользоваться не будете) Реальные движения гораздо сложнее и пишутся кодом.
7. Как с помощью встроенного языка обойти табличную часть документа и обратится к её данным?
В книжке нам на текущий момент рассказывают о цикле "Для Каждого... Из...". Есть и другие способы и циклы, но пока остановимся на этом.
Возьмем упрощенный пример и пройдем его по шагам.
Я взял документ "Приходная накладная", и вот такой упрощенный код:
Предположим, что этот код будет выполнятся на первом документе - вот на этом:
Что есть в этом коде - Материалы - это собственно табличная часть документа:
Код говорит нам - для каждой строки из этой табличной части делай какие-то действия, то есть ТекСтрокаМатериалы это и будет текущей строкой.
Вместо ТекСтрокаМатериалы можно написать просто Строка (или даже Артем, именно это наименование не столь важно), только код придется немного переделать:
Если мы переименуем "Материалы", то код работать не будет.
Итак, пойдем последовательно. Наша программа начинает цикл. И берет первую строку:
Через точку (Строка.) можно обратится к любой колонке этой строки.
Строка.Количество будет равно 10, Строка.Цена будет равно 270, Строка.Сумма будет равно 2700, Строка.Материал будет равно Строчный трансформатор GoldStar.
Если я напишу Строка.Склад - то программа выпадет в ошибку, потому что в данной таблице нет такой колонки.
Если мы вместо строки выше назвались Артемом, то код будет Артем.Количество и т.д.
В следующей итерации цикла нам попадет вторая строка и так, пока не закончатся строки в таблице.
8. Как показать команды открытия списка регистра в интерфейсе конфигурации и в интерфейсе форм?
Для подсистем - правый клик мыши в дереве конфигурации по подсистеме, выбрать команду Открыть командный интерфейс, и проставить галочку:
Для документа - открыть в конфигураторе форму, перейти на вкладку "Командный интерфейс" и проставить галочку
Если у вас на вкладке "Перейти" не появляется "Остатки материалов", сохранитесь, закройте конфигуратор и откройте заново.