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

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

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

для установки конфигурации вам понадобится скачать платформу 1С:Предприятие 8.2 (версия для обучения) или использовать платформу 1С Предприятие версии не ниже 8.2.15.301.

 

1 часть 7 урока

 

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

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

При изучении данного урока рекомендуем Вам познакомиться со следующими теоретическими разделами нашего сайта:

 

2 часть 7 урока

 

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

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

Макеты могут содержать данные самых разных видов. Это может быть табличный документ, который напоминает электронные таблицы и широко используется при формировании выходных форм документов и отчетов. Такжеэто может быть текстовый документ или двоичные данные. Макет также может содержать ActiveDocument (например, документ Word, лист Excel или рисунок CorelDRAW), HTML-документ или географическую схему.

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


Итоги 7 урока

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

2. Мы научились использовать шаблоны текста для написание программного кода.

3. Мы познакомились с объектами системы 1С - Отчетами и макетами.

4. Мы научились создавать отчеты с использованием объектной модели.

 

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

 

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

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

 

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

К оглавлению

 

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

 

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

Комментарии

  • Ну наконец-то седьмой урок. Спасибо.

    20 марта 2014 , 16:13
  • Влад, подскажите, какую литературу по 1С стоит изучить для начинающих?

    22 марта 2014 , 23:32
    zaz
  • Есть очень хорошая книга: Радченко М.Г., Хрусталева Е.Ю. "1С Предприятие 8.2. Практическое пособие разработчика". Других книг с таким подробным и доступным изложением материала не встречал.

    24 марта 2014 , 09:56
  • А как эта книга ???Ажеронок В.А., Габец А.П., Гончаров Д.И. и др. - Профессиональная разработка в системе 1С Предприятие 8. (2-е изд.) В 2-х томах.

    25 марта 2014 , 00:59
  • Очень подробная книга: Ажеронок В.А., Габец А.П., Гончаров Д.И. и др. - Профессиональная разработка в системе 1С Предприятие 8. (2-е изд.) В 2-х томах. Написана сухим языком, но все по делу. Настоящий справочник 1С разработчика.

    25 марта 2014 , 16:36
  • Влад, а как у элемента формы (тип булево) скрыть заголовок, если значение ЛОЖЬ?

    27 марта 2014 , 15:32
  • Игорь. На форме (в конструкторе форм) реквизит с типов булево отображается флажком (можем поставить галку - это Истина, без галки - Ложь), а заголовок - это надпись переж этим флажком (или после, в зависимости от настройки свойства "Положение заголовка"). Если свойству "Положение заголовка" установить значение "Нет" - заголовок выводиться не будет

    27 марта 2014 , 16:51
  • Влад, здравствуйтене могу открыть 7-й урок?

    28 марта 2014 , 07:42
  • Bugi, урок будет доступен в субботу (завтра).

    28 марта 2014 , 11:48
  • уже 31 а его все нет

    30 марта 2014 , 23:04
  • Для Игоря. По поводу как у элемента формы (тип булево) скрыть заголовок, если значение ЛОЖЬ? Тут возможны 2 варианта: если БулевРеквизит - это реквизит формы (присутсвует только на форме и среди реквизитов справочника его нет) и 2 вариант: если БулевРеквизит - это реквизит справочника Напоминания. Отличия будут лишь в том, как нам считать его текущее значение. Привожу листинг: 1 вариант: Если ЭтаФорма.БулевРеквизит = Ложь ТогдаЭлементы.БулевРеквизит.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Иначе Элементы.БулевРеквизит.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто; КонецЕсли;  2 вариант: Если Объект.БулевРеквизит=Ложь ТогдаЭлементы.БулевРеквизит.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Иначе Элементы.БулевРеквизит.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто; КонецЕсли;   

    31 марта 2014 , 14:14
  • Для AHDPOHNG. Видео опубликовано. 

    31 марта 2014 , 14:42
  • Добрый день, Влад! А вот интересует такая ситуация. Есть форма документа, в нем етсь три реквизита: Дата Начала, Дата Окончания и Коэфициент. (Даты  отображаются - день, месяц, год). Как прописать код, чтобы в при изменении даты окончания сразу рассчитывался коэфициент.? Если дата окончания больше даты начала на 1 месяц, коэфициент  должен быть равен 1. Если дата окончания больше на 20 дней, то коэфициент равен 0,66 (20/30), или же  064 (20/31), в зависимости от того, какой месяц. 

    01 апреля 2014 , 23:09
  • Для Criativve. У программистов есть поговорка: сделать легко - сложно придумать как именно сделать. Если вы сможете написать на листке просто математическую модель того расчета, какой вы хотите - то проблем с реализацией нет и я легко помогу (хотя, уверен вы и сами сразу же справитесь самостоятельно). Как я понимаю какие есть варианты: 1. использовать функцию ДеньГода(<Дата>) - определяет номер дня в году для указанной даты. Определяем разницу между номером дня в году Конечной и начальной даты.2. Если ДатаНачала и ДатаКонца можут отличаться на год и более, то можно из ДатыОкончания вычесть ДатуНачала - получем количество секунд - разницу между этими данными; 3. Если РазницуМеждуДатами разделить на 60 сек*60 мин * 24 часа, то получим число дней. Если у нас фиксируется время (часы минуты и секунды), то деление будет с десятичной частью и в этом случае можно использовать функцию Цел(<Число>) - она возвращает только целую часть числа. Так мы узнаем разность в днях. А дальше разность в днях нужно каким-то образом сравнивать с количеством дней в месяце или месяцах.   PS: как я понимаю, такие коэффициенты могут понадобиться для определения приоритетов выполнения напоминаний и важности просрочки того или иного напоминания. Но могу ошибаться :) 

    02 апреля 2014 , 11:43
  • Влад, здравствуйте!Спасибо большое за Ваши уроки.  Всё очень понятно и интересно.Скажите, пожалуйста, какую литературу Вы можете порекомендовать для начинающих 1С программистов? Чем вы пользовались при изучении? Спасибо . 

    13 апреля 2014 , 23:02
  • Я бы порекомендовал любую литературу от главного методолога 1С Радченко М.Г. Например, Радченко М.Г., Хрусталева Е.Ю. "1С Предприятие 8.2. Практическое пособие разработчика". Изложена простым язком и лаконично. Материала вполне достаточно, чтобы "въехать" в идеологию платформы 1С 8.

    14 апреля 2014 , 09:15
  • Спасибо! И еще один вопрос. Я часто слышу: толстый клиент, тонкий клиент, веб-клиент. Не могли бы вы своими словами объяснить, что это и чем конкретно они отличаются?

    15 апреля 2014 , 18:15
  • Для Инны. Что же такое"толстый", "тонкий"  и Web-клиент? Ответ перенес в раздел "Вопросы по 1С".

    16 апреля 2014 , 17:29
  • Влад, когда Вы планируете продолжить урок?

    06 мая 2014 , 13:02
  • 7 урок будет полностью оформлен либо до праздников, либо во время праздников.

    06 мая 2014 , 14:10
  • Празднование Победы так-то закончилось. Мы уж заскучали...

    14 мая 2014 , 13:18
  • Да, Спасибо Вам большое за материал!!! Просто супер!!! Ждем с нетерпеньем!!!

    15 мая 2014 , 00:04
  • Спасибо Вам! Очень интересно и доступно все объясняете! 

    16 мая 2014 , 21:46
  • Влад, вот скажите, почему курсов по 1С захватывающих платформу, язык программирования, написание конфигураций с нуля куча, а вот курсов где бы разбирались самые распространенные типовые конфтгурации (УТ, БП, Розница) нет?Ведь именно это и нужно при устройстве на работу, у нас в 200 тысячном городе даже во франчайзи за тарелку супа без знания типовых конфигураций на работу не берут... :( , а сам я установил, посмотрел, конечно много всего и самому сложно разобрать код...  Спасибо.

    22 мая 2014 , 17:03
  • Спасибо за предложение, Smilk. В планах уже давно есть сделать материалы по типовым конфигурациям, для этого я даже сделал отдельный блок в разделе Пошаговые примеры. Постараюсь не сильно затягивать с его наполнением. :)

    23 мая 2014 , 15:35
  • А сколько всего планируется уроков?

    23 мая 2014 , 19:46
  • Пока не думал об этом, но материала хватит и 20 уроков. А также хотелось бы еще сделать уроки по 1С 8.3 и мобильной платформе (как написать программу на 1С для айфона или телефона с андроидом).

    24 мая 2014 , 09:06
  • А как сделать регистарцию по остаткам, учитывая валюту и пользователя. А еще бы добавить процент на скидку, или процент при переводе денег, или снятии с карты (с электронного счета). Где можно подобную информацию с примерами посмотреть? 

    25 мая 2014 , 18:36
  • Влад, с личными напоминаниями для каждого пользователя реализовать удалось динамическим списком. Теперь хотелось бы вывести только те напоминания, которые "В работе". Еще один динамический список в туже процедуру?

    26 мая 2014 , 07:57
  • Отбой...Настройка списка в Конфигураторе,разобрался :)

    26 мая 2014 , 09:06
  • Ссылка "Выгрузка эталонной базы, создаваемой на 6 уроке с выполненным домашним заданием" не работает(((

    26 мая 2014 , 23:35
  • Спасибо за сигнал. Тепереь конфигурация 6 урока скачивается.

    27 мая 2014 , 08:15
  • Не дождался ответа, но с валютой и пользователями разобрался. Осталось сделать скидки при расходах в процентах или суммах, и комиссию при переводах. Влад, подскажи пожалуйста!

    27 мая 2014 , 22:02
  • Влад, я дико извиняюсь, но с отбором по работающим и уволенным-проблема.Можете в своей конфигурации ПошаговогоПримера реализовть увольнение сотрудника Только из группы Работающие, а не из всего справочника? 

    28 мая 2014 , 09:14
  • Влад!!!! Помоги пожалуйста, направь на путь истенный... Есть список напоминаний. Я добавил реквизит пользователь (например я и жена пользуемся напоминаниями). В форме списка устанавливаю поле выбора пользователя. Как сделать отбор напоминаний определенного пользователя не через условное оформление, а через поле выбора, а то каждый раз в условном оформлении менять совсем неудобно. Пожулуйста!!!

    08 июня 2014 , 04:10
  • Для user-sergey. В общем алгоритм выглядит так: При запуске приложения мы считываем какой пользователь зашел в систему и либо запоминает в глобальную переменную данное значение (глПользователь), либо находим его в справочнике Пользоватли (естественно, что нужно будет провериьт есть ли такой пользователь в справочнике и если его нет, то добавить). Вариант с глобальной переменной попроще - давайте по нему и пойдем. При создании нового напоминания мы будем строковому реквизиту Автор присваивать значение нашей глобальной перемнной глПользователь. А дальше при открытии формы напоминания нам лишь нужно ПРОГРАММНО установитть отбор по реквизиту АВТОР. На сайте есть материал по написанию программного отбора в справочнике http://1c-uroki.ru/articles/1C_otbor_v_dinamicheskom_spiske. Для того чтобы в глобальну. переменную записать значение нашего пользователя можно использовать функцию ИмяПользователя()

    10 июня 2014 , 10:23
  • Здравствуйте!Влад, не могу понять почему код для "КнопкиЗавершить", который Вы создаёте в процессе 7-ого урока не даёт результатов в моей конфигурации, хотя я последовательно создавал её по шагам и ДЗ урков. При этом если я вставляю код в конфигурацию с выполненным ДЗ 6-ого урока - работает. Есть какая-нибудь хитрость с кнопкой? 

    01 июля 2014 , 18:43
  • Простите, за неточность, я имел в виду, что код работает в вашей эталонной базе 6-ого урока с выполненным ДЗ. А в моей - нет.

    01 июля 2014 , 19:00
  • Для Владимира. Мало скопировать текст программного модуля. Нужно чтобы КнопкаЗавершить была связана с соответсвующей командой, а эта команда с процедурой программного модуля (делается в палитре свойств). Проверьте эти связи.Если же выскакивает ошибка при нажатии на кнопку в режиме 1С, то внимательно прочитайте на что ругается система и исправьте: скорее всего это просто опечатка, забытый разделитель команд (;) либо завершение условия (КонецЕсли), цикла, процедуры и т.п.

    02 июля 2014 , 11:24
  • Влад, оказалось, что этот косяк происходил из-за того, что я внёс сначала ежедневные напоминания в "Список Выбора" в свойствах реквизита "ТипНапоминания" со значением "4" между "0" и "1", чтобы не возиться с перенумерацией  в процедуре "ПрименитьОформление". С такими значениями задание 6-ого урока получилось: оформление работало, а вот КнопкаЗавершить не реагировала, пока я не переприсвоил значеия в "Списке Выбора", чобы они были по порядку - тогда всё заработало.А вообще, Большое Спасибо! Очень хороший материал. Жду продолжения 7-ого урока и др...

    02 июля 2014 , 21:40
  • А когда выйдет вторая часть 7 урока?
    И если она вышла где её можно найти?

    24 июля 2014 , 12:43
  • В строке ------Если Вопрос("Продлить напоминание",РежимДиалогаВопрос.ОКОтмена,0)=КодВозвратаДиалога.ОК-----для периодических напоминаний нужно писать ПРОДЛИТЬ НАПОМИНАНИЕ, а не ЗАВЕРШИТЬ.

    20 сентября 2014 , 20:44
    h2o
  • Согласен с H2O, зачем для разовых напоминаний сделали сразу кнопку завершить, можно выставить новую дату и нажать продлить. В плане примера разнообразия хорошо, но все продления должны быть единым стилем.Я так понимаю продолжения уроков ждать уже не стоит?И, кстати, спасибо за курсы!

    21 сентября 2014 , 12:39
  • Спасибо за ваши предложения. Продолжение уроков будет. Более подробно напишу в анонсе и в новостях.

    22 сентября 2014 , 10:16
  • Спасибо огромное за курсы!! очень грамматно и понятно.Когад примерно ожидать вторую часть и продолжение остальных уроков? хочется поскорей уже организовать отчеты, ну и продолжить обучение конечно:)

    10 октября 2014 , 15:58
  • Спасибо! Прямо в данный момент выклдываю видео 2 части 7 урока. Все материалы, тест и домашнее задание постараюсь оформить сегодня.

    13 октября 2014 , 08:54
  • Хорошая новость!! Очень рад =)

    13 октября 2014 , 09:26
  • Здравствуйте, дорогой автор! С большим удовольствие за пару дней проглатила ваши уроки))) Благодарностей и похвлы в Ваш адрес изложено не мало, потому присоединюсь и просто скажу:" СПАСИБО"! В ВУЗе изучала программирование, но 7 лет проработала в другой сфере. Теперь хочу работать с 1С. Надеюсь, что с Вашей помощью это получится намного быстрее ,) С нетерпением жду продолжения уроков и разбора типовых конфигураций!  

    17 октября 2014 , 21:01
  • Здравствуйте. Такой вопрос: если полям макета присваивать значения не методом Заполнить(),  а оператором присваивания = , то не получается "провалиться" из заполненной таким образом строки отчета в соответствующую форму элемента справочника. Интересно, почему?

    04 ноября 2014 , 11:05
  • Для vassine. Все получается. Скорее всего ошибка в синтаксисе. В общем метод Заполнить() отличается лишь тем, что мы можем заполнить сразу много параметров. Кстати, иногда бывают ситуация, когда 1 или 2 параметра нам нужно заполнить "руками" - проанализовать значение и заполнить с учетом этого анализа. Тогда чаще всего мы вначале использует метод Заполнить(), тоесть заполняем все параметры значениями, в том числе заполняем эти наши параметры, а уже потом "в ручном режиме" с помощью "=" устанавливаем нужные нам значения.

    05 ноября 2014 , 10:17