Чем отличается измерение от реквизита в регистре сведений

Регистр сведений отличие Реквизита от Измерения

Я
   unTonee

11.02.09 — 12:52

Подскажите, пожалуйста, в чем различия назначения использования в регистре сведений Реквизита и Измерения?

  

Партнерская программа EFSOL Oblako

   unTonee

1 — 11.02.09 — 12:52

Тема по 1С:Предприятию 8.х

   unTonee

2 — 11.02.09 — 13:09

Текст вопроса, тоже другой: Подскажите, пожалуйста, в чем различия назначения использования в регистре сведений Реквизита и Ресурса?

   rotting

3 — 11.02.09 — 13:10

(2) Так скоро и сам себе ответишь

   dimoff

4 — 11.02.09 — 13:13

(2) Только логический. В ресурсы нужно пихать то что является результатом, а в реквизиты то что характеризует саму запись. Но реально и то и то получается одинаково.

   Новиков

5 — 11.02.09 — 13:16

(0) Инфа в рс хранится в виде ресурса, а тот разрез по которому ты ее хочешь получать — в измерении. Разница между реквизитом и ресурсом на практике — никакой. Только в словоблудии

   НЕА123

6 — 11.02.09 — 13:35

(5)

если верить СП, то есть разница.

   НЕА123

7 — 11.02.09 — 13:36

+(5)

СП

РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)

Выбрать (Select)

Вариант синтаксиса: Для периодического регистра

Синтаксис:

Выбрать(<Начало интервала>, <Конец интервала>, <Отбор>, <Порядок>)

Параметры:

<Начало интервала> (необязательный)

Тип: Дата, МоментВремени, Граница. Начало интервала, за который будут выдаваться записи периодического регистра сведений. Если не указан, то будут выдаваться записи с самого ранней включительно. Может задаваться значениями типа Дата, МоментВремени или Граница.

<Конец интервала> (необязательный)

Тип: Дата, МоментВремени, Граница. Конец интервала, за который будут выдаваться записи периодического регистра сведений. Если не указан, то будут выдаваться записи до самой поздней включительно. Может задаваться значениями типа Дата, МоментВремени или Граница.

<Отбор> (необязательный)

Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры — значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение «Индексировать» или установлен признак «Ведущее». Вид сравнения может быть только Равно.

Важно! Структура может содержать только один элемент.

Если параметр не указан, то отбор не используется.

<Порядок> (необязательный)

Тип: Строка. Может содержать слово «Возр» или «Убыв», тогда стандартный порядок будет использоваться с указанным направлением.

Может содержать имя поля (реквизита или измерения, для которых указано индексирование) и слово «Возр» или «Убыв», тогда упорядочивание будет производится по указанному полю в указанном порядке.

Значение по умолчанию: «Возр»

Вариант синтаксиса: Для непериодического регистра

Описание:

Используется только для непериодического регистра

Синтаксис:

Выбрать(<Отбор>, <Порядок>)

Параметры:

<Отбор> (необязательный)

Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры — значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение «Индексировать» или установлен признак «Ведущее».

Важно! Структура может содержать только один элемент.

Если параметр не указан, то отбор не используется.

<Порядок> (необязательный)

Тип: Строка. Может содержать слово «Возр» или «Убыв», тогда стандартный порядок будет использоваться с указанным направлением.

Может содержать имя поля (реквизита или измерения для которых указано индексирование) и через пробел слово «Возр» или «Убыв», тогда упорядочивание будет производится по указанному полю в указанном порядке.

В качестве значения параметра может быть задана строка «<Нет>» («<No>»). Это будет означать, что система выберет наиболее оптимальный порядок обхода такой выборки, который в общем случае не будет соответствовать порядку обхода по умолчанию.

Значение по умолчанию: «Возр»

Возвращаемое значение:

Тип: РегистрСведенийВыборка.

Описание:

Формирует выборку записей регистра сведений.

Пример:

Курсы = РегистрыСведений.КурсыВалют;

ОтборВалют = Новый Структура(«Валюта»);

ОтборВалют.Валюта = ВыбВалюта;

ВыборкаКурсовВалют = Курсы.Выбрать(,,ОтборВалют);

Пока ВыборкаКурсовВалют.Следующий() Цикл

   Сообщить(«Дата » + ВыборкаКурсовВалют.Период +

   » Валюта «+СокрЛП(ВыборкаКурсовВалют.Валюта) +

   «, Курс «+ ВыборкаКурсовВалют.Курс );

КонецЦикла;

   Mitriy

8 — 11.02.09 — 13:37

(5)+ справедливо только для РС…

   НЕА123

9 — 11.02.09 — 13:43

(8) почти согласен, но не знаю насчет построения индексов.

ну и из (7) нельзя (почему-то) делать отбор по ресурсам.

   Сергей-ХХХ

10 — 11.02.09 — 13:46

В ресурсе может быть периодическая инфа по измерениям. А вот периодичские измерения по ресурсу — это мистика, имхо. Как я понимаю, измерения — это заголовки колонок и строк, а ресурсы — это их содержимое.

   НЕА123

11 — 11.02.09 — 13:50

(10) тогда почему можно по реквизитам? они-то, вроде, по логике, вообще «довесок».

   Сергей-ХХХ

12 — 11.02.09 — 13:55

(11) Не ко мне вопрос. Как я понял, регистр сведений вообще мало отличается от справочника, только в нем есть периодические ресурсы, а в справочнике нет. А вообще, я тут думаю, что при логической конструкции: регистр(а,б).ресурс, где а и б — это реквизиты, мы получим ресурс «1». При конструкции регистр(а,с).ресурс, мы можем получить другой ресурс, например, «2». При этом по ресурсу «2» мы, наверное, получим а и с. Но в том случае, если нет ресурсов с таким же значением. Гы, сам стал запутываться )))

   aslambek

13 — 11.02.09 — 14:31

В ресурсы надо пихать то, что потом будешь суммировать, в реквизиты — дополнительную информацию.

   dimoff

14 — 11.02.09 — 14:33

(12) Регистр сведений отличается от справочника контролем

— уникальности измерений

— Отсутствием ссылок

— Возможностью получать срезы по периодам

Не знаю мало ли, по-моему очень много чем.

   ASU_Diamond

15 — 11.02.09 — 14:36

А в регистре накоплений в чём разница между этими понятиями?

   ShoGUN

16 — 11.02.09 — 14:36

(13) Если в РС ресурс — значение перечисления, или вообще строка — что ты там суммировать собираешься?

   ShoGUN

17 — 11.02.09 — 14:37

(15) В регистре накопления ресурс может быть только числовым и по нему производится суммирование и хранятся итоги.

   aslambek

18 — 11.02.09 — 14:39

(16) Пихай это в реквизиты и не парься.

   ASU_Diamond

19 — 11.02.09 — 14:39

структура регистров унифицирована: у всех регистров есть измерения, ресурсы, реквизиты
просто в РС ресурс не несет такого смысла как в остальных имхо

   ShoGUN

20 — 11.02.09 — 14:41

(19) +1

(18) В РС тогда вообще должны быть только реквизиты.

   Shurjk

21 — 11.02.09 — 14:44

Вопрос — Что является ключом записи регистра сведений?

   dimoff

22 — 11.02.09 — 14:45

Комбинация измерений, естественно, плюс период для периодических измерений.

   ShoGUN

23 — 11.02.09 — 14:46

(22) Период можно доп. измерением считать.

   Shurjk

24 — 11.02.09 — 14:46

(22) Теперь понятна разница между ресурсами и измереняими?

+ (23) есть еще регистры подчиненные регистратору

   dimoff

25 — 11.02.09 — 14:49

(24) кому теперь понятна разница между ресурсами и измерениями и кому она была непонятна раньше?

   unTonee

26 — 11.02.09 — 17:07

Я уже разобрался! =)

Вот развернуйтый ответ:

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=540995&threadtype=0

сообщение номер 540995

почитайте, там даже проиллюстрировано.

   НЕА123

27 — 11.02.09 — 17:14

(26)

да, нормально. только автор ветки http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=540995&threadtype=0, судя по его последнему посту, не понял сути.

  

unTonee

28 — 11.02.09 — 17:19

(27) Эт точна! =)
Сильно все упростил, и опять запутал сам для себя ситуацию — своим постом.

Вопрос Чем реквизит отличается от измерения — это понятно всем. А вот чем реквизит отличается от ресурса?

Регистр сведений – это вырожденный случай регистров. Поэтому у него «не все так», как у «настоящих» регистров (накопления, бухгалтерии, расчета). И чтобы не путаться дальше будем рассматривать все в несколько в упрощенном виде.

Сначала посмотрим, как работает «настоящий» регистр, регистр накопления.
Регистр простой, два измерения, один ресурс и один реквизит (рис. 1).

Допустим, в регистре есть четыре записи (рис. 2).

Это – основная таблица регистра, т.е. таблица, содержащая записи, которые были добавлены в регистр.
Вы можете получить записи этой таблицы и, естественно, отобрать их по любому из существующих полей (рис. 3).

«Функция» регистра накопления, грубо говоря, заключается в том, чтобы суммировать значения ресурсов. Причем это суммирование выполняется для всех различных значений измерений. То есть, если вы попросите «функцию» этого регистра, то получите следующий результат (рис. 4).

То есть значения ресурсов для записей, содержащих одинаковые значения измерений (в данном случае Значение1 и Значение2) будут просуммированы (9 + 1 = 10).
Понятно, что когда вы получаете функцию, невозможно получить какие-либо реквизиты, потому что, например, непонятно, как можно «сложить» Заметка99 и Заметка1?. Можно только «развернуть функцию», и посмотреть, из каких записей она сложилась, какие у этих записей реквизиты. Но сам результат «функции» не содержит информации о каждой из записей (рис. 5).

Поэтому реквизиты – это некоторая вспомогательная информация, которая нам не интересна, когда мы получаем «функцию» регистра. Но эта информация может нам понадобиться, если мы захотим посмотреть, из каких записей сложился результат этой «функции».

Теперь посмотрим на регистр сведений. Возьмем периодический регистр сведений с такой же структурой и такими же записями. Его основная таблица будет выглядеть следующим образом (рис. 6).

«Функцией» периодического регистра сведений является получение наиболее ранних или наиболее поздних записей, на некоторую дату по различным сочетаниям значений измерений. Например «функция» этого регистра на 29 число будет выглядеть следующим образом (рис. 7).

То есть для уникального сочетания значений измерений будет выбрана одна из существующих записей основной таблицы, в отличие от регистра накопления, в котором результатом функции являлась запись, не существующая в основной таблице (рис. 8).

Таким образом, «функция» периодического регистра сведений по своей сути отличается от «функций» «настоящих» регистров. «Функция» «настоящих» регистров возвращает некоторую информацию о совокупности записей, а «функция» регистра сведений заключается в том, чтобы указать на одну из имеющихся записей. Понятно, что в результате такого «указания» мы можем видеть и значение реквизита. То есть с любым результатом функции будет однозначно связано одно из значений реквизита, а не несколько значений реквизита, как для регистра накопления. Поэтому, вычисляя функцию периодического регистра сведений, можно, помимо значений измерений, как у «настоящих» регистров, задать и значение реквизита.

Если же рассматривать непериодический регистр сведений, то у него вообще нет «функции». Можно только записать данные в его основную таблицу, и прочитать их. Несмотря на это он так же имеет измерения, ресурсы и реквизиты. Потому что данные в этот регистр заносятся по тем же правилам, как и во все другие регистры: не может быть двух записей, с одинаковыми значениями ключевых полей (измерений, в данном случае).
Первоисточник

Любой регистр можно представить в виде функции, возвращающей некоторое значение (значения) в зависимости от переданных параметров (параметра).

Измерения регистра описывают параметры этой функции.

Возвращаемое значение (значения) функции описываются ресурсами регистра.

Данные заносятся в регистр путем добавления записей. Реквизит — это просто некоторое поле, содержащее дополнительную информацию о записи.

При работе с регистром вы можете получать значения ресурсов, соответствующие значениям измерений, то есть «реализовывать» функцию, которую представляет собой регистр.

Или вы можете выбирать некоторые записи, содержащиеся в регистре, соответствующие значениям измерений или реквизитов. То есть анализировать исходные данные, «от которых» раcсчитывает свою функцию регистр.

Для «настоящих регистров» (накопления, бухгалтерии, расчета) получать значения ресурсов, указывая реквизиты, нельзя. И получив значения ресурсов (то есть «вычислив функцию регистра»), вы не сможете увидеть реквизиты.

Next Post

  • v8

  • Программисту 1C

Вт Май 18 , 2010

Как в языке запросов 1С используются временные таблицы. Что такое временные таблицы. Что такое виртуальные таблицы. В одном из последних релизов платформы 8.1 появилась возможность использовать в запросах временные таблицы. Что это такое и как их можно использовать? Рассмотрим пример, с которым наверное многие из Вас сталкивались — а именно […]

Каждый раз редактируя конфиги задаюсь этим вопросом. И по одним и по другим можно организовать выборку. В принципе все исходные данные о записи в регистры можно забить в измерениях. Зачем тогда реквизиты. В чем принципиальная разница?

По измерению есть остатки, по реквизитам только движения.. ЗЫ. Такой длинный хвостик, а вопросы задаёшь…

Я понял бы если бы вопрос был бы про регистры сведений , а тут все же предельно просто.

Просто в принципе если база не будет расти до условно говоря терабайтных размеров то реквизиты не нужны Про регистры сведений я вообще молчу…

Реквизиты нужны. Чтобы не тягать докУменты…

не всегда нужны измерения …. нафига такие глупые вопросы да еще и выходной?

суровые беларусские программисты..

никогда не видел Регистры Накопления с 20 измерениями? я видел, наверно суровые беларусские программисты писали…

а при чем тут количество измерений? если это регистр отстатков, как ты по таким измерениям -реквизитам что-то закроешь?

уж не говоря, что дпаже если регистр оборотный, то хранение итогов требуется далеко не всегда. всё это натолько очевидные вещи, что даже говорить неловко

Тэги:

Комментарии доступны только авторизированным пользователям

Регистр сведений

Регистры сведений — это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен.

Структура

Информация в регистре сведений хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.

Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. Например, для регистра сведений Цены товаров, который имеет следующую структуру:


Регистр сведений

записи, хранимые в базе данных, будут выглядеть следующим образом:


Регистр сведений

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

Периодичность

Одной из возможностей регистра сведений является хранение данных не только в разрезе указанных измерений, но и в разрезе времени. Разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр:


Регистр сведений

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

Например, периодический регистр сведений Цены товаров может не только хранить информацию о том, какова цена на определенную номенклатуру сейчас, но и о том, как она изменялась в прошлом (или будет изменяться в будущем):

Подчинение регистратору

Внесение изменений в регистр сведений может выполняться как вручную, так и при помощи документов. В случае, когда изменения в регистр сведений вносятся с помощью документов, к каждой записи регистра добавляется специальное поле, в котором хранится информация о регистраторе — документе, с которым связана эта запись. В процессе создания прикладного решения разработчик указывает, какой именно режим записи будет использоваться данным регистром сведений:


Регистр сведений

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

Например, изменение цен компании может производиться только определенным кругом лиц, и каждое такое изменение должно сопровождаться «бумажным» документом. В этом случае можно использовать режим подчинения регистратору, при котором изменение цен может быть выполнено только специальным документом — Изменение цен товаров.

Уникальность записей

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

В общем случае в формировании ключа записи будут участвовать значения регистратора, периода и значения измерений. Таким образом, например, в непериодическом регистре сведений Цены товаров с независимым режимом записи не может существовать двух записей о розничной цене конфет ассорти. Точно так же, как в периодическом регистре сведений Цены товаров, подчиненном регистратору, не может существовать двух записей о розничной цене конфет ассорти, внесенных одной и той же датой, одним и тем же документом Изменение цен товаров.

Формы

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

Форма списка

Для просмотра данных, содержащихся в регистре сведений, используется форма списка. Она позволяет выполнять навигацию по регистру, добавлять, помечать на удаление и удалять записи регистра. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:


Регистр сведений

Форма записи

Для просмотра и изменения отдельных записей регистра сведений используется форма записи. Как правило, она представляет данные в удобном для восприятия и редактирования виде:


Регистр сведений

Функциональные возможности регистра сведений

Основными функциональными возможностями, которые предоставляет регистр сведений разработчику, являются:

  • создание, изменение и удаление записей;
  • выбор записей в заданном интервале по заданным критериям;
  • выбор записей по регистратору;
  • получение значений ресурсов записей, соответствующих указанному периоду и значениям измерений;
  • получение значений ресурсов наиболее ранних и наиболее поздних записей регистра, соответствующих указанному периоду и значениям измерений.

В этой статье мы познакомимся с очень интересным объектом метаданных конфигурации 1С – регистром сведений.  Регистры сведений применяются для хранения различной информации, которая может использоваться в прикладной задаче. Информация в регистре сведений хранится в определенных разрезах, которые называются измерениями, а еще она может изменяться во времени.

Регистры сведений, информация которых изменяется во времени, называются Периодическими, а иначе эти регистры называют Непериодическими. Периодичность может быть разной, может быть периодичность в секунду, минуту, час и т.д. максимум — год.

Основное предназначение регистров сведений в том, что в них должны храниться показатели аналитики. Например, у нас есть задача хранить виды топлива (АИ-92, АИ-95 и т.д.), но также и цену на этот вид топлива. Как это удобное всего организовать. Однозначно сами виды топлива необходимо хранить в каком-то справочнике. Так его и назовем – вид топлива. Но где же хранить цену на этот вид топлива? Самое первое решение в реквизите справочника.

Реквизит справочника

Очевидно, такое решение имеет место, если цена у нас ни когда не изменяется. Но в жизни такое редко случается, поэтому если мы так сделаем, то возникнет необходимость каждый раз изменять элемент справочника при изменении цены.  В принципе, почему бы и нет. Но, если мы еще добавим новый разрез цены – поставщик топлива:  у одного и того же вида топлива может быть разная цена для разных поставщиков, то хранение цены в реквизите справочника станет принципиально не возможной: мы не будем знать,  к какому поставщику относиться эта цена.

Для решения этих задач служит специальный объект конфигурации  — регистр сведений. В этом регистре сведений можно создавать записи, в которых будет указано, что для такого-то вида топлива, для такого-то поставщика устанавливается такая-то цена.

Сейчас мы и решим эту маленькую прикладную задачу: в нашей конфигурации есть два  справочника «Виды топлива» и «Поставщики топлива»

Справочники конфигурации

Необходимо организовать возможность хранения цены для каждого вида топлива с учетом поставщиков. Для этого в конфигураторе 1С создадим новый регистр сведений ЦеныНаТопливо.

Создание нового регистра сведений в конфигураторе 1С

На закладке Основные установим имя и синоним. Все остальное оставим как есть.

Регистр сведений 1С цены на топливо

Теперь на закладке данные создадим два измерения – ВидТоплива и ПоставщикТоплива, типы которых ссылки на соответствующие справочники.

Измерение регистра сведений 1С ВидТоплива

Измерение регистра сведений 1С ПоставщикТоплива

У обоих измерений поставим флаг – Ведущее. Это значит, что если мы удалим элемент справочника, который указан в какой-то записи регистра сведений, то эта запись удалиться автоматически.  Так же есть одно интерфейсное следствие этого флага: если флаг установлен, то в форме элемента справочника мы сможем посмотреть на записи этого регистра для этого элемента.

Установим для каждого измерения этот флаг.

Флаг ведущее для измерения регистра сведений ВидТоплива

Флаг ведущее для измерения регистра сведений ПоставщикТоплива

У нас непериодический регистр, и в нем два измерения ВидТоплива и ПоставщикТоплива это значит, что мы не сможем создать две записи с одинаковыми значениями полей ВидТоплива и ПоставщикТоплива. Программа выдаст ошибку. Что и разумно – не может быть две разных цены на один и тот же вид топлива у одного и того же поставщика. А если может, то это значит, что необходимо добавить еще один разрез (например, база поставщика).

Кроме измерений у регистра сведений существуют Ресурсы и Реквизиты. Ресурс должен хранить основную информацию регистра сведений, т.е. те данные, ради которых он создан, а Реквизит содержит дополнительную второстепенную информацию о записи.

Мы создадим ресурс – Цена (тип число 10,2).

Ресурс Цена регистра сведений

И всё. Сохраним конфигурацию и откроем этот регистр сведений и заведем какую-нибудь запись.

Записи регистра сведений

Если мы сейчас попробуем создать запись с точно таким же набором измерений, то возникнет ошибка: «Запись с такими ключевыми полями существует».

Создание дублирующей записи регистра сведений

Ошибка при создании дублирующей записи регистра сведений

И последний момент: поскольку мы у измерения ВидТоплива установили флаг «Ведущее», то у элемента справочника ВидыТоплива появилась команда на открытие регистра сведений «Цена на топливо»

Команда на открытие регистра сведений

Если мы в управляемом приложении 1С перейдем по этой команде, то увидим все цены для нашего вида топлива.

Регистр сведений с отбором

Продолжение темы регистров сведений читайте в следующих статьях:

Периодический регистр сведений 1С

Подчиненный регистр сведений 1С

Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Понравилась статья? Поделить с друзьями:

Другие крутые статьи на нашем сайте:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии