Содержание

Порядок обеспечения работодателей бланками трудовой книжки и вкладыша в нее (утвержден приказом Минсоцтруда КР от 7 июля 2006 года № 176)

                            ПРЕКРАТИЛ ДЕЙСТВИЕ
в соответствии со статьей 36 Закона КР
от 20 июля 2009 года № 241
"О нормативных правовых актах Кыргызской Республики"
Зарегистрировано в Министерстве юстиции Кыргызской Республики
4 августа 2006 года. Регистрационный номер 82-06

                                                      Утвержден
                                                приказом Министерства
                                              труда и социальной защиты
                                                Кыргызской Республики
                                              от 7 июля 2006 года № 176

                                ПОРЯДОК
              обеспечения работодателей бланками трудовой
                        книжки и вкладыша в нее

    
                          1.
Общие положения Настоящий Порядок обеспечения работодателей бланками трудовой книжки и вкладыша в нее разработан в соответствии с постановлением Пра- вительства Кыргызской Республики от 24 июля 2003 года № 462 "Об утверж- дении формы трудовой книжки, формы вкладыша в трудовую книжку и Порядка ведения трудовых книжек". Введение бланков трудовых книжек и вкладыша в нее направлено на установление упорядоченного документооборота в сфере трудовых отношений и занятости населения Кыргызской Республики, обеспечения социальных ль- гот и гарантий, установленных действующим законодательством Кыргызской Республики. Настоящий порядок вступает в действие со дня официального опубли- кования приказа и действует на всей территории Кыргызской Республики. Он предусматривает обеспечения работодателями трудовыми книжками и вкладыша в нее граждан, впервые вступивших в трудовые отношения с рабо- тодателями, и поэтапную инвентаризацию трудовых книжек старого образца, выпущенных в обращение до 1 октября 2005 года.
В соответствии со статьей 65 Трудового кодекса Кыргызской Респуб- лики Работодатель (за исключением работодателей - физических лиц) обя- зан вести трудовые книжки на всех работников, проработавших в организа- ции свыше 5 дней, в случае если работа в этой организации является для работника основной. 2. Трудовая книжка Трудовая книжка является документом строгой отчетности и обеспечи- вает предъявителю документа государственные льготы и гарантии в сфере трудовых отношений предусмотренных законодательством Кыргызской Респуб- лики. Трудовая книжка изготавливается и реализуется выигравшим предприя- тием-изготовителем тендер. На титульном листе трудовой книжки размещается бланковая и содер- жательная информация. Бланковая часть представляет собой сведения, от- ражающие форму документа, утвержденную постановлением Правительства Кыргызской Республики от 24 июля 2003 года № 462 "Об утверждении формы трудовой книжки, формы вкладыша в трудовую книжку и Порядка ведения трудовых книжек".
Содержательная информация характеризует сведения о владельце документа (сведения о работнике), которые включают в себя: - Ф.И.О. в именительном падеже; - Число, месяц и год рождения; - Образование; - Профессию, специальность; - идентификационный (страховой номер). Сведения о работе вписываются в трудовую книжку работодателями в соответствии с Порядком ведения трудовых книжек, утвержденным постанов- лением Правительства Кыргызской Республики от 24 июля 2003 года № 462 "Об утверждении формы трудовой книжки, формы вкладыша в трудовую книжку и Порядка ведения трудовых книжек". Каждый гражданин Кыргызской Республики может иметь только одну трудовую книжку. Дубликат трудовой книжки выдается в случае утери первичного доку- мента или (по желанию работника) при наличии в трудовой книжке записи об увольнении и переводе на другую работу, впоследствии признанной не- действительной.
Если трудовая книжка пришла в негодность, то работода- тель по последнему месту работы также имеет право выдать работнику дуб- ликат трудовой книжки. В день увольнения с последнего места работы ра- ботодатель выдает работнику оба экземпляра трудовой книжки. При назна- чении пенсии работник предъявляет в органы Социального фонда оба эк- земпляра трудовой книжки - дубликат и пришедший в негодность оригинал. Дубликат трудовых книжек содержит все информационные реквизиты оригинала. К информационным реквизитам относятся номер, серия докумен- та. Бланк трудовой книжки на титульном листе содержит слово "Дубликат". 3. Вкладыш в трудовую книжку Вкладыш в трудовую книжку (далее "вкладыш"), как и основной доку- мент, является бланком строгой отчетности и выдается в случаях, предус- мотренных Порядком ведения трудовых книжек, утвержденным постановлением Правительства Кыргызской Республики от 24 июля 2003 года № 462 "Об ут- верждении формы трудовой книжки, формы вкладыша в трудовую книжку и По- рядка ведения трудовых книжек".
На титуле вкладыша размещается бланковая и содержательная информа- ция. Содержательная информация характеризует сведения о владельце доку- мента, которые включают в себя: - Ф.И.О. в именительном падеже; - Число, месяц и год рождения; - Образование; - Профессию, специальность; - идентификационный (страховой номер). 4. Порядок представления заявок на документы Заявки на получение трудовых книжек, вкладышей принимаются Минис- терством труда и социальной защиты Кыргызской Республики от работодате- лей и граждан Кыргызской Республики. Ответственность за правильность подачи заявки несут заявители. 5. Порядок расчетов Оплата трудовых книжек, вкладышей производится по расценкам, сог- ласно указанных в тендерной заявке. Оплата документов производится как за счет работодателей, так и за счет граждан Кыргызской Республики.
При получении документа в порядке личной инициативы документы оплачиваются гражданами самостоятельно. Оплата взимается одновременно с оформлением заявок. Неоплаченные заявки не принимаются к исполнению.

Хранение и учет трудовых книжек. Оплата труда, № 4, Февраль, 2009

Хранение и учет трудовых книжек

 

Мария КОЛЕСНИЧЕНКО, экономист-аналитик Издательского дома «Фактор»

 

Каков порядок учета и хранения трудовых книжек?

(Ровенская обл.)

 

В соответствии с п.п. 6.3 Инструкции о порядке ведения трудовых книжек на предприятиях, в учреждениях и организациях, утвержденной приказом Министерства труда Украины, Министерства юстиции Украины, Министерства социальной защиты населения Украины от 29.07.93 г. № 58

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

Пунктом 3 постановления Кабинета Министров Украины «О трудовых книжках работников» от 27.04.93 г. № 301

(далее — постановление № 301) и п.п. 7.2 Инструкции определено, что бланки трудовых книжек и вкладышей к ним являются документами строгого учета и хранятся в бухгалтерии предприятия, учреждения, организации. Поскольку трудовые книжки относятся к документам строгого учета, хранить их следует в сейфе. Ответственному за ведение трудовых книжек — подотчетному лицу они выдаются только по заявке.

По окончании каждого месяца подотчетное лицо

подает в бухгалтерию отчет о наличии бланков трудовых книжек и вкладышей к ним.

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

В соответствии с

п.п. 6.2 Инструкции трудовые книжки и их дубликаты, которые не были получены работниками при увольнении, хранятся на протяжении двух лет в отделе кадров предприятия отдельно от трудовых книжек работников, которые продолжают работать. После этого срока незатребованные трудовые книжки (их дубликаты) хранятся в архиве предприятия на протяжении 50 лет, а по окончании отмеченного срока их можно уничтожить в установленном порядке.

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

приказом Минстата Украины «Об утверждении типовых форм первичного учета личного состава» от 27.10.95 г. № 277 (далее — приказ № 277).

К ним относится

Книга учета бланков трудовых книжек и вкладышей к ним (форма № П-9). Эта Книга ведется бухгалтерией. В нее вносятся все операции, связанные с получением и расходованием бланков трудовых книжек и вкладышей к ним с указанием серии и номера каждого бланка. Приведем форму такой Книги.

 

Книга учета

бланков трудовых книжек и вкладышей к ним

Дата

От кого получено или кому отпущено

Основание (наименование документа, номер и дата)

Поступление

Расход

число

месяц

год

количество

сумма

количество

сумма

трудовых книжек (серия и номер)

вкладышей (серия и номер)

трудовых книжек (серия и номер)

вкладышей (серия и номер)

1

2

3

4

5

6

7

8

9

10

11

 

Книга учета движения трудовых книжек и вкладышей к ним

(форма № П-10) ведется отделом кадров. В этой Книге регистрируют все трудовые книжки, принятые от работников при трудоустройстве, а также вновь выданные работникам трудовые книжки с указанием серии и номера.

 

Книга учета

движения трудовых книжек и вкладышей к ним

№ п/п

Дата приема или заполнения трудовой книжки или вкладыша к ней

Фамилия, имя и отчество владельца трудовой книжки

Должность, профессия работника, который сдал или на которого заполнена трудовая книжка или вкладыш

Наименование структурного подразделения

Дата и номер документа, на основании которого принят работник

Расписка ответственного лица, которое принимало или заполняло трудовую книжку или вкладыш

Серия и номер трудовой книжки или вкладыша к ней

Сумма, полученная при выписке трудовой книжки или вкладыша к ней

Дата и основание выдачи работнику трудовой книжки при увольнении

Расписка работника о получении трудовой книжки

число

месяц

год

1

2

3

4

5

6

7

8

9

10

11

12

13

 

В случае получения трудовой книжки в связи с увольнением работник расписывается в личной карточке (форма № П-2) и в Книге учета движения трудовых книжек и вкладышей к ним, чем удостоверяет получение им трудовой книжки.

В

письме Минтруда от 03.07.2008 г. № 2022 уточнено, что выдача трудовой книжки сотрудника на руки, кроме случаев увольнения, не предусмотрена. В случае необходимости выдается заверенная выписка из трудовой книжки.

Обе Книги должны быть

пронумерованы, прошнурованы и заверены подписью руководителя предприятия и печатью.

Если при заполнении бланка трудовой книжки или вкладыша к ней ответственное лицо его испортило, необходимо составить

Акт на списание бланков трудовых книжек или вкладышей к ним по форме, утвержденной приказом № 277. Приведем образец этой формы.

 

 

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

Согласно п. 4 постановления № 301 за нарушение установленного порядка учета, хранения и выдачи трудовых книжек должностные лица несут дисциплинарную ответственность.

Россиянам начнут оформлять новые трудовые книжки в 2023 году

Премьер-министр Михаил Мишустин подписал постановление о введении с 1 января 2023 года трудовых книжек нового образца. В документе отмечается, что работники смогут без ограничений пользоваться и прежними трудовыми. То же касается бланков и вкладышей старого образца, которые хранятся у работодателей, – они также будут действительны.

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

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

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

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

Как не потерять стаж

В Минтруде ранее объяснили, как не потерять трудовой стаж людям, перешедшим на электронные трудовые книжки.

Для внесения в электронную трудовую всего стажа необходимо будет лично обратиться с бумажной трудовой в любое отделение ПФР, указали в ведомстве.

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

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

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

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

«Паспорта-карты»

Добавим, что с декабря будут введены электронные паспорта для всех желающих старше 14 лет. Они будут содержать персональные и биометрические данные – например, электронную подпись.

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

Интересно, что лишь 16% россиян, по данным ВЦИОМ, хотели бы оформить себе электронные паспорта, тогда как 73% не хотят. По оценкам 28% респондентов, бумажный паспорт лучше, а у его электронного аналога нет преимуществ.

Все справки – в электронном виде

К 2024 году все справки и выписки будут предоставляться россиянам в электронном виде в момент обращения за их получением, заявил ранее вице-премьер Дмитрий Чернышенко. По его словам, до конца 2022 года в цифровой формат будут переведены еще примерно 200 госуслуг.

Также правительство планирует в 2021 году обеспечить всех граждан России бесплатной электронной подписью. «Создаются сервисы, чтобы гражданину не нужно было носить с собой бумажные документы – достаточно защищенной цифровой копии в приложении «Госуслуги» на смартфоне», — отметил Чернышенко.

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

Создание форм, которые пользователи заполняют или распечатывают в Excel

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

Шаг 1. Показать вкладку “Разработчик”

  1. В меню Excel щелкните Настройки .

  2. В разделе Authoring щелкните View .

  3. В разделе На ленте, Показать , выберите Вкладка разработчика .

Шаг 2. Добавьте и отформатируйте элементы управления содержимым

  1. На вкладке Developer щелкните элемент управления, который хотите добавить.

  2. На листе щелкните место, куда вы хотите вставить элемент управления.

  3. Чтобы установить определенные свойства для элемента управления, удерживайте нажатой клавишу CONTROL и щелкните элемент управления, а затем щелкните Format Control .

  4. В поле Format Control установите необходимые свойства, такие как шрифт, выравнивание и цвет.

  5. Повторите шаги с 1 по 4 для каждого элемента управления, который вы хотите добавить.

Шаг 3. Защитите лист, содержащий форму

.
  1. В меню Инструменты наведите указатель на Protection , а затем щелкните Protect Sheet .

  2. Выберите нужные параметры защиты.

  3. Сохраните и закройте книгу.

    Совет: Чтобы продолжить редактирование после защиты формы, в меню Инструменты наведите указатель на Защитить лист , а затем щелкните Снять защиту листа .

Шаг 4. Проверьте форму (необязательно)

Если хотите, вы можете протестировать форму перед ее распространением.

  1. Защитите форму, как описано в шаге 3.

  2. Снова откройте форму, заполните ее, как это сделал бы пользователь, а затем сохраните копию.

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

Сводка

Microsoft Excel предоставляет несколько элементов управления для диалоговых листов, которые полезны для выбора элементов из списка. Примерами элементов управления являются списки, поля со списком, кнопки прокрутки и полосы прокрутки.

Дополнительные сведения об элементах управления формы в Excel см. В разделе Обзор форм, элементов управления формами и элементов управления ActiveX на листе.

Дополнительная информация

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

Включить вкладку разработчика

Чтобы использовать элементы управления формы в Excel 2010 и более поздних версиях, необходимо включить вкладку «Разработчик». Для этого выполните следующие действия:

  1. Щелкните File , а затем щелкните Options .

  2. Щелкните Настроить ленту на левой панели.

  3. Установите флажок Developer под главными вкладками справа, а затем нажмите OK .

Чтобы использовать элементы управления форм в Excel 2007, необходимо включить вкладку Developer . Для этого выполните следующие действия:

  1. Нажмите кнопку Microsoft Office , а затем нажмите Параметры Excel .

  2. Щелкните Popular , выберите вкладку Show Developer в поле Ribbon , а затем щелкните OK .

Настройте список, ссылку на ячейку и индекс

  1. На новом листе введите следующие элементы в диапазоне h2: h30:

    h2: роликовые коньки

    h3: видеомагнитофон

    h4: Рабочий стол

    h5: Кружка

    H5: Автомобиль

    H6: Стиральная машина

    H7: Ракетная установка

    H8: Велосипед

    H9: Телефон

    h20: Свеча

    h21: Конфеты

    h22: Динамики

    h23: Платье

    h24: Одеяло

    h25: Сушилка

    h26: Гитара

    h27: Сушилка

    h28: Набор инструментов

    h29: видеомагнитофон

    h30: жесткий диск

  2. В ячейке A1 введите следующую формулу:

    = ИНДЕКС (h2: h30, G1,0)

Пример окна списка

  1. Чтобы добавить список в Excel 2007 и более поздних версиях, щелкните вкладку Developer , нажмите Insert в группе Controls , а затем щелкните List Box Form (Control) под Form Controls .

    Чтобы добавить поле со списком в Excel 2003 и более ранних версиях Excel, нажмите кнопку «Список» на панели инструментов «Формы». Если панель инструментов «Формы» не отображается, наведите указатель на «Панели инструментов» в меню «Вид» и нажмите «Формы».

  2. Щелкните то место на листе, где вы хотите разместить левый верхний угол поля со списком, а затем перетащите поле со списком в то место, где должен находиться правый нижний угол поля со списком. В этом примере создайте список, охватывающий ячейки B2: E10.

  3. В группе Controls щелкните Properties .

  4. В окне Форматировать объект введите следующую информацию и нажмите OK.

    1. Чтобы указать диапазон для списка, введите h2: h30 в поле Диапазон ввода .

    2. Чтобы поместить числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Ссылка на ячейку .

      Примечание: Формула ИНДЕКС () использует значение в G1 для возврата правильного элемента списка.

    3. Убедитесь, что в Тип выбора выбран параметр Один.

      Примечание: Параметры Multi и Extend полезны только при использовании процедуры Microsoft Visual Basic для приложений для возврата значений списка. Также обратите внимание, что флажок 3-D затенения добавляет трехмерный вид окну списка.

  5. В поле со списком должен отображаться список элементов. Чтобы использовать поле со списком, щелкните любую ячейку, чтобы поле со списком не было выделено. Если щелкнуть элемент в списке, ячейка G1 обновляется до числа, которое указывает положение элемента, выбранного в списке. Формула ИНДЕКС в ячейке A1 использует это число для отображения имени элемента.

Пример поля со списком

  1. Чтобы добавить поле со списком в Excel 2007 и более поздних версиях, щелкните вкладку Developer , щелкните Insert , а затем щелкните Combo Box в разделе Элементы управления формой .

    Чтобы добавить поле со списком в Excel 2003 и более ранних версиях Excel, нажмите кнопку Поле со списком на панели инструментов «Формы».

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

  3. Щелкните правой кнопкой мыши поле со списком и выберите Format Control .

  4. Введите следующую информацию и нажмите OK:

    1. Чтобы указать диапазон для списка, введите h2: h30 в поле Диапазон ввода .

    2. Чтобы поместить числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Ссылка на ячейку .

      Примечание: Формула ИНДЕКС использует значение в G1 для возврата правильного элемента списка.

    3. В поле Drop down lines введите 10. Эта запись определяет, сколько элементов будет отображаться, прежде чем вы должны будете использовать полосу прокрутки для просмотра других элементов.

      Примечание: Флажок 3-D затенение не является обязательным.Он добавляет трехмерный вид раскрывающемуся списку или полю со списком.

  5. В раскрывающемся списке или поле со списком должен отображаться список элементов. Чтобы использовать раскрывающийся список или поле со списком, щелкните любую ячейку, чтобы объект не был выбран. Когда вы щелкаете элемент в раскрывающемся списке или поле со списком, ячейка G1 обновляется до числа, которое указывает позицию в списке выбранного элемента.Формула ИНДЕКС в ячейке A1 использует это число для отображения имени элемента.

Пример кнопки вращения

  1. Чтобы добавить вращающуюся кнопку в Excel 2007 и более поздних версиях, щелкните вкладку Developer , щелкните Insert , а затем щелкните Spin Button под Элементы управления формой .

    Чтобы добавить счетчик в Excel 2003 и более ранних версиях Excel, нажмите кнопку счетчика на панели инструментов «Формы».

  2. Щелкните то место на листе, где вы хотите разместить левый верхний угол кнопки вращения, а затем перетащите кнопку вращения в то место, где должен находиться правый нижний угол кнопки вращения. В этом примере создайте вращающуюся кнопку, которая закрывает ячейки B2: B3.

  3. Щелкните правой кнопкой мыши вращающуюся кнопку, а затем щелкните Format Control .

  4. Введите следующую информацию и нажмите OK:

    1. В поле Текущее значение введите 1.

      Это значение инициализирует вращающую кнопку, так что формула ИНДЕКС будет указывать на первый элемент в списке.

    2. В поле Минимальное значение введите 1.

      Это значение ограничивает верхнюю часть кнопки прокрутки первым элементом в списке.

    3. В поле Максимальное значение введите 20.

      Это число указывает максимальное количество записей в списке.

    4. В поле Incremental change введите 1.

      Это значение определяет, насколько элемент управления вращающейся кнопкой увеличивает текущее значение.

    5. Чтобы поместить числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Ссылка на ячейку.

  5. Щелкните любую ячейку, чтобы кнопка вращения не была выбрана. Когда вы нажимаете элемент управления вверх или вниз на кнопке вращения, ячейка G1 обновляется до числа, которое указывает текущее значение кнопки вращения плюс или минус инкрементное изменение кнопки вращения. Затем это число обновляет формулу ИНДЕКС в ячейке A1, чтобы отобразить следующий или предыдущий элемент.

    Значение кнопки прокрутки не изменится, если текущее значение равно 1 и вы щелкнете элемент управления вниз, или если текущее значение равно 20 и вы щелкните элемент управления вверх.

Пример полосы прокрутки

  1. Чтобы добавить полосу прокрутки в Excel 2007 и более поздних версиях, щелкните вкладку Developer , щелкните Insert , а затем щелкните Scroll Bar под Form Controls .

    Чтобы добавить полосу прокрутки в Excel 2003 и более ранних версиях Excel, нажмите кнопку «Полоса прокрутки» на панели инструментов «Формы».

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

  3. Щелкните полосу прокрутки правой кнопкой мыши и выберите Format Control .

  4. Введите следующую информацию и нажмите OK:

    1. В поле Текущее значение введите 1.

      Это значение инициализирует полосу прокрутки, так что формула ИНДЕКС будет указывать на первый элемент в списке.

    2. В поле «Минимальное значение » введите 1.

      Это значение ограничивает верхнюю часть полосы прокрутки первым элементом в списке.

    3. В поле Максимальное значение введите 20. Это число указывает максимальное количество записей в списке.

    4. В поле Инкрементальное изменение введите 1.

      Это значение определяет, на сколько чисел полоса прокрутки увеличивает текущее значение.

    5. В поле Page change введите 5. Это значение определяет, насколько будет увеличиваться текущее значение, если щелкнуть внутри полосы прокрутки по обе стороны от поля прокрутки).

    6. Чтобы поместить числовое значение в ячейку G1 (в зависимости от того, какой элемент выбран в списке), введите G1 в поле Ссылка на ячейку .

      Примечание: Флажок 3-D затенение не является обязательным. Он добавляет трехмерности полосе прокрутки.

  5. Щелкните любую ячейку, чтобы полоса прокрутки не выделялась. Когда вы щелкаете верхний или нижний элемент управления на полосе прокрутки, ячейка G1 обновляется до числа, которое указывает текущее значение полосы прокрутки плюс или минус инкрементное изменение полосы прокрутки.Это число используется в формуле ИНДЕКС в ячейке A1 для отображения элемента рядом с текущим элементом или перед ним. Вы также можете перетащить полосу прокрутки, чтобы изменить значение, или щелкните полосу прокрутки по обе стороны от поля прокрутки, чтобы увеличить ее на 5 (значение изменения страницы). Полоса прокрутки не изменится, если текущее значение равно 1 и вы щелкнете элемент управления вниз, или если текущее значение равно 20 и вы щелкнете элемент управления вверх.

Как создать пользовательскую форму Excel для ввода данных

Чтобы пользователям было проще вводить данные в книгу, вы можете создать пользовательская форма Excel.Письменные инструкции и видео в этом руководстве показывают вам шаги.

См. Также пользовательскую форму Excel с полями со списком.

Знакомство с пользовательскими формами

Для создания UserForm требуется некоторое программирование, и вы можете увидеть шаги в видеороликах, показанных ниже. Письменные инструкции см. Ниже видео.

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

Видео: создание пользовательской формы Excel

Чтобы увидеть шаги по созданию UserForm, просмотрите эти 3 коротких видеоуроки. Письменные инструкции находятся под видео.

В видеороликах используется Excel 2003, и можно выполнить те же действия. в более поздних версиях. При сохранении файла в Excel 2007 или более поздней версии сохраните как тип файла с поддержкой макросов.

Заполненная пользовательская форма – как это работает

Перед созданием UserForm вы можете посмотреть это короткое видео, которое показывает заполненная форма и как она работает.

Создание пользовательской формы – Часть 1

В части 1 из 3 вы увидите, как создать пустую пользовательскую форму. Затем вы назовете UserForm, а затем добавите текстовые поля и метки.

Пользователи смогут вводить данные в текстовые поля. Этикетки добавляются рядом с текстовыми полями, чтобы описать, что пользователи должны вводить текстовое поле

Создание пользовательской формы – Часть 2

В части 2 из 3 вы узнаете, как добавлять кнопки и заголовок в пользовательскую форму.

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

Создание пользовательской формы – часть 3

В части 3 из 3 вы узнаете, как добавить код VBA к элементам управления и вы увидите, как протестировать UserForm.

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

Настройте рабочий лист

В этом примере инвентарь запчастей хранится на скрытом рабочем листе.

  1. Открыть новую книгу
  2. Дважды щелкните вкладку листа для Sheet1
  3. Тип: Детали Данные
  4. Нажмите клавишу Enter
  5. В ячейках A1: D1 введите заголовки для базы данных инвентаризации запчастей, как показано справа.
  6. Выбрать файл | Сохраните и сохраните книгу. В этом примере файл был назван PartsLocDB. xls .
    ПРИМЕЧАНИЕ. В Excel 2007 и более поздних версиях сохраните файл как макрос с поддержкой тип файла.

Создать пользовательскую форму

пользовательских форм создаются в редакторе Visual Basic.

  1. Чтобы открыть редактор Visual Basic, удерживайте клавишу Alt и нажмите F11 ключ
  2. Выбрать просмотр | Project Explorer, чтобы увидеть список проектов.(Как правило, это отображается в левой части окна VBE.)
  3. В проводнике проектов выберите проект PartLocDB.
  4. В строке меню выберите Вставить | UserForm
  5. Появится пустая пользовательская форма, и панель инструментов должна открыться. (Если ToolBox не отображается, выберите Просмотр | Ящик для инструментов)

Имя UserForm

  1. Чтобы открыть окно свойств, нажмите клавишу F4
  2. В окне свойств дважды щелкните имя – UserForm1 , в правом верхнем углу окна.
  3. Введите: frmPartLoc
    и нажмите клавишу Enter
  4. .

  5. Имя формы изменится в Project Explorer, но форма останется показывает UserForm1 в строке заголовка.
  6. В окне «Свойства» дважды щелкните свойство Caption – UserForm1 .
  7. Введите: Запасные части
    и нажмите клавишу Enter
  8. .
  9. В строке заголовка отобразится новый заголовок.

Добавить текстовое поле в пользовательскую форму

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

  1. На панели инструментов нажмите кнопку TextBox.
  2. В UserForm щелкните вверху в центре, чтобы добавить стандартный размер. текстовое окно.
  3. Выделив новое текстовое поле, дважды щелкните свойство Name в окно “Свойства”.
  4. Введите: txtPart
    и нажмите клавишу Enter
  5. Щелкните пустую часть пользовательской формы, чтобы выбрать пользовательскую форму и для отображения Панели инструментов.

Добавить метку в пользовательскую форму

Чтобы помочь пользователям вводить данные, вы можете добавить элементы управления ярлыками для описания текстовые поля или для отображения инструкций.

  1. На панели инструментов нажмите кнопку «Ярлык».
  2. В пользовательской форме щелкните слева от текстового поля, чтобы добавить стандартный размер этикетки.
  3. Выбрав новую метку, дважды щелкните свойство Caption. в окне “Свойства”.
  4. Введите: Part
    и нажмите клавишу Enter
  5. При необходимости вы можете изменить размер метки, чтобы она не закрывала текстовое поле. – наведите указатель на маркер на его правой границе и перетащите влево.
  6. Щелкните пустую часть пользовательской формы, чтобы выбрать пользовательскую форму и для отображения Панели инструментов.

Добавить оставшиеся текстовые поля и метки

Повторите вышеуказанные шаги, чтобы добавить:

  • текстовое поле с именем txtLoc с меткой Местоположение
  • текстовое поле с именем txtDate с меткой Date
  • текстовое поле с именем txtQty с меткой Количество

Если текстовые поля не выровнены, их можно выровнять:

  1. Щелкните первое текстовое поле
  2. Удерживая клавишу Ctrl, щелкните оставшиеся текстовые поля
  3. Выбрать формат | Выровнять | Левый
  4. Щелкните пустую часть пользовательской формы, чтобы выбрать пользовательскую форму и для отображения Панели инструментов.

Добавить кнопки в пользовательскую форму

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

  1. На панели инструментов нажмите кнопку CommandButton.
  2. В UserForm щелкните в левом нижнем углу, чтобы добавить стандартный размер. CommandButton.
  3. Выбрав новую кнопку CommandButton, дважды щелкните свойство Name. в окне “Свойства”.
  4. Введите: cmdAdd
    и нажмите клавишу Enter
  5. Выбрав новую кнопку CommandButton, дважды щелкните свойство Caption. в окне “Свойства”.
  6. Введите: Добавьте эту часть
    и нажмите клавишу Enter
  7. Щелкните пустую часть пользовательской формы, чтобы выбрать пользовательскую форму и для отображения Панели инструментов.
  8. Повторите вышеуказанные шаги, чтобы добавить CommandButton с именем cmdClose , с этикеткой Закрыть
  9. При необходимости вы можете изменить положение кнопок, перетащив их на новое место в UserForm.

Добавить код к кнопкам

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

Добавить код в cmd Добавить кнопку

  1. Выберите кнопку cmdAdd
  2. В строке меню выберите Просмотр | Код.
  3. Это создает процедуру, в которую вы можете добавить свой код.

  4. Там, где мигает курсор, введите следующий код:
 Частная подпрограмма cmdAdd_Click ()
Dim iRow As Long
Dim ws как рабочий лист
Установить ws = Worksheets ("PartsData")

'найти первую пустую строку в базе данных
iRow = ws. Cells.Find (What: = "*", SearchOrder: = xlRows, _
    SearchDirection: = xlPrevious, LookIn: = xlValues) .Row + 1

'проверить номер детали
Если Trim (Me.txtPart.Value) = "" Тогда
  Me.txtPart.SetFocus
  MsgBox "Пожалуйста, введите номер детали"
  Выйти из подводной лодки
Конец, если

'копируем данные в базу
'использовать линии защиты и снятия защиты,
'с вашим паролем
'если лист защищен
С ws
'.Unprotect Password: = "пароль"
  .Cells (iRow, 1) .Value = Me.txtPart.Value
  .Cells (iRow, 2) .Value = Me.txtLoc.Value
  .Ячейки (iRow, 3) .Value = Me.txtDate.Value
  .Cells (iRow, 4) .Value = Me.txtQty.Value
'.Protect Password: = "пароль"
Конец с

'очистить данные
Me.txtPart.Value = ""
Me.txtLoc.Value = ""
Me.txtDate.Value = ""
Me.txtQty.Value = ""
Me.txtPart.SetFocus

Концевой переводник 
  1. В строке меню выберите Просмотр | Object, чтобы вернуться в UserForm.

Добавить код в cmd Кнопка закрытия

  1. Нажмите кнопку cmd Close
  2. В строке меню выберите Просмотр | Код.
  3. Там, где мигает курсор, введите следующий код:
 Private Sub cmdClose_Click ()
  Разгрузить меня
Концевой переводник 
  1. В строке меню выберите Просмотр | Object, чтобы вернуться в UserForm.

Чтобы разрешить пользователям закрывать форму, нажимая клавишу Esc:

  1. Нажмите кнопку cmd Close
  2. В окне «Свойства» измените свойство «Отмена» на True
Чтобы запретить пользователям закрывать форму, нажав кнопку X

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

  1. Щелкните правой кнопкой мыши пустую часть UserForm
  2. Выбрать просмотр | Код
  3. В раскрывающемся списке “Процедура” в правом верхнем углу выберите QueryClose
  4. .

  5. Там, где мигает курсор, вставьте выделенный код из следующий образец
 Частная подпрограмма UserForm_QueryClose (Отменить как целое число, _
  CloseMode как целое число)
    Если CloseMode = vbFormControlMenu, то
    Отмена = Истина
    MsgBox "Пожалуйста, используйте кнопку закрытия формы!"
  Конец, если 
Концевой переводник 
  1. В строке меню выберите Просмотр | Object, чтобы вернуться в UserForm.

Теперь, если кто-то щелкнет X в пользовательской форме, он увидит ваше сообщение.

Тестирование пользовательской формы

Чтобы протестировать форму, вы можете запустить ее из VBE.

  1. Щелкните пустую часть пользовательской формы, чтобы выбрать пользовательскую форму и для отображения Панели инструментов.
  2. В строке меню выберите «Выполнить» | Запустите Sub / UserForm.

  3. В текстовом поле Деталь введите: 12345
  4. Нажмите клавишу табуляции, чтобы перейти к следующему текстовому полю.
  5. Когда текстовые поля будут заполнены, нажмите «Добавить эту часть» кнопка.
  6. Нажмите кнопку «Закрыть форму», чтобы вернуться в VBE.

Если порядок табуляции был неправильным (например, когда вы нажали клавишу табуляции, вы перемещен в неправильное текстовое поле или кнопку), вы можете изменить его

  1. Щелкните правой кнопкой мыши пустую часть UserForm
  2. Выберите Порядок вкладок
  3. Выберите элемент управления в списке и нажмите Move Up или Move Вниз кнопка
  4. Нажмите ОК

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

Чтобы пользователям было проще открывать UserForm, вы можете добавить кнопку на рабочий лист.

  1. Переключитесь в Excel и активируйте книгу PartLocDB.xls
  2. Дважды щелкните вкладку листа для Sheet2
  3. Тип: Ввод данных о деталях
  4. Нажмите клавишу Enter
  5. На панели инструментов «Рисование» щелкните инструмент «Прямоугольник» (в Excel 2007 / 2010, используйте фигуру из вкладки Вставка)
  6. В центре листа нарисуйте прямоугольник и отформатируйте его по своему усмотрению.
  7. Выделив прямоугольник, введите:
    Щелкните здесь, чтобы добавить информацию о детали

  8. Щелкните правой кнопкой мыши границу прямоугольника и выберите «Назначить макрос».
  9. Нажмите кнопку Новый
  10. Там, где мигает курсор, введите: frmPartLoc.Показать
  11. Перейдите в окно Excel и нажмите кнопку, чтобы открыть UserForm.
  • ПРИМЕЧАНИЕ : Пока UserForm открыта, вы не сможете выполнять любые другие действия в Excel, например вводить данные в рабочий лист. Сначала вам нужно закрыть форму.
  • Если вы хотите, чтобы пользователи могли выполнять другие действия в Excel пока форма открыта, измените строку выше на: frmPartLoc.Показывать False , чтобы отключить модальную настройку

Завершить рабочую тетрадь

Чтобы закончить книгу, вы можете скрыть лист, содержащий базу данных.

  1. Переключитесь в Excel и активируйте книгу PartLocDB.xls
  2. Выберите лист PartsData .
  3. В строке меню выберите Формат | Лист | Скрыть (в Excel 2007 / 2010, используйте команды Форматировать на вкладке Главная)
  4. Удалить все остальные листы, кроме Ввод данных деталей
  5. Нажмите кнопку Нажмите здесь, чтобы добавить кнопку «Информация о детали» и введите ваши данные в базу данных.
  6. Закройте и сохраните книгу

Получить образец файла

Связанные руководства

UserForm с ComboBox

UserForm Зависимые ComboBox

UserForm ComboBox VBA

Код проверки текстового поля UserForm

Пользовательская форма со страницами справки

Django Tutorial Часть 9: Работа с формами – Изучение веб-разработки

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

Предварительные требования: Завершите все предыдущие темы учебника, в том числе Учебник по Django, часть 8: Аутентификация и разрешения пользователей.
Цель: Чтобы понять, как писать формы для получения информации от пользователей и обновить базу данных.Чтобы понять, как универсальное редактирование на основе классов представления могут значительно упростить создание форм для работы с одним модель.

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

Хотя мы до сих пор не создавали никаких форм в этом руководстве, мы уже встречались с ними на сайте администратора Django – например, на снимке экрана ниже показана форма для редактирования одной из наших моделей Book, состоящая из нескольких выбранных списки и текстовые редакторы.

Работа с формами может быть сложной! Разработчикам необходимо написать HTML для формы, проверить и правильно обработать введенные данные на сервере (и, возможно, также в браузере), повторно опубликовать форму с сообщениями об ошибках, чтобы информировать пользователей о любых недопустимых полях, обрабатывать данные, когда они были успешно отправлены. , и, наконец, ответить пользователю каким-либо образом, чтобы указать на успех. Django Forms берет на себя большую часть работы на всех этих этапах, предоставляя платформу, которая позволяет вам определять формы и их поля программно, а затем использовать эти объекты как для генерации HTML-кода формы, так и для обработки большей части проверки и пользовательской взаимодействие.

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

Во-первых, краткий обзор форм HTML. Рассмотрим простую HTML-форму с одним текстовым полем для ввода имени некоторой «команды» и связанной с ней меткой:

Форма определяется в HTML как набор элементов внутри

. ..
теги, содержащие по крайней мере один input элемент типа type = "submit" .

  

В то время как здесь у нас есть только одно текстовое поле для ввода имени команды, форма может иметь любое количество других элементов ввода и связанных с ними меток.Атрибут типа поля определяет, какой виджет будет отображаться. Имя и id поля используются для идентификации поля в JavaScript / CSS / HTML, а значение определяет начальное значение поля при его первом отображении. Соответствующая метка команды указывается с помощью тега label (см. «Введите имя» выше), с полем для , содержащим значение id для соответствующего входа .

Ввод submit будет отображаться как кнопка (по умолчанию), которую пользователь может нажать для загрузки данных во всех других элементах ввода в форме на сервер (в данном случае только team_name ) .Атрибуты формы определяют HTTP-метод , используемый для отправки данных, и место назначения данных на сервере (действие ):

  • действие : ресурс / URL-адрес, по которому данные должны быть отправлены для обработки при отправке формы. Если он не установлен (или установлен в пустую строку), тогда форма будет отправлена ​​обратно по URL-адресу текущей страницы.
  • method : HTTP-метод, используемый для отправки данных: post или get .
    • Метод POST всегда следует использовать, если данные должны привести к изменению базы данных сервера, поскольку это можно сделать более устойчивым к атакам запроса межсайтовой подделки.
    • Метод GET следует использовать только для форм, которые не изменяют пользовательские данные (например, форма поиска). Рекомендуется, если вы хотите добавить в закладки или поделиться URL-адресом.

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

Как вы понимаете, создание HTML, проверка возвращенных данных, повторное отображение введенных данных с отчетами об ошибках, если это необходимо, и выполнение желаемой операции с действительными данными может потребовать довольно много усилий, чтобы «добиться правильного». Django значительно упрощает эту задачу, убрав часть тяжелой работы и повторяющийся код!

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

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

Основываясь на диаграмме выше, основные действия, выполняемые при обработке форм в Django:

  1. Отображение формы по умолчанию при первом запросе пользователя.
    • Форма может содержать пустые поля (например, если вы создаете новую запись) или она может быть предварительно заполнена начальными значениями (например, если вы изменяете запись или имеете полезные начальные значения по умолчанию).
    • На этом этапе форма называется несвязанная , потому что она не связана с какими-либо введенными пользователем данными (хотя может иметь начальные значения).
  2. Получите данные из запроса на отправку и привяжите их к форме.
    • Привязка данных к форме означает, что введенные пользователем данные и любые ошибки доступны, когда нам нужно повторно отобразить форму.
  3. Очистите и проверьте данные.
    • Очистка данных выполняет дезинфекцию ввода (например, удаление недопустимых символов, которые могут использоваться для отправки вредоносного содержимого на сервер) и преобразование их в согласованные типы Python.
    • Проверка проверяет, подходят ли значения для поля (например, находятся в правильном диапазоне дат, не слишком ли короткие или слишком длинные и т. Д.)
  4. Если какие-либо данные недействительны, повторно отобразите форму, на этот раз с любыми введенными пользователем значениями и сообщениями об ошибках для проблемных полей.
  5. Если все данные действительны, выполните необходимые действия (например, сохраните данные, отправьте электронное письмо, верните результат поиска, загрузите файл и т. Д.)
  6. После завершения всех действий перенаправьте пользователя на другую страницу.

Django предоставляет ряд инструментов и подходов, которые помогут вам с задачами, описанными выше. Самым фундаментальным является класс Form , который упрощает как создание HTML-формы, так и очистку / проверку данных. В следующем разделе мы опишем, как работают формы, на практическом примере страницы, позволяющей библиотекарям обновлять книги.

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

Далее мы собираемся добавить страницу, на которой библиотекари смогут продлевать книги, взятые у них взаймы. Для этого мы создадим форму, которая позволит пользователям вводить значение даты. Мы заполним поле начальным значением через 3 недели от текущей даты (нормальный период заимствования) и добавим некоторую проверку, чтобы библиотекарь не мог ввести дату в прошлом или дату слишком далеко в будущем.Когда введена действительная дата, мы запишем ее в поле текущей записи BookInstance.due_back .

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

Form

Класс Form является сердцем системы обработки форм Django. Он определяет поля в форме, их макет, виджеты отображения, метки, начальные значения, допустимые значения и (после проверки) сообщения об ошибках, связанные с недопустимыми полями. Класс также предоставляет методы для рендеринга самого себя в шаблонах с использованием предопределенных форматов (таблицы, списки и т. Д.) Или для получения значения любого элемента (позволяя детализированный рендеринг вручную).

Заявление формы

Синтаксис объявления для формы очень похож на синтаксис объявления Model и использует те же типы полей (и некоторые аналогичные параметры). Это имеет смысл, потому что в обоих случаях нам нужно убедиться, что каждое поле обрабатывает правильные типы данных, ограничено допустимыми данными и имеет описание для отображения / документации.

Данные формы хранятся в файле forms.py приложения внутри каталога приложения. Создайте и откройте файл locallibrary / catalog / forms.py . Чтобы создать форму , мы импортируем библиотеку форм , производную от класса Form и объявляем поля формы. Самый простой класс формы для нашей формы продления библиотечной книги показан ниже – добавьте это в свой новый файл:

  из форм импорта django

класс RenewBookForm (forms. Form):
    Renewal_date = формы.DateField (help_text = "Введите дату от настоящего момента до 4 недель (по умолчанию 3).")
  
Поля формы

В этом случае у нас есть одно поле DateField для ввода даты продления, которое будет отображаться в HTML с пустым значением, метка по умолчанию « Дата продления: » и некоторый полезный текст использования: « Введите дату между сейчас и 4 недели (по умолчанию 3 недели). «Поскольку ни один из других необязательных аргументов не указан, поле будет принимать даты в формате input_formats: ГГГГ-ММ-ДД (2016-11-06), ММ / ДД / ГГГГ (02 / 26/2016), MM / DD / YY (25.10.16), и будет отображаться с использованием виджета по умолчанию: DateInput.

Существует множество других типов полей формы, которые вы в значительной степени узнаете по их сходству с эквивалентными классами полей модели: BooleanField , CharField , ChoiceField , TypedChoiceField , DateField , DateTimeField DecimalField , DurationField , EmailField , FileField , FilePathField , FloatField , ImageField , IntegerField , GenericIPAddressField , MultipleChoiceField , TypedMultipleChoiceField , NullBooleanField , RegexField , SlugField , TimeField , URLField , UUIDField , ComboField , MultiValueField , SplitDateTimeField , ModelMultipleChoice.

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

  • Требуется : Если Истинно , поле нельзя оставить пустым или присвоить значение Нет . Поля являются обязательными по умолчанию, поэтому вы должны установить required = False , чтобы разрешить пустые значения в форме.
  • метка : метка, используемая при визуализации поля в HTML. Если метка не указана, Django создаст ее из имени поля, сделав первую букву заглавной и заменив символы подчеркивания пробелами (например,г. Дата обновления ).
  • label_suffix : По умолчанию после метки отображается двоеточие (например, дата продления : ). Этот аргумент позволяет указать другой суффикс, содержащий другие символы.
  • начальное : начальное значение поля при отображении формы.
  • виджет : Используемый виджет дисплея.
  • help_text (как показано в примере выше): дополнительный текст, который может отображаться в формах, чтобы объяснить, как использовать поле.
  • error_messages : список сообщений об ошибках для поля. При необходимости вы можете заменить их своими собственными сообщениями.
  • валидаторов : список функций, которые будут вызываться в поле при его проверке.
  • localize : Включает локализацию ввода данных формы (см. Ссылку для получения дополнительной информации).
  • отключено : поле отображается, но его значение нельзя изменить, если это True .По умолчанию Ложь .
Проверка

Django предоставляет множество мест, где вы можете проверить свои данные. Самый простой способ проверить одно поле - переопределить метод clean_ () для поля, которое вы хотите проверить. Так, например, мы можем проверить, что введенные значения Renewal_date находятся в промежутке от настоящего момента до 4 недель, реализовав clean_renewal_date () , как показано ниже.

Обновите файл forms.py, чтобы он выглядел так:

  дата и время импорта

из форм импорта django

из джанго.core.exceptions import ValidationError
из django.utils.translation импортируйте ugettext_lazy как _

класс RenewBookForm (forms.Form):
    Renewal_date = forms.DateField (help_text = "Введите дату от настоящего момента до 4 недель (по умолчанию 3).")

    def clean_renewal_date (самостоятельно):
        data = self.cleaned_data ['обновление_дата']

        
        если данные  datetime.date.today () + datetime.timedelta (недели = 4):
            Raise ValidationError (_ ('Недействительная дата - продление более чем на 4 недели вперед'))

        
        вернуть данные
  

Следует отметить два важных момента.Во-первых, мы получаем наши данные с помощью self.cleaned_data ['refreshal_date'] и возвращаем эти данные вне зависимости от того, изменили мы их в конце функции или нет. На этом этапе данные «очищаются» и дезинфицируются от потенциально небезопасных входных данных с помощью валидаторов по умолчанию и преобразуются в правильный стандартный тип данных (в данном случае объект Python datetime.datetime ).

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

Примечание: Существует множество других методов и примеров для проверки форм в форме и проверки полей (документы Django). Например, в случаях, когда у вас есть несколько полей, которые зависят друг от друга, вы можете переопределить функцию Form. clean () и снова вызвать ValidationError .

Это все, что нам нужно для формы в этом примере!

Конфигурация URL-адреса

Перед тем, как мы создадим наше представление, давайте добавим конфигурацию URL-адреса для страницы Renew-books . Скопируйте следующую конфигурацию в конец locallibrary / catalog / urls.py :

  urlpatterns + = [
    путь ('book /  / Renew /', views.renew_book_librarian, name = 'Renew-book-librarian'),
]
  

Конфигурация URL-адреса будет перенаправлять URL-адреса в формате / catalog / book / / Renew / в функцию с именем refresh_book_librarian () в представлениях.py и отправьте BookInstance id в качестве параметра с именем pk . Шаблон соответствует только в том случае, если pk - это правильно отформатированный uuid .

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

Представление

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

Для форм, которые используют запрос POST для отправки информации на сервер, наиболее распространенным шаблоном является проверка представлением типа запроса POST (, если request.method == 'POST': ) для идентификации запросы проверки формы и GET (с использованием условия else ) для идентификации первоначального запроса на создание формы. Если вы хотите отправить свои данные с помощью запроса GET , то типичный подход для определения того, является ли это первым или последующим вызовом представления, - это прочитать данные формы (например, прочитать скрытое значение в форме).

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

  дата и время импорта

из джанго.ярлыки import render, get_object_or_404
из django.http import HttpResponseRedirect
из django.urls импортировать обратный

из catalog.forms импортировать RenewBookForm

def Renew_book_librarian (запрос, pk):
    book_instance = get_object_or_404 (BookInstance, pk = pk)

    
    если request.method == 'POST':

        
        form = RenewBookForm (request.POST)

        
        если form.is_valid ():
            
            book_instance. due_back = form.cleaned_data ['обновление_дата']
            book_instance.save ()

            
            return HttpResponseRedirect (reverse ('все заимствовано'))

    
    еще:
        предложение_renewal_date = дата и время.date.today () + datetime.timedelta (недели = 3)
        form = RenewBookForm (initial = {'возобновление_даты': предлагаемая_дата_продления})

    context = {
        'form': форма,
        'book_instance': book_instance,
    }

    возврат рендера (запрос, 'catalog / book_renew_librarian.html', контекст)
  

Сначала мы импортируем нашу форму ( RenewBookForm ) и ряд других полезных объектов / методов, используемых в теле функции просмотра:

  • get_object_or_404 () : возвращает указанный объект из модели на основе его значения первичного ключа и вызывает исключение Http404 (не найдено), если запись не существует.
  • HttpResponseRedirect : создает перенаправление на указанный URL (код состояния HTTP 302).
  • reverse () : генерирует URL-адрес из имени конфигурации URL-адреса и набора аргументов. Это Python-эквивалент тега url , который мы использовали в наших шаблонах.
  • datetime : библиотека Python для управления датой и временем.

В представлении мы сначала используем аргумент pk в get_object_or_404 () , чтобы получить текущий экземпляр BookInstance (если он не существует, представление немедленно закроется, и на странице отобразится ошибка «не найдено»).Если это , а не , запрос POST (обрабатывается предложением else ), тогда мы создаем форму по умолчанию, передавая начальное значение для поля Renewal_date , через 3 недели с текущей даты.

  book_instance = get_object_or_404 (BookInstance, pk = pk)

    
    еще:
        предложение_renewal_date = datetime.date.today () + datetime. timedelta (недели = 3)
        form = RenewBookForm (initial = {'возобновление_даты': предлагаемая_дата_продления})

    context = {
        'form': форма,
        'book_instance': book_instance,
    }

    вернуть рендер (запрос, 'catalog / book_renew_librarian.html ', контекст)
  

После создания формы мы вызываем render () , чтобы создать HTML-страницу, указав шаблон и контекст, содержащий нашу форму. В этом случае контекст также содержит наш BookInstance , который мы будем использовать в шаблоне, чтобы предоставить информацию о книге, которую мы обновляем.

Однако, если это запрос POST , мы создаем объект формы и заполняем его данными из запроса. Этот процесс называется «привязкой» и позволяет нам проверить форму.

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

  book_instance = get_object_or_404 (BookInstance, pk = pk)

    
    если request.method == 'POST':

        
        form = RenewBookForm (request.POST)

        
        если форма.является действительным():
            
            book_instance.due_back = form.cleaned_data ['обновление_дата']
            book_instance.save ()

            
            return HttpResponseRedirect (reverse ('все заимствовано'))

    context = {
        'form': форма,
        'book_instance': book_instance,
    }

    возврат рендера (запрос, 'catalog / book_renew_librarian.html', контекст)
  

Если форма недействительна, мы снова вызываем render () , но на этот раз значение формы, переданное в контексте, будет включать сообщения об ошибках.

Если форма действительна, мы можем начать использовать данные, получая доступ к ним через атрибут form.cleaned_data (например, data = form.cleaned_data ['Renewal_date'] ). Здесь мы просто сохраняем данные в значении due_back связанного объекта BookInstance .

Предупреждение: Хотя вы также можете получить доступ к данным формы напрямую через запрос (например, request.POST ['Renewal_date'] или request.GET ['Renewal_date'] при использовании запроса GET), это НЕ рекомендуется. Очищенные данные дезинфицируются, проверяются и преобразуются в типы, удобные для Python.

Последний шаг в части представления, связанной с обработкой формы, - это перенаправление на другую страницу, обычно страницу с «успехом». В этом случае мы используем HttpResponseRedirect и reverse () для перенаправления в представление с именем 'all-заимствовано' (это было создано как «вызов» в Django Tutorial Part 8: User authentication and permissions).Если вы не создавали эту страницу, рассмотрите возможность перенаправления на домашнюю страницу по URL-адресу «/»).

Это все, что нужно для самой обработки формы, но нам все еще нужно ограничить доступ к представлению только зарегистрированным библиотекарям, у которых есть разрешение на обновление книг. Мы используем @login_required , чтобы требовать, чтобы пользователь вошел в систему, и декоратор функции @permission_required с нашим существующим разрешением can_mark_returned , чтобы разрешить доступ (декораторы обрабатываются по порядку).Обратите внимание, что нам, вероятно, следовало создать новый параметр разрешений в BookInstance can_renew »), но мы будем повторно использовать существующий, чтобы не усложнять пример.

Окончательный вид будет таким, как показано ниже. Скопируйте это в конец locallibrary / catalog / views.py .

  дата и время импорта

из django.contrib.auth.decorators import login_required, permission_required
из django.shortcuts импортировать get_object_or_404
из джанго. http импорт HttpResponseRedirect
из django.urls импортировать обратный

из catalog.forms импортировать RenewBookForm

@login_required
@permission_required ('catalog.can_mark_returned', raise_exception = Истина)
def Renew_book_librarian (запрос, pk):
    "" "Функция просмотра для обновления конкретного экземпляра BookInstance библиотекарем." ""
    book_instance = get_object_or_404 (BookInstance, pk = pk)

    
    если request.method == 'POST':

        
        form = RenewBookForm (request.POST)

        
        если form.is_valid ():
            
            book_instance.due_back = form.cleaned_data ['обновление_дата']
            book_instance.save ()

            
            return HttpResponseRedirect (reverse ('все заимствовано'))

    
    еще:
        предложение_renewal_date = datetime.date.today () + datetime.timedelta (недели = 3)
        form = RenewBookForm (initial = {'возобновление_даты': предлагаемая_дата_продления})

    context = {
        'form': форма,
        'book_instance': book_instance,
    }

    возврат рендера (запрос, 'catalog / book_renew_librarian. html', контекст)
  

Шаблон

Создайте шаблон, на который есть ссылка в представлении ( / catalog / templates / catalog / book_renew_librarian.html ) и скопируйте в него приведенный ниже код:

  {% extends "base_generic.html"%}

{% блокировать содержание%}
   

Продлить: {{book_instance.book.title}}

Заемщик: {{book_instance.borrower}}

Срок сдачи: {{book_instance.due_back}}

{% csrf_token%} <таблица> {{form.as_table}}
{% endblock%}

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

Мы расширяем базовый шаблон, а затем переопределяем блок содержимого. Мы можем ссылаться на {{book_instance}} (и его переменные), потому что он был передан в объект контекста в функции render () , и мы используем их, чтобы перечислить название книги, заемщика и исходный платеж. Дата.

Код формы относительно прост. Во-первых, мы объявляем теги формы , определяющие, куда должна быть отправлена ​​форма (действие ), и метод для отправки данных (в данном случае «HTTP POST ») - если вы помните HTML Обзор форм в верхней части страницы, пустое действие , как показано, означает, что данные формы будут отправлены обратно на текущий URL-адрес страницы (что мы и хотим!).Внутри тегов мы определяем ввод submit , который пользователь может нажать, чтобы отправить данные. {% csrf_token%} , добавленный внутри тегов формы, является частью защиты Django от межсайтовой подделки.

Примечание: Добавьте {% csrf_token%} в каждый созданный вами шаблон Django, который использует POST для отправки данных. Это снизит вероятность взлома форм злоумышленниками.

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

  
    
  
    
    
Введите дату от текущего момента до 4 недель (по умолчанию 3 недели).

Примечание: Возможно, это не очевидно, потому что у нас есть только одно поле, но по умолчанию каждое поле определяется в отдельной строке таблицы.Такой же рендеринг обеспечивается, если вы ссылаетесь на переменную шаблона {{form.as_table}} .

Если вы введете неверную дату, вы дополнительно получите список ошибок, отображаемых на странице (см. список ошибок ниже).

  
    
    
      
  • Недействительная дата - продление в прошлом

Введите дату от текущего момента до 4 недель (по умолчанию 3 недели).
Другие способы использования переменной шаблона формы

Используя {{form.as_table}} , как показано выше, каждое поле отображается как строка таблицы. Вы также можете отображать каждое поле как элемент списка (используя {{form.as_ul}} ) или как абзац (используя {{form.as_p}} ).

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

  • {{form.renewal_date}}: Все поле.
  • {{form.renewal_date.errors}} : список ошибок.
  • {{form.renewal_date.id_for_label}} : идентификатор ярлыка.
  • {{form.renewal_date.help_text}} : текст справки по полю.

Дополнительные примеры того, как вручную отображать формы в шаблонах и динамически перебирать поля шаблона, см. В разделе Работа с формами> Обработка полей вручную (документы Django).

Тестирование страницы

Если вы приняли «вызов» в Django Tutorial Part 8: User authentication and permissions, у вас будет список всех книг, предоставленных в библиотеке, который виден только персоналу библиотеки. Мы можем добавить ссылку на нашу страницу обновления рядом с каждым элементом, используя приведенный ниже код шаблона.

  {% if perms.catalog.can_mark_returned%} -  Продлить  {% endif%}
  

Примечание: Помните, что ваш тестовый логин должен иметь разрешение «Каталог ».can_mark_returned ", чтобы получить доступ к странице обновления книги (возможно, используйте свою учетную запись суперпользователя).

Вы также можете вручную создать тестовый URL-адрес: http://127.0.0.1:8000/catalog/book//renew/ (действительный bookinstance_id можно получить, перейдя на страницу сведений о книге в вашей библиотеке и скопируйте поле id ).

Как это выглядит?

В случае успеха форма по умолчанию будет выглядеть так:

Форма с введенным недопустимым значением будет выглядеть так:

Список всех книг со ссылками для обновления будет выглядеть так:

Создание класса Form с использованием подхода, описанного выше, очень гибок, позволяя создавать любой тип страницы формы, который вам нравится, и связывать ее с любой моделью или моделями.

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

Базовая форма ModelForm , содержащая то же поле, что и исходная форма RenewBookForm , показана ниже.Все, что вам нужно сделать для создания формы, - это добавить класс Meta со связанной моделью ( BookInstance ) и список полей модели для включения в форму.

  из django.forms import ModelForm

из catalog.models импортировать BookInstance

класс RenewBookModelForm (ModelForm):
    класс Мета:
        model = BookInstance
        fields = ['due_back']
  

Примечание: Вы также можете включить все поля в форму, используя fields = '__all__' , или вы можете использовать exclude (вместо полей ), чтобы указать поля , а не , для включения из модели) .

Ни один из подходов не рекомендуется, поскольку новые поля, добавленные в модель, затем автоматически включаются в форму (при этом разработчик не обязательно учитывает возможные последствия для безопасности).

Примечание: Это может выглядеть не намного проще, чем использование формы (и это не в данном случае, потому что у нас есть только одно поле). Однако, если у вас много полей, это может значительно сократить объем кода!

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

  класс Мета:
    model = BookInstance
    fields = ['due_back']
    label = {'due_back': _ ('Новая дата продления')}
    help_texts = {'due_back': _ ('Введите дату от текущего момента до 4 недель (по умолчанию 3).')}
  

Чтобы добавить проверку, вы можете использовать тот же подход, что и для обычной формы - вы определяете функцию с именем clean_field_name () и вызываете исключения ValidationError для недопустимых значений. Единственное отличие от нашей исходной формы состоит в том, что поле модели называется due_back , а не « Renewal_date ».Это изменение необходимо, поскольку соответствующее поле в BookInstance называется due_back .

  из django.forms import ModelForm

из catalog.models импортировать BookInstance

класс RenewBookModelForm (ModelForm):
    def clean_due_back (сам):
       data = self.cleaned_data ['due_back']

       
       если данные  date.today ():
           поднять ValidationError (_ ('Недействительная дата - продление в прошлом'))

       
       если данные> datetime.date.today () + datetime.timedelta (недели = 4):
           Raise ValidationError (_ ('Недействительная дата - продление более чем на 4 недели вперед'))

       
       вернуть данные

    класс Мета:
        model = BookInstance
        fields = ['due_back']
        label = {'due_back': _ ('Дата продления')}
        help_texts = {'due_back': _ ('Введите дату от текущего момента до 4 недель (по умолчанию 3).')}
  

Класс RenewBookModelForm , описанный выше, теперь функционально эквивалентен нашей исходной RenewBookForm . Вы можете импортировать и использовать его везде, где вы в настоящее время используете RenewBookForm , если вы также обновите соответствующее имя переменной формы с Renewal_date до due_back , как в объявлении второй формы: RenewBookModelForm (initial = {'due_back' :hibited_renewal_date } .

Алгоритм обработки формы, который мы использовали в приведенном выше примере представления функции, представляет собой чрезвычайно распространенный шаблон в представлениях редактирования форм. Django абстрагирует для вас большую часть этого «шаблона», создавая общие представления редактирования для создания, редактирования и удаления представлений на основе моделей. Они не только обрабатывают поведение «представления», но и автоматически создают для вас класс формы ( ModelForm ) из модели.

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

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

Просмотры

Откройте файл представлений ( locallibrary / catalog / views.py ) и добавьте следующий блок кода в его нижнюю часть:

  из django.views.generic.edit импортировать CreateView, UpdateView, DeleteView
из django.urls импортировать reverse_lazy

из каталога .models import Автор

класс AuthorCreate (CreateView):
    model = Автор
    fields = ['first_name', 'last_name', 'date_of_birth', 'date_of_death']
    initial = {'date_of_death': '06.11.2020'}

класс AuthorUpdate (UpdateView):
    model = Автор
    fields = '__all__'

класс AuthorDelete (DeleteView):
    model = Автор
    success_url = reverse_lazy ('авторы')
  

Как видите, для создания, обновления или удаления представлений необходимо унаследовать от CreateView , UpdateView и DeleteView (соответственно), а затем определить связанную модель.

Для случаев «создать» и «обновить» вам также необходимо указать поля для отображения в форме (используя тот же синтаксис, что и для ModelForm ). В этом случае мы покажем, как перечислить их по отдельности, а также синтаксис для перечисления «всех» полей. Вы также можете указать начальные значения для каждого из полей, используя словарь field_name / value пар (здесь мы произвольно устанавливаем дату смерти в демонстрационных целях - вы можете удалить это!). По умолчанию эти представления будут перенаправлены в случае успеха на страницу, отображающую вновь созданный / отредактированный элемент модели, который в нашем случае будет детальным представлением автора, которое мы создали в предыдущем руководстве.Вы можете указать альтернативное расположение перенаправления, явно объявив параметр success_url (как это сделано для класса AuthorDelete ).

Класс AuthorDelete не должен отображать какие-либо поля, поэтому их не нужно указывать. Однако вам нужно указать success_url , потому что для Django нет очевидного значения по умолчанию. В этом случае мы используем функцию reverse_lazy () для перенаправления в наш список авторов после удаления автора - reverse_lazy () - это лениво выполняемая версия reverse () , используемая здесь, потому что мы предоставляем URL-адрес атрибута представления на основе классов.

Шаблоны

Представления «Создать» и «Обновить» по умолчанию используют один и тот же шаблон, который будет назван в честь вашей модели: имя_модели _ form.html (вы можете изменить суффикс на любой, отличный от _form , используя поле template_name_suffix в вашем представлении, например template_name_suffix = '_other_suffix' )

Создайте файл шаблона locallibrary / catalog / templates / catalog / author_form.html и скопируйте текст ниже.

  {% extends "base_generic. html"%}

{% блокировать содержание%}
  
{% csrf_token%} <таблица> {{form.as_table}}
{% endblock%}

Это похоже на наши предыдущие формы и отображает поля с помощью таблицы. Также обратите внимание, как мы снова объявляем {% csrf_token%} , чтобы гарантировать устойчивость наших форм к CSRF-атакам.

Представление «удалить» ожидает найти шаблон с именем в формате имя_модели _ confirm_delete.html (опять же, вы можете изменить суффикс, используя template_name_suffix в вашем представлении). Создайте файл шаблона locallibrary / catalog / templates / catalog / author_confirm_delete.html и скопируйте текст ниже.

  {% extends "base_generic.html"%}

{% блокировать содержание%}

 

Удалить автора

Вы действительно хотите удалить автора: {{author}}?

{% csrf_token%} ">
{% endblock%}

Конфигурации URL-адресов

Откройте файл конфигурации URL-адресов ( locallibrary / catalog / urls.py ) и добавьте следующую конфигурацию в конец файла:

  urlpatterns + = [
    путь ('автор / создать /', views.AuthorCreate.as_view (), name = 'author-create'),
    путь ('author /  / update /', views.AuthorUpdate.as_view (), name = 'author-update'),
    путь ('автор /  / delete /', views.AuthorDelete.as_view (), name = 'автор-удалить'),
]
  

Здесь нет ничего особенно нового! Вы можете видеть, что представления являются классами и, следовательно, должны вызываться через .as_view () , и вы должны уметь распознавать шаблоны URL в каждом случае. Мы должны использовать pk в качестве имени для нашего захваченного значения первичного ключа, поскольку это имя параметра, ожидаемое классами представления.

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

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

Тестирование страницы

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

Затем перейдите на страницу создания автора, http://127.0.0.1:8000/catalog/author/create/ , которая должна выглядеть как на снимке экрана ниже.

Введите значения в поля и нажмите Отправить , чтобы сохранить запись об авторе. Теперь вы должны перейти к подробному представлению вашего нового автора с URL-адресом, например http://127. 0.0.1:8000/catalog/author/10 .

Вы можете проверить записи редактирования, добавив / update / в конец URL-адреса подробного представления (например,г. http://127.0.0.1:8000/catalog/author/10/update/ ) - мы не показываем скриншот, потому что он выглядит так же, как страница «создать»!

Наконец, мы можем удалить страницу, добавив delete в конец URL-адреса подробного представления автора (например, http://127.0.0.1:8000/catalog/author/10/delete/ ). Django должен отобразить страницу удаления, показанную ниже. Нажмите « Да, удалить. », чтобы удалить запись и попасть в список всех авторов.

Создайте несколько форм для создания, редактирования и удаления записей Книга .Вы можете использовать ту же структуру, что и для Авторы . Если ваш шаблон book_form.html - это просто переименованная копия шаблона author_form.html , то новая страница «Создать книгу» будет выглядеть, как на снимке экрана ниже:

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

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

Создать форму в Excel для ввода данных

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

Это может помочь вам избежать ошибок и ускорить процесс ввода данных . Это также поможет вам сосредоточиться на по одной записи !

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

В этом руководстве мы покажем вам, как создать форму в Excel для ввода данных.

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

Попрощайтесь с вводом данных в эту таблицу строка за строкой за строкой….

Ниже мы рассмотрим 11 лучших советов и приемов формы ввода данных Excel , которые будут вам полезны:

  1. # 1 - Создать форму в Excel
  2. # 2 - Добавить в быстрый доступ Панель инструментов (QAT)
  3. # 3 - Доступ к форме в любое время
  4. # 4 - Просмотр записей
  5. # 5 - Редактировать существующую запись
  6. # 6 - Критерии поиска
  7. # 7 - Восстановить запись
  8. # 8 - Проверка данных в формах
  9. # 9 - Удалить запись
  10. # 10 - Закрыть форму
  11. # 11 - Сочетания клавиш для форм ввода данных

Убедитесь, что загрузили рабочую книгу Excel ниже и следуйте инструкциям:

СКАЧАТЬ УПРАЖНЕНИЕ EXCEL

Хотите узнать, как использовать ввод данных ry Форма?

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

Посмотрите его на YouTube и оцените его!

Загрузите практический файл YouTube Excel

Посмотрите его на YouTube и оцените его!

Загрузите практический файл YouTube Excel

Посмотрите его на YouTube и оцените его!

Загрузите практический файл YouTube Excel

1.Создание формы в Excel

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

*** Посмотрите наше видео ниже о том, как создать форму в Excel за 5 минут! ***

СКАЧАТЬ НАШИ
БЕСПЛАТНЫЕ РУКОВОДСТВА EXCEL

В этом руководстве вы узнали, как создать форму в Excel с минутами без использования VBA !!

Выполните следующие шаги:

ШАГ 1: Преобразуйте имена столбцов в таблицу, перейдите к Вставить> Таблица

Убедитесь, что Моя таблица имеет заголовки. также отмечен флажком.

ШАГ 2: Давайте добавим функциональность Form Creation, чтобы понять, как создать заполняемую форму в Excel.

Перейдите к Файл> Параметры

ШАГ 3: Перейдите к Настройте ленту.

Выберите команды , отсутствующие на ленте и Форма . Это необходимый нам функционал.

Щелкните Новая вкладка.

ШАГ 4: На новой вкладке выберите Новая группа, и нажмите Добавить.

Это добавит Forms в новую вкладку на нашей ленте.

Обратите внимание, что есть также кнопка Rename , вы можете использовать ее, чтобы переименовать New Tab и New Group во что-то более информативное, например Form :

STEP 5 : Выберите свою таблицу и на новой вкладке Форма выберите форму .

ШАГ 6: Появится диалоговое окно новой формы!

Введите свои данные в каждый раздел.

Щелкните Новый , чтобы сохранить его. Повторите этот процесс для всех записей, которые хотите добавить.

Нажмите «Закрыть», чтобы выйти из этого экрана и просмотреть данные в таблице Excel.

Теперь вы можете использовать эту новую форму для постоянного ввода данных в таблицу Excel!

2.Добавить на панель быстрого доступа (QAT)

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

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

ШАГ 1: Щелкните маленькую стрелку справа от QAT .

ШАГ 2: Щелкните Дополнительные команды в раскрывающемся списке.

ШАГ 3: В диалоговом окне «Параметры Excel» выберите Все команды из Выберите команды из списка .

ШАГ 4: Выберите форму из списка и нажмите Добавить >> .

ШАГ 5: Форма теперь доступна на панели инструментов Customize Quick Access Toolbar . Щелкните ОК .

Форма ввода данных теперь является частью панели быстрого доступа.

3. Доступ к форме в любое время

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

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

4. Просмотрите через записи

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

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

Это сэкономит время, когда у вас есть данные с несколькими столбцами и записями.

5. Редактировать существующую запись

Используйте кнопки Найти предыдущий и Найти следующий , чтобы найти запись , которую нужно отредактировать.

Как только вы найдете нужную запись, просто внесите необходимые изменения и нажмите Введите в Excel.

Таблица данных будет обновлена ​​с внесенными изменениями.

6. Критерии поиска

Использование подстановочных знаков

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

ШАГ 1: В форме ввода данных нажмите кнопку Критерии

ШАГ 2: В поле Регион введите * восток (для поиска по всем регионам, содержащим слово восток)

ШАГ 3: Щелкните Найти следующий , чтобы найти записи, содержащие слово восток .

Форма ввода данных Excel найдет для вас три записи в этом сценарии!

Использование знака «больше» или «меньше»

Если вы хотите найти людей с зарплатой, превышающей или равной 75 000 долларов США, вы можете сделать это, выполнив следующие шаги:

ШАГ 1: В форме ввода данных нажмите кнопку Criteria

ШАГ 2: В поле Salary введите > = 75000.

ШАГ 3: Щелкните Найти следующий , чтобы найти все записи с окладом , превышающим или равным 75 000 долларов США .

7. Восстановить запись

Предположим, вы случайно удалили - первое имя записи.

А вы не помните, что было написано в этом поле! Без паники.

Вы можете использовать кнопку Восстановить в форме ввода данных Excel и восстановить случайно утерянные данные .

Данные снова появятся в соответствующем поле.

Следует иметь в виду, что кнопка Восстановить полезна только в том случае, если вы не нажали Enter .

В тот момент, когда вы нажмете кнопку «Ввод», кнопка «Восстановить» станет неактивной, и вы не сможете вернуться к исходным данным.

8. Проверка данных в формах

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

Посмотрим, как!

Допустим, вы добавляете правило списка в столбец «Регион» с помощью проверки данных.

ШАГ 1: Выберите столбец региона .

ШАГ 2: Перейдите на вкладку данных > Инструменты данных (группа) > Проверка данных .

ШАГ 3: В диалоговом окне Проверка данных щелкните раскрывающийся список Разрешить и выберите Список .

ШАГ 4: В поле Source введите Northeast, Northwest, Southeast, Southwest, и щелкните OK .

Проверка данных теперь вставлена ​​в столбец региона, где вам разрешено вводить только значения, представленные в списке (северо-восток, северо-запад, юго-восток, юго-запад).

ШАГ 5: Щелкните значок Forms в QAT.

ШАГ 6: Измените регион для записи 1 с с северо-востока на восток и нажмите OK .

После того, как вы нажмете ОК, вы увидите сообщение об ошибке , как показано ниже:

9. Удаление записи

ШАГ 1: Используйте полосу прокрутки для поиска запись, которую вы хотите удалить.

ШАГ 2: Просто нажмите кнопку Удалить .

ШАГ 3: На экране появится подтверждающее сообщение, нажмите ОК .

Нужная запись будет удалена из таблицы данных.

10. Закройте форму

Чтобы закрыть диалоговое окно для форм данных, просто нажмите кнопку Close (X) в правом верхнем углу bix.

11. Сочетания клавиш для форм ввода данных

Для ускорения работы можно использовать следующие сочетания клавиш при использовании форм ввода данных:

  • Нажмите вкладку , чтобы перейти к следующему полю в Формы Excel.
  • Нажмите Введите , чтобы перейти к следующей записи в формах Excel.
  • Нажмите кнопку Esc на клавиатуре, чтобы закрыть форму Excel.

На этом мы завершаем наше руководство по . 11 главных вещей, которые вы должны знать , если ввод данных - это то, что вы делаете в Excel. Это не только сделает процесс быстрее, но и сделает процесс намного проще и увлекательнее!

При использовании формы ввода данных Excel следует учитывать следующие моменты:

  • Вы можете добавить максимум 32 поля на запись.
  • Вы не можете распечатать запись формы данных.
  • Перед тем как нажать Enter, вы можете восстановить любые изменения, внесенные в данные.

Итак, попробуйте! Я уверен, что тебе это понравится !!

Вы можете узнать больше о том, как создать форму в Excel, пройдя через это руководство по от Microsoft .

ПОЛЕЗНЫЙ РЕСУРС:

Экспорт представлений с рабочего стола Tableau в другое приложение

Есть несколько способов получить представления и книги из Tableau Desktop в презентацию, отчет или веб-страницу.

Примечание. Если вы используете Tableau Online или Tableau Server, вместо этого ознакомьтесь с разделами Загрузка представлений и книг и Ссылка на PNG, PDF или CSV представления.

Копировать вид как изображение

Вы можете быстро скопировать отдельный вид как изображение и вставить его в другое приложение, например Microsoft Word или Excel. Если вы используете Tableau Desktop в macOS, изображение TIFF (Tagged Image File Format) копируется в буфер обмена.В Windows копируется изображение BMP (Bitmap).

  1. Выберите Рабочий лист> Копировать> Изображение.

  2. В диалоговом окне "Копировать изображение" выберите нужные элементы. включить в изображение. Если представление содержит легенду, в разделе «Параметры изображения» выберите макет легенды.

  3. Щелкните Копировать.

  4. Откройте целевое приложение и вставьте изображение из буфера обмена.

Экспорт представления в виде файла изображения

Чтобы создать файл изображения, который можно использовать повторно, экспортируйте вид, а не копируйте его. Вы можете выбрать формат BMP, JPEG или PNG в macOS с дополнительной опцией EMF в Windows.Обратите внимание, однако, что формат EMF заменяет табличные шрифты (Tableau Regular, Tableau Semibold и т. Д.) Аналогичным шрифтом.

  1. Выберите Рабочий лист> Экспорт> Изображение.

  2. В диалоговом окне «Экспорт изображения» выберите нужные элементы. включить в изображение. Если представление содержит легенду, в разделе «Параметры изображения» выберите макет легенды.

  3. Щелкните Сохранить.

  4. В диалоговом окне «Сохранить изображение» укажите расположение, имя и формат файла. Затем нажмите «Сохранить».

Экспорт как презентация PowerPoint

При экспорте книги в формат Microsoft PowerPoint выбранные листы становятся статическими изображениями PNG на отдельных слайдах.Если вы экспортируете лист истории, все точки истории экспортируются как отдельные слайды. Все фильтры, применяемые в настоящее время в Tableau, отражаются в экспортированной презентации.

Совет: Чтобы оптимизировать панель мониторинга для PowerPoint, на вкладке Панель мониторинга выберите Размер > Фиксированный размер> PowerPoint (1600 x 900) .

Для экспорта книги в PowerPoint:

  1. Выберите File > Export as PowerPoint .
  2. Выберите листы, которые хотите включить в презентацию. (Скрытые листы также могут быть включены.)

    Экспортированный файл PowerPoint отражает имя файла вашей книги, а на титульном слайде указывается имя книги и дата создания файла.

Совет : выберите File > Page Setup , чтобы отобразить или скрыть заголовки, представления, легенды и подписи для отдельного листа.(Эти параметры в разделе «Показать» недоступны для панелей мониторинга.)

Экспорт в PDF

Чтобы создать векторный файл, в который встроены шрифты Tableau, распечатайте его в PDF. После настройки макета элементов страницы с помощью диалогового окна «Файл»> «Параметры страницы» выберите «Файл»> «Печать в PDF». Подробные инструкции см. В разделе Виды печати из Tableau Desktop

.

Вставить флажок в Excel: создать интерактивный контрольный список или список дел

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

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

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

Установка флажка в Excel кажется тривиальной задачей, но она открывает множество новых возможностей для ваших рабочих листов, которые будут держать вас в курсе ваших целей, расписания, заданий и т. Д.

  • Как добавить флажок в Excel
  • Как использовать флажки в Excel - примеры

Как установить флажок в Excel

Как и все другие элементы управления Form , элемент управления Check Box находится на вкладке «Разработчик», которая по умолчанию не отображается на ленте Excel. Итак, вам нужно сначала включить его.

1. Отобразите вкладку Разработчик на ленте

Чтобы добавить вкладку «Разработчик» на ленту Excel, выполните следующие действия:

  • Щелкните правой кнопкой мыши в любом месте ленты, а затем щелкните Настроить ленту … Или щелкните Файл > Параметры > Настроить ленту .
  • В разделе Настроить ленту выберите Основные вкладки (обычно он выбран по умолчанию), установите флажок Developer и нажмите OK.

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

2. Организуйте данные

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

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

3. Добавьте флажок

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

Чтобы установить флажок в Excel, выполните следующие действия:

  • На вкладке Developer в группе Controls щелкните Insert и установите флажок Check Box под Form Controls .
  • Щелкните ячейку, в которую вы хотите вставить первый флажок (в данном примере B2). Рядом с этим местом появится элемент управления «Флажок», но не совсем в ячейке:
  • Чтобы правильно установить флажок, наведите на него указатель мыши и, как только курсор изменится на четырехконечную стрелку, перетащите флажок в нужное место.
  • Чтобы удалить текст « Check Box 1 », щелкните поле правой кнопкой мыши, выделите текст и удалите его.Или щелкните правой кнопкой мыши флажок, выберите Изменить текст в контекстном меню и затем удалите текст.

Ваш первый флажок Excel готов, и вам просто нужно скопировать его в другие ячейки.

4. Скопируйте флажок в другие ячейки

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

Готово! Флажки добавлены ко всем пунктам в контрольном списке:

Как вы можете видеть на скриншоте выше, наш контрольный список Excel почти готов. Почему почти? Хотя флажки вставлены, и теперь вы можете установить или снять их, просто щелкнув поле, Microsoft Excel не может реагировать на эти изменения, поскольку ни одна ячейка еще не связана ни с одним из флажков.

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

Примеры использования флажков в Excel

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

Как привязать флажок к ячейке

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

  1. Щелкните правой кнопкой мыши флажок и выберите Управление форматом .
  2. В диалоговом окне Format Control перейдите на вкладку Control , щелкните поле Cell link и выберите пустую ячейку на листе, на которую вы хотите установить ссылку, или введите ссылку на ячейку вручную :
  3. Повторите вышеуказанный шаг для других флажков.

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

  4. Наконец, щелкните каждый из связанных флажков. В связанных ячейках отображается ИСТИНА для выбранных флажков и ЛОЖЬ для снятых флажков:

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

Как составить контрольный список в Excel со сводкой данных

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

Формула для расчета общего количества задач

Самый простой - используйте функцию СЧЁТ, чтобы получить количество непустых ячеек в контрольном списке:

= СЧЁТ (A2: A12)

Где A2: A12 - пункты контрольного списка.

Формула для получения количества выполненных задач

Завершенная задача - это флажок со знаком галочки в нем, что означает ИСТИННОЕ значение в связанной ячейке.Итак, получите общее количество ИСТИННЫХ с помощью этой формулы СЧЁТЕСЛИ:

= СЧЁТЕСЛИ (C2: C12; ИСТИНА)

Где C2: C12 - связанные ячейки.

Чтобы сделать формулу немного более умной, вы используете СЧЁТЕСЛИ вместо СЧЁТЕСЛИ для проверки наличия пустых ячеек в списке (столбец A):

= СЧЁТЕСЛИМН (A2: A12; «<>»; C2: C12; ИСТИНА)

В этом случае, если вы удалите какой-то нерелевантный элемент (-ы) из контрольного списка Excel, но забудете удалить символ галочки из соответствующего поля, такие галочки не будут засчитаны.

Формула для вычисления процента выполненных задач

Для расчета представленных из выполненных задач используйте обычную процентную формулу:

Часть / Итого = Процент

В нашем случае разделите количество выполненных задач на общее количество задач, например:

= СЧЁТЕСЛИ (C2: C12; ИСТИНА) / СЧЁТ (A2: A12)

На следующем снимке экрана показаны все вышеперечисленные формулы в действии:

Как вы можете видеть на скриншоте выше, мы вставили еще одну формулу в B18.Формула основана на функции ЕСЛИ, которая возвращает «Да», если количество выполненных задач равно общему количеству задач, «Нет» в противном случае:

= ЕСЛИ (B14 = B15, «Ага!», «Нет :(»)

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

Как только это будет завершено, скройте столбец со связанными ячейками, и контрольный список Excel готов!

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

Загрузить контрольный список Excel

Другие шаблоны контрольных списков Excel

Чтобы быстро получить набор шаблонов контрольных списков для Excel, щелкните Файл > Новый , введите «контрольный список» в поле поиска и нажмите Enter.

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

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

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

Этого эффекта легко добиться, создав правило условного форматирования.Подробные инструкции приведены ниже.

Для начала запишите список задач, вставьте галочки и привяжите их к ячейкам:

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

  1. Выберите список задач (A2: A11 в этом примере).
  2. Перейдите на вкладку Home > Styles group и щелкните Conditional Formatting > New Rule…
  3. В диалоговом окне Новое правило форматирования выберите Использовать формулу, чтобы определить, какие ячейки нужно форматировать .
  4. В поле «Значения формата , где эта формула верна» введите следующую формулу:

    = $ C2 = ИСТИНА

    Где C2 - самая верхняя связанная ячейка.

  5. Нажмите кнопку Формат , установите желаемый стиль форматирования и нажмите OK. В этом примере мы выбираем эффект Зачеркнутый и светло-серый цвет шрифта:
    .

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

А вот еще одна идея для форматирования вашего списка дел в Excel. Вместо вычеркивания завершенных задач можно вставить дополнительный столбец со следующей формулой ЕСЛИ:

= ЕСЛИ (E2 = ИСТИНА, "Готово", "Готово")

Где E2 - самая верхняя связанная ячейка.

Как показано на снимке экрана ниже, формула возвращает «Готово», если связанная ячейка содержит ИСТИНА, «Выполнить», если ЛОЖЬ:

После этого примените желаемый условный формат к столбцу Статус на основе этой формулы:

= $ C2 = "Готово"

Результат будет примерно таким:

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

Гистограмма в верхней части списка дел основана на процентной формуле в B2. Если вам интересно узнать подробности, я рекомендую вам загрузить шаблон, отобразить столбцы D и E и изучить формулы.

Скачать шаблон списка дел

Как создать интерактивный отчет с флажками

Еще одно полезное применение флажков в Excel - создание интерактивных отчетов.

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

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

  1. Добавьте 4 флажка вверху листа для регионов Север , Юг , Восток и Запад .
  2. Создайте область критериев где-нибудь в неиспользуемой части листа и свяжите флажки с пустыми ячейками:

    На приведенном выше снимке экрана I2: I5 являются связанными ячейками, а h3: H5 - названиями регионов, точно такими, как они отображаются в отчете. .

  3. Добавьте еще один столбец в область критериев с формулой ЕСЛИ, которая возвращает имя региона, если связанная ячейка имеет значение ИСТИНА, или тире («-») в противном случае:

    = ЕСЛИ (I2 = ИСТИНА, h3, "-")

  4. Введите заголовок столбца формулы, который точно соответствует заголовку соответствующего столбца в отчете ( - регион в этом примере). Точное совпадение очень важно, и на следующем шаге вы поймете, почему.
  5. Затем напишите формулу для расчета суммы для выбранных регионов.Для этого мы собираемся использовать функцию DSUM, которая суммирует значения в базе данных, которые соответствуют указанным условиям:

    DSUM (база данных, поле, критерии)

    Где:

    • База данных - это ваша таблица или диапазон, включая заголовки столбцов (A5: F48 в этом примере).
    • Поле - это столбец, который вы хотите суммировать. Его можно указать либо в виде заголовка столбца, заключенного в кавычки, либо в виде числа, которое представляет положение столбца в базе данных. В этом примере мы складываем числа в столбце Промежуточный итог , поэтому нашим вторым аргументом является «Промежуточный итог».
    • Критерий - это диапазон ячеек, содержащих ваши условия, включая заголовок столбца (J1: J5). Поэтому заголовок столбца формулы в области критериев должен совпадать с заголовком столбца в отчете.

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

    = DSUM (A5: F48, «промежуточный итог», J1: J5)

    … и работает отлично!

Если вы хотите скрыть # DIV / 0! ошибка, которая появляется, когда регион не выбран, перенесите СУММ в функцию ЕСЛИОШИБКА:

= ЕСЛИ ОШИБКА (DSUM (A5: F48, «промежуточная сумма», J1: J5), 0)

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

Наконец, скройте и, возможно, заблокируйте область критериев, чтобы предотвратить случайные изменения, и ваш интерактивный отчет готов!

Скачать интерактивный отчет

Создание динамической диаграммы на основе состояния флажка

Из этого примера вы узнаете, как создать динамическую диаграмму Excel, которая может реагировать на изменение состояния флажков (выбранных или снятых):

Исходные данные для этого примера очень просты:

Чтобы превратить его в динамический график Excel, выполните следующие действия:

  1. Создайте флажки и , привяжите их к пустым ячейкам.

    В частности, вставьте 2 флажка на 2013 и 2014 годы и подключите их к ячейкам G2 и G3 соответственно:

  2. Создайте набор данных для диаграммы в зависимости от исходных данных и связанных ячеек (см. Изображение ниже):
    • Для 2013 года (J4: J7) используйте следующую формулу:

      = ЕСЛИ ($ G $ 2 = ИСТИНА, B4, NA ())

      Если установлен флажок 2013 (G2 - ИСТИНА), формула извлекает исходное значение из B4, в противном случае возвращается ошибка # N / A.

    • Для 2014 года (K4: K7) введите аналогичную формулу, чтобы извлечь значения из столбца C, если установлен флажок 2014:

      = ЕСЛИ ($ G $ 2 = ИСТИНА, C4, NA ())

    • В ячейке L4 введите формулу = $ D4 и скопируйте ее в L7. Поскольку данные за 2015 год должны всегда отображаться на диаграмме, формула ЕСЛИ для этого столбца не требуется.

  3. Создайте комбинированную диаграмму на основе зависимого набора данных (I3: L7).Поскольку мы связали все ячейки в зависимой таблице с исходными данными, диаграмма обновится автоматически, как только в исходный набор данных будет внесено какое-либо изменение.

Скачать динамическую диаграмму

Вот как вы можете создавать и использовать флажки в Excel. Чтобы просмотреть все примеры, обсуждаемые в этом руководстве, вы можете загрузить нашу учебную книгу ниже. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе.

Рабочая тетрадь для скачивания

Примеры флажков

Excel (.