Главная Уроки 1С Урок 4. Курс 1С для начинающих

Урок 4. Курс 1С для начинающих

Регистры накопления. Знакомство с регистрами накопления оборотов. Объект системы Константа. Работа с объектом конфигурации Форма.

Выгрузка эталонной базы, создаваемой на 3 уроке с выполненным домашним заданием 

для установки эталонной базы вам понадобится платформа 1С:Предприятие 8.2 (учебная версия) или клиент 1С:Предприятие версии не ниже 8.2.15.301. Узнать версию используемого вами клиента 1С 8.2 вы можете, выбрав в главном меню в режиме Конфигуратора или 1С:Предприятие Справка - О программе...

 

Основные понятия 4 урока

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

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

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

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

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

Директива компиляции – это инструкция, которая сообщает платформе 1С в какой среде будет исполняться данная процедура или функция. Директива всегда начинается амперсантом - знаком “&”. Если директива отсутствует, то используется директива по умолчанию – &НаСервере. Использование нескольких директив для одной процедуры (функции) невозможно.

Допустимые директивы:

&НаКлиенте - определяет выполнение процедуры (функции) на клиенте.

&НаСервереопределяет выполнение процедуры (функции) на сервере.

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

  • &НаСервереБезКонтекста
  • &НаКлиентеНаСервереБезКонтекста
  • &НаКлиентеНаСервере 

 

Скачать конфигурацию, создаваемую на 4 уроке (без выполненного практического задания)

Итоги 4 урока

 

1. Мы познакомились с объектами системы Константа.

2. Мы познакомились с объектами системы Регистр накопления оборотов.

3. Мы научились настраивать Командную панель формы объекта конфигурации.

4. Мы научились использовать условное оформление форм списков как в режиме 1С:Предприятия, так и в режиме Конфигуратора.

5. Мы познакомились с событиями объекта Форма и ее реквизитов. Узнали назначение директив компиляции.

 

 

Практические задания по 4 уроку

 

Практические задания по 4 уроку будут вам представлены сразу же после успешного решения теоретического теста: 

Пройти тест на понимание материала 4 урока

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

К оглавлению

 

Перейти к 5 уроку

 

Количество просмотров: 128571

Комментарии

  • Чувствую я что скоро мы не закончим этот курс, к сожелению.

    18 июля 2013 , 10:48
  • Это точно!

    18 июля 2013 , 16:35
    t
  • Ребята, у меня завтра день рождения и я нахожусь в другой стране! Проект я уже закончил. Как вернусь - сразу начну оформлять :)

    18 июля 2013 , 18:40
  • Ну что, господа посетители сайта, довайте тогда поздравим Влада с днем рождения. С Днем Рождения Тебя, счастье, здаровье, ...  ну и конечно (по больше и по чаще материала для нас :) ).  

    19 июля 2013 , 00:01
  • Спасибо:))))

    19 июля 2013 , 15:00
  • Влад, если есть время, подскази пожалуйста как при проведение документа создовать в ТабличнуюЧасть другого документа строку и записать там данные которого расчитал и сохранил при проведене. Спасибо.

    20 июля 2013 , 16:47
  • Для Silv. Что бы я не ответил это будет кратко и непонятно. У меня такое предложение: с помощью обратной связи напиши подробно что требуется, в каком документе новом или уже создании создать строку в табличкой части, а еще лучше саму конфигурацию покажи. Мы предметно все разбегам по электронной почте, правда после моего возвращения. :)

    21 июля 2013 , 09:53
  • Влад, с прошедшим Вас Днем рождения! Ждем 4 урока.

    22 июля 2013 , 14:04
  • Спасибо!!!

    22 июля 2013 , 15:36
  • Пока ждём 4-й урок я предлагаю вернуться к самому началу - к пошаговому примеру. И все же мне не совсем понятно. Переменная СпрСотр в модуле документа ПриемНаРаботу и в модуле документа Увольнение это одна и таже переменная указывающая на   Справочники.Сотрудники? СпрСотр = Справочники.Сотрудники.СоздатьЭлемент();   СпрСотр=Сотрудник.ПолучитьОбъект(); И как организовать действительное увольнение, так  чтобы сотрудник исчез из списка справочника сотрудники? Может сделать справочник 2-х   уровний и переводить уволенного сотрудника на другой уровень? Но это видимо нужно делать  программным кодом, но каким? Кто что знает, подскажите...

    28 июля 2013 , 21:11
  • Про переменные можно прочитать в инете. Они бывают Локальные и Глобальные. Локальная перем. объявляется в начале модуля и принадлежит только данному модулю. Называть ее можно хоть СпрСотр, хоть СотрСправ, важно, что стоит в объявлении после "=", Про увольнение-зачем сотрудника удалять из списка, если в поле "ДатаУвольнения" стоит конкретная дата. И так понятно, что его уволили, Можешь про него забыть...на время:) 

    29 июля 2013 , 17:22
  • Поправочка:Локальная переменная объявляется внутри процедуры. В другой процедуры нужно ее снова объявлять, если надо... 

    29 июля 2013 , 17:30
  • Для Александра. Про переменные, контекст и другие интересные вещи мы начнем говорить в 5 уроке. Что касается, как сделать увольнение сотрудника, то мне кажется удобным такой вариант. Справочник Сотрудники делаем иерархическим двух уровневым. На 1 уровне у нас будут 2 группы "работающие" и "уволенные". Принимая сотрудника на работу мы будем реквизиту "родитель" создаваемому новому элементу справочника Сотрудники присваивать значение "работающие" и он будет находиться в группе работающие, а при увольнении менять реквизит "родитель" у данного сотрудника на "уволенные".А можно просто сделать 2 формы для нашего справочника сотрудники (для небольшой фирмы) одну с отбором дата увольнения "не равно" "пустая дата" и 2 форма с отбором ДатаУвольнения равно "пустая дата". Соответсвенно они будут отдельно показывать только уволенных и только работающих сотрудников.

    29 июля 2013 , 22:45
  • a ya uje sdalas,eto obuceniye dla mena bilo krayne vajnim potomu cto druqoqo takoqo obuceniya v danniy moment dla mena ne suwestvuyet.no prowlo mnoqo vremeni i ya ostalas ocen zatrudnitelnom polojeniye iz za toqo cto uroki ne predostavilis kak i bilo napisanno v qlavnoy stranitce za mesac,i iz za toqo cto prowli 4 meseca ya poterala vremeni i ktomu uznala ocen malo i ne smoqla nayti rabotu iz za etoqo 1c 8.2. mne ne povezlo no jelayu vsem vam udaci,kak qovorat u nas: inshAllah vi dobyetes vseqo ceqo xotite.eto moy posledniy kommentariy v etom sayte kak polzovatel,proshayte.

    31 июля 2013 , 01:15
  • Долго что то оформляется 4 урок!!

    31 июля 2013 , 08:38
  • В режиме Конфигуратор в меню Справка->Информация в Интернете->Информация по  1С:Предприятию 8->и далее на сайте->IT-специалисту, разработчику->Видеоуроки- >Разработчикам->Как разработать простое прикладное решение->Смотреть... Есть интересный  пример и стиль разработки. Я выполнил 2 раза. Пока ждём уроки советую посмотреть...

    02 августа 2013 , 11:24
  • Для Влада:   Справочник Сотрудники cделал иерархическим двух уровневым. На 1 уровне создал 2 группы  "Работающие" и "Уволенные". С помощью контекстного меню переместил сотрудников в свои  группы. Реквизит "Родитель" имеется в списке "Стандартные реквизиты" справочника  Сотрудники. Как реквизиту "Родитель" создаваемому новому элементу справочника  Сотрудники присвоить значение "Работающие", чтобы он оказаля в группе "Работающие" ?  Если не менять код модуля документа ПриемНаРаботу, то новый сотрудник не попадёт в свою  группу, а останется на 1-м уровне справочника... 

    02 августа 2013 , 14:04
  • Для Александра. Нужно дополнить код модуля проведения документа "Прием на работу". Первой строкой кода у нас будет: Работающие = Справочники.Сотрудники.НайтиПоНаименованию("Работающие"); В этой строке мы переменной работающие присваиваем значение - ссылку на группу Работающие справочника Сотрудники. Для того чтобы присвоить ссылку мы вначале находим этот элемент по наименованию. Затем идет наша прежняя первая строка кода: СпрСотр = Справочники.Сотрудники.СоздатьЭлемент(); Вот теперь вставляем еще одну новую строку: СпрСотр.Родитель = Работающие; тут мы реквизиту Родитель создаваемому новому элементу справочника присваиваем ссылку на группу "Работающие". Уверен, что с группой "Уволенные" вы напишите код сами. Кстати, если теперь изменить названия групп, то программа будет работать неправильно, потому что не сможет найти такие группы по наименованию. Нужно будет наверное дописать пошаговый пример и показать как можно "защищать" конфигурации от таких ошибок.  

    03 августа 2013 , 17:10
  • Владу. Ура! У меня все заработало! Как бы теперь при показе списка Сотрудники, сделать так,  чтобы автоматически открывалась группа Работающие?

    03 августа 2013 , 22:36
  • Посмотри в конце 1 урока-Настройка списка:) 

    07 августа 2013 , 15:26
  • ребят, а где ж 4-ый урок?

    09 августа 2013 , 09:34
  • Перепишу в субботу. Сори, я перфекционист и моя философия "Или отлично, или никак", и потому, оформляя 4 урок, я пришел к неутешительному выводу - видео часть урока следует переписать и сделать её более простой и понятной :( Постараюсь (хотя уже боюсь давать обещания) чтобы в выходные 4 урок стал полностью доступным. Еще раз приношу всем вам извинения за задержку с оформлением.

    09 августа 2013 , 10:34
  • ждем с нетерпением!Влад, а скажите сколько вы планируете уроков в целом? 

    10 августа 2013 , 12:44
  • Для Влада. Присваивание переменной СпрСотр = Справочники.Сотрудники.СоздатьЭлемент(); мне понятно. А вот присваивание переменной СпрСотр=Сотрудник.ПолучитьОбъект(); не совсем. Хотя ведь реквизит Сотрудник имеет тип СправочникСсылка.Сотрудники.  И все же. Как при выводе справочника Сотрудники, сделать так, чтобы автоматически открывалась  группа Работающие? В каком модуле написать соответствующий код?  Работающие = Справочники.Сотрудники.НайтиПоНаименованию("Работающие"); СпрСотр.Родитель = Работающие; СпрСотр.Родитель.ОткрытьГруппу(); или что то в этом роде.  Ведь сама группа создавалась в режиме 1С:Предприятие. И как запретить переименование группы или хотя бы вывести предупреждающее сообщение...

    10 августа 2013 , 17:40
  • Видео 4 урока выложил как и обещал. Все остальное постараюсь оформить утром :)

    12 августа 2013 , 02:03
  • Для Александра. Я перенес свой ответ по тому как сделать в пошаговом примере, чтобы в справочнике сотрудники сразу открывалась группа "Работающие" туда, к чему и относится данный материал - в Пошаговый пример 2 часть http://1c-uroki.ru/articles/pochagoviy_primer_1C_8.2_2. Лучше задавать вопросы по материалам на сайте именно в комментариях к этим материалам, чтобы потом и другим посетителям было понятно о чем идет речь.

    12 августа 2013 , 10:35
  • Добрый день, Влад!По домашнему заданию вопрос. "2. Создать формы документов: Ввод начальных остатков, Доход, Расход и Перевод." Я правильно понял, создать надо формы Форма списка?

    27 августа 2013 , 18:08
  • Для Алекса. Создать нужно именно Форму Документа, а не списка. У справочника были формы списка и элемента, а у документов - списка и документа. Обратите внимание в Мастере создания документов на закладке Формы. Нам формы документов понадобятся в будущем, чтобы делать расчетные поля и выводить информацию с регистров. Но это будет после того, как мы разберем с вами синтаксис.

    28 августа 2013 , 12:54
  • Спасибо за ответ! Видел создание формы документа, создавал, но внешне форма документа не отличается от самой карточки документа, единственно, что можно настроить внешний вид. Вот еще вопрос попутный. На форме документа поля можно двигать только вверх-вниз? Произвольно выбрать размещение поля нельзя (типа переместить по диагонали)?

    28 августа 2013 , 12:54
  • Мы форму описываем, а не рисуем и потому просто перенести реквизит куда нужно на форме нельзя. Но можно, используя различные группы и элементов формы "Декорация" разместить любой реквизит как угодно, с любым выравниванием и т.д. На форме могут быть и закладки и появляющиеся только при определенных событиях блоки и т.д. Мы все это посмотрим, особенно интересной будет настройка Формы нашей системы напоминаний :)

    28 августа 2013 , 13:00
  • Для ФормаСписка справочника Контакты списку "Наименование" задал Заголовок "ФИО / Наименование". На макете формы он отобразился. В режиме 1С:Предприятие попрежнему осталось ФИО. Если переименовать  список, например "Наименование1", то заголовок поля отображается верно. Что это глюк 1С ?

    29 августа 2013 , 21:44
  • Для Александра. Если в поле СИНОНИМ написать "ФИО / Наименование", то должно отображаться в форме списка коррекно. Вообще есть 2 варианта переименовать выводимый заголовок поля: 1. создать нужную форму и задать синоним для реквизита. Будет дествовать только на данную форму. 2. На закладке "данные" мастера создания справочника зайти в стандартные реквизиты (кнопка в низу формы) и задать СИНОНИМ для реквизита Наименование. Этот вариант будет действовать на отображение названия реквизита во всех формах!

    30 августа 2013 , 10:21
  • Для Влада. Небольшое уточнение. Я сначала переименовал заголовок для ФормаСписка в режиме  1С:Предприятие с "ФИО" на "ФИО / Наименование". Потом решил это прописать в Конфигураторе, и сначала в режиме 1С:Предприятие восстановил  значение "ФИО". И это значение теперь жёстко закрепилось. Видимо что-то связано с профилем пользователя...  

    30 августа 2013 , 13:00
  • Для Александра. Некоторые настройки пользовательского интрефейса (в режиме 1С Предприятия) глючат и не сохраняются при перезапуске клиента. В вашем случае достаточно будет восстановить форму списка по умолчанию - там есть такая кнопочка в настройках: Изменить форму - все действия - установить стандартные настройки.

    30 августа 2013 , 14:19
  • Для Влада. Переименовал имя ФормаСписка справочника Контакты на ФормаСпискаКонтакты. И теперь в режиме 1С:Предприятие Заголовок поля Наименования отображается в соответствии с макетом формы в Конфигураторе: "ФИО / Наименование"! 

    30 августа 2013 , 14:52
  • Уже появилась 1с8.3.3.687 для обучения!

    03 сентября 2013 , 16:41
  • По поводу учебной версии 1С 8.3. Наверное это ошибка или речь идет об ознакомительной версии. Пока учебной версии 8.3 не существует. ИТС и официальный сайт молчит о такой версии :)

    03 сентября 2013 , 17:20
  • У меня на ноутбуке уже установлена. Сказали, что появилась неделю назад...

    03 сентября 2013 , 19:31
  • Для Влада. Поздравляю всех с днём программистов! Что-то у вас на сайте ещё не появилась 1С8.3 для обучения. Может прислать Вам на почту мою версию 1с8.3.3.687 для тестирования? У меня на ноутбуке x/86 вроде работает корректно. А на ПК x/64 нет пункта добавить группу, возможно моя версия ещё сырая...

    13 сентября 2013 , 11:21
  • Спасибо!. 1С 8.3 конечно же у меня есть, я на ней пишу. Но вот 8.3 для обучения нет :(. Присылайте :)

    13 сентября 2013 , 14:04
  • Для Влада. К дню программиста,  отправил файл training.rar 152.18 МБ на uroki1C@gmail.com. Удалось ли его скачать ?

    14 сентября 2013 , 16:33
  • Александр, огромное спасибо! Скачал.

    16 сентября 2013 , 10:25
  • А 5 урок когда ждать?:) и сколько их будет ещё?спасибо

    13 октября 2013 , 10:59
  • Никак руки не дойдут его дооформить. Каждый день планирую - сегодня, но всегда что-то случается :) Что касается общего настроя по записи уроков - пока мои уроки вам интересны - буду записывать. А материала и идей у меня и на 30 уроков хватит и еще на столько же по 1С 8.3.

    15 октября 2013 , 09:12
  • Прошел все 4 урока , достаточно понятно и просто , хотелось бы скорее приступить к следующим урокам , и заняться встроенным язым.Жду продолжения

    16 октября 2013 , 11:15
    SLV
  • P.S. Мне кажеться ,что задания для самостоятельного выполнения слишком простые ,и их мало . :)

    16 октября 2013 , 19:28
    SLV
  • Для SLV. Спасибо за ваше мнение. Постараюсь его учесть при оформлении новых уроков.

    24 октября 2013 , 10:04
  • ура сегодня новый урок должен появиться, а то заждался =)

    02 ноября 2013 , 05:34
  • Здравствуйте! Можно спросить о выполнении домашнего задания 4 урока:Вопрос 2. Создать формы документов: Ввод начальных остатков, Доход, Расход и Перевод.Создавая формы я должен использовать при выборе произвольную фору или готовую форму документа? Я выбрал вариант с готовой формой документа. Верен ли мой выбор?Вопрос 3. Разместить в командной панели формы списка справочника Контакты реквизит (поле) «ПоискФИО», тип – строка, длина – 10 символов. Сделать его первым в командной панели.Я добавил в командную панель формы списка справочника Контакты реквизит (поле) "ПоискФИО", сделал его первым. Перехожу в 1С Предприятие набираю в поле Фамилию из справочника Контакты и нажимаю Enter, а перехода на строку с выбранной фамилией из справочника Контакты не происходит. Почему? Ее нужно программировать? Мы будем программировать это поле на 5 уроке?Хочу в конце сказать отдельно: Уроки интересные! Я не программист, но мне очень интересно!

    04 ноября 2013 , 09:48
  • Для LegionS1970. Давайте по порядку: 1. Вам нужно создать именно Формы Документов, т.е. форму для отображения конкретного документа. На сколько я могу судить, вы сделали все правильно. 2. "ПоискФИО" вы создали правильно и конечно с помощью этого поля ничего пока искать нельзя. Мы позднее напишем процедуру для поиска, причем поиск сделаем куда интереснее, чем просто поиск по полю ФИО.

    04 ноября 2013 , 10:43