Комп'ютери та сучасні гаджети

Наше завдання полягає у наступному. Ціна номенклатури у нас тепер зберігається у окремому регістрі відомостей. Коли ми створюємо або змінюємо документ НаданняПослуги та додаємо до табличної частини яку-небудь номенклатуру, нам хочеться, щоб одночасно з цим у документ підставлялася б одразу й актуальна ціна цієї номенклатури, отримана з регістру відомостей та відповідна даті документа.

Для цього нам потрібно зробити дві речі.

Спочатку написати певну функцію, яка повертатиме нам актуальну ціну номенклатури, а потім викликати цю функцію в той момент, коли до документу додається номенклатура, і підставити в документ ціну номенклатури, яку поверне ця функція.

Оскільки такий «сервіс» знадобиться нам, швидше за все, не лише в цьому документі, а й в інших документах, які містять у табличній частині номенклатуру, ми розмістимо функцію у певному загальнодоступному місці – у загальному модулі.

У режимі конфігуратора

Функція, яка повертає ціну номенклатури

Спочатку ми створимо функцію РоздрібнаЦіна(), яка повертатиме нам актуальну роздрібну ціну номенклатури і помістимо її в загальний модуль конфігурації.

Відкриємо конфігуратор, у гілці Загальні Загальні модулі додамо новий об'єкт конфігурації Модуль і назвемо його Робота Довідниками.

Ми бачимо, що у модуля за замовчуванням встановлено прапорець Сервер. Це означає, що екземпляри цього модуля будуть скомпілювати лише на стороні сервера.

Встановимо прапорець Виклик сервера для того, щоб експортні процедури та функції цього модуля можна було викликати з клієнта (рис. 9.9).

Помістимо до нього наступний текст (листинг 9.1).

Пояснимо цю функцію.

Для отримання роздрібної ціни ми передаватимемо у функцію два параметри:

АктуальнаДата - параметр типу Дата, що визначає точку на осі часу, в якій нас цікавить значення роздрібної ціни.

У тілі функції ми спочатку створюємо допоміжний об'єкт Відбір.

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

Ім'я ключа структури ("Номенклатура") має збігатися з ім'ям вимірювання регістра, заданого в конфігураторі, а значення елемента структури (Елементноменклатури) задає значення, що відбирається за даним вимірюванням.

У другому рядку ми звертаємося до менеджера регістру відомостей Ціни (РегістриДовідок.Ціни) і виконуємо метод ОтриматиОстаннє(), який повертає нам значення ресурсів найпізнішого запису регістру, що відповідає дати (АктуальнаДата), що передається в функцію, і значенням вимірювань регістру (Відбір).

Метод ОтриматиОстаннє повертає структуру, що містить значення ресурсів, яка зберігається в змінній значенняРесурсів. Взагалі кажучи, регістр може мати кілька ресурсів. У нашому регістрі ресурс один, але все одно буде повернуто структуру, що містить єдиний елемент.

Тому в наступному рядку ми отримуємо роздрібну ціну, яку ми шукаємо, просто вказавши ім'я потрібного нам ресурсу регістру через точку (Значення Ресурсів.Ціна) і повертаємо її при виконанні функції.

Тепер цю функцію потрібно викликати у певний момент роботи документа.

Виклик функції при виборі номенклатури та заповнення ціни у документі

Отже, завдання, яке маємо, полягає в наступному. У разі редагування документа НаданняПослуги нам необхідно забезпечити автоматичне заповнення поля Ціна після того, як користувач вибере послугу. Причому ціна послуги повинна визначатися виходячи з дати документа, що створюється.


Знайдемо у конфігураторі документ НаданняПослуги та відкриємо його форму Форма Документу.

Двічі клацніть на елементі форми Перелік Номенклатури Номенклатура або правою кнопкою миші відкриємо для нього палітру властивостей (пункт контекстного меню Властивості). Прокрутивши список до кінця, знайдемо подію Зміни, яка виникає після зміни значення поля.

Натисніть кнопку відкриття зі значком лупи в полі введення.

Система створить шаблон процедури обробника цієї події у модулі нашої форми та відкриє закладку Модуль редактора форми.

Внесемо до нього наступний текст (листинг 9.2).

Прокоментуємо вміст оброблювача.

Перший рядок обробника вам уже знайомий за процедурами Перелік Номенклатури Кількість При Зміні та Перелік Номенклатури Ціна При Зміні. Спочатку ми отримуємо поточний рядок табличної частини документа, оскільки він нам знадобиться надалі, і зберігаємо його в змінній Рядку Таблічної Частини.

Потім ми викликаємо нашу функцію РоздрібнаЦіна() із загального модуля РоботаСодовідниками.

Першим параметром ми передаємо цю функцію дату документа, на яку необхідно отримати ціну. Дату документа ми отримуємо з основного реквізиту форми – Об'єкт.



Функція повертає останнє значення ціни, і це значення ми присвоюємо полю Ціна в поточному рядку табличної частини документа (Рядок Табличної Частини.Ціна).

Зауважте, що сама процедура Перелік Номенклатури Номенклатура При Зміні () починає працювати в модулі форми на стороні клієнта, оскільки це обробник інтерактивної події форми. Створюючи заготівлю цієї процедури, платформа автоматично розмістила перед описом процедури директиву компіляції &Клієнта.

Потім викликається функція Роздрібна ціна (). Оскільки ця функція не буде знайдена на стороні клієнта, виконання буде передано в загальний модуль РоботаСправочниками, який виконується на сервері. Після завершення функції програмний код буде виконуватися на клієнті.

Чому в даному випадку використано таку «хитрість»? Навіщо було передавати виконання коду на сервер?

Справа в тому, що будь-яка робота з базою даних (читання даних, запис) можлива лише на сервері. У разі нам необхідно було прочитати останні дані з регістру відомостей для певної номенклатури.

Такі дії можна виконати тільки на сервері, і якщо подивитися в синтакс-помічнику опис методу ОтриматиОстаннє() регістру відомостей, то можна помітити, що цей метод доступний тільки на сервері, в товстому клієнті та зовнішньому з'єднанні.

Товстий клієнт та зовнішнє з'єднання – це клієнтські програми попередньої версії платформи, які існують для сумісності з колишніми прикладними рішеннями.

Ми ж з вами розробляємо абсолютно нове прикладне рішення, яке працює у тонкому клієнті або у веб-клієнті. Тому в нашому випадку для отримання будь-яких даних з бази даних потрібно передати виконання коду на сервер, отримати потрібні дані і повернути ці дані на клієнта. Що ми зробили.

У режимі 1С: Підприємство

Перевіримо, як працює наш документ.

Запустимо 1С: Підприємство в режимі налагодження та відкриємо регістр відомостей Ціни.

Для транзистора Philips додамо іншим числом нову ціну (рис. 9.10).

Тепер відкриємо документ Надання послуги № 1. Як ви пам'ятаєте, цим документом ми якраз «витратили» такий транзистор.

Залишимо дату документа без зміни та повторимо вибір транзистора в колонці Номенклатура табличної частини документа. Автоматично встановити значення ціни транзистора від 01.07.2009. Це останнє значення ціни на дату документа (рис. 9.11).

Тепер змінимо дату документа на 13.07.2009 та знову повторимо вибір транзистора. Буде встановлено нове значення ціни, останнє на дату (рис. 9.12).

Таким чином, у документі з'являється актуальна на момент створення документа ціна послуги.


Контрольні питання

1. Навіщо призначений об'єкт конфігурації Регістр відомостей.

2. Які особливості має об'єкт конфігурації Регістр відомостей.

3. У чому основні відмінності регістру відомостей від регістру накопичення?

4. Які поля визначають ключ унікальності регістру нагромадження.

5. Що таке періодичний регістр відомостей та що таке незалежний регістр відомостей.

6. Як створити періодичний регістр відомостей.

7. Що таке провідний вимір регістру.

8. Як отримати значення ресурсів пізніших записів регістру засобами вбудованої мови.

Дуже часто, під час роботи у програмі 1С, буває потрібно швидко ввести кілька документів або додати нові об'єкти до довідників (вид номенклатури, організація, склад, каса тощо). При цьому не всі мають розуміння того, як можна автоматизувати введення основних значень, так, щоб при створенні відразу підставлялися в поля потрібні значення. Про те, як це зробити, я розповім у цій статті.
У програмі 1С існують механізми, які дозволяють швидко заповнити значення реквізитів у документах та довідниках. По дії їх можна розділити такі виды:

  • Підстановка єдиного значення
  • Підстановка значення для відбору
  • Заповнення реквізитів за статистикою
  • Підстановка раніше введених реквізитів
  • Підстановка значень шаблону
  • Введення нового документа копіюванням

Підстановка єдиного значення, на який у користувача є права.

Допустимо, у вашій організації є три склади, вони введені в базу. При цьому менеджеру дозволено продавати товар лише з якогось одного. Під час створення нового документа цей склад буде підставлено автоматично. Це працює на основі встановлених прав доступу користувача. Тобто, виключаючи права на об'єкти, з якими користувач не працює, можна автоматизувати введення даних.

Підстановка значення відбору, вказаному у формі списку.

Якщо у списку встановлено відбір за якимось реквізитом (каса, банківський рахунок, склад), цей реквізит буде автоматично заповнений у новому документі. Наприклад, у формі списку документів РКО встановлюєте відбір по касі. При оформленні нового платіжного документа зі списку буде автоматично взято інформацію про вибрану касу. І оскільки для каси вказана організація, то буде автоматично заповнена інформація про організацію. Використовувати відбори можна у будь-якому списку документів.

Заповнення реквізитів зі статистики.

Програма 1С веде статистику введення основних значень щодо кожного користувача. У разі, якщо ви двічі ввели під час створення нового документа однакові організацію, підрозділ, склад, господарську операцію тощо, програма аналізуватиме останні введені значення. Таким чином, алгоритм заповнення за статистикою автоматично підлаштовується під кожного користувача.
Якщо користувач порушує в новому документі цей ланцюжок, то програма це зрозуміє і почне підставляти через деякий час нові значення, але в першому документі значення не будуть підставлені.
Заповнення раніше введених реквізитів при виборі значення іншого реквізиту можливе у разі якщо вибирається, наприклад, торговельну угоду або договір, де заповнені всі основні поля (склад, графік оплати, ціни тощо). При зазначенні угоди чи договору у документі реквізити буде заповнено за такими правилами:

будуть заповнені всі дані, які були визначені в угоді або договорі;

якщо в угоді чи договорі не було зазначено будь-яке значення (наприклад, підрозділ), то це значення буде заповнено відповідно до статистики. Якщо при введенні нового документа значення були заповнені відповідно до статистики, вони будуть перезаповнені, якщо вони визначені в угоді або договорі.

Підстановка значень шаблону.

Зверніть увагу, коли створюється новий вид номенклатури, можна вказати значення за замовчуванням, які будуть підставлятися в нові об'єкти. При оформленні нової позиції номенклатури цього виду ці значення будуть підставлятися автоматично. Ще одним прикладом може бути автоматична підстановка інформації про підрозділ у документ, якщо для користувача, який оформляє документ, визначено інформацію про підрозділ у картці користувача.

Введіть новий документ копіюванням.

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

Ось п'ять основних способів полегшити введення однотипних документів та довідників. Обов'язково використовуйте їх у своїй повсякденній роботі

Як швидко ввести значення реквізитів у 1С?

Запитання: Підстановка коду в полі 1с


Здрастуйте, підкажіть будь ласка, в яке поле потрібно підставити процедуру, яка вважає кількість днів між датами, саму процедуру знайшла, а відповідь на це питання – ні

Є поля - дата заїзду, дата виїзду та поле кількість, куди має потрапляти різниця між першими двома значеннями
в яку подію слід додати процедуру?

Відповідь:У події "Зміни" поля ДатаВизда:

Питання: Не працює автоматична підстановка даних

Відповідь:

Всім дякую за відгуки:
1) 1С:Підприємство 8.3 (8.3.4.437), Бухгалтерія для України: версія 2.0.4.3.
2) Спеціально для nsk1C: "У Вас завжди така звичка дивитися туди, куди Вам не треба, у моєму питанні немає, жодного слова за основну ставку ПДВ - це, по-перше, по-друге, уважно ознайомтеся з указом про заборону продуктів 1С в Україні, а потім вже пишіть свої думки.."

Спасибі, за відповідь, але хотілося б дізнатися точніше, де в коді це виставляється.

Питання: Поле введення та Enter в кінці


Керовані форми, робота у веб-клієнті.
Ситуація: запрограмував сканер на Ф7+штрихкод+ентер. Перебував багато варіантів, але код не встигає зчитувати через "Показати ВведенняЗначення". Пішов від цього варіанта.
2. Створив Форму, у ній полі введення. По Ф7 форма відкривається, код у поле введення потрапляє, ентер, походу, теж натискається (перевіряв у полі текстового документа). Намагаюся відловити подію Закінчення Введення Тексту, але не виходить, т.к. воно відпрацьовує по фізично натиснутому ентер на клаві. Автопідбір - не найкращий для мене варіант, т.к. штрихкод може вводиться вручну і тоді мені милиця якийсь вигадувати треба для обходу маленької засмики між натисканнями.
Покажіть, будь ласка, може їсти легші варіанти?

Відповідь:() форма відкривається, код передається - події не відпрацьовують

Питання: Звіт СКД та табличне поле


Створюю звіт за допомогою СКД. Як мені вивести результат у табличному полі? Не в полі табличного документа, а саме в табличному полі.

Відповідь:Поле табличного документа - це елемент форми (до нього виводяться дані), який належить реквізиту (форми) Табличний документ.
У табличний документ ти пишеш значення, а Поле табличного документа тобі це значення виводить.
Як записати значення?

Питання: Дивно працює фокус на полі


Самописна конфігурація на 1С (8.3.8.2088), керовані форми, інтерфейс таксі.

Вішаю на Полі подію ПриЗміні з наступним кодом:

1C
1 2 3 4 Стандартна Обробка = Брехня; ДаніВибору = Новий СписокЗначень; Дані Вибору. Додати(Об'єкт. Номер) ;

На Закінчення Введення Тексту вішаю код

Все працює, але якось криво.

Фокус елемент отримує але якось на половину, видно на картинці:

Стало після коду:

Тобто зникла жовта рамка та оформлення поля. Працює, але не красиво, око чіпляється.

Відповідь:Якщо коротко, то при зміні номера, з'являється форма літерності, де людина заповнює причину зміни, якщо форму людина просто закриває, то повертається старе значення, і фокус залишається в полі. Може є якісь інші ідеї як це краще зробити?

Запитання: Поле таблиці форми


Доброго дня.
Існує стандартна форма вибору номенклатури (ут11), в якій не відображається найменування, лише артикул!

Пробував повернути стандартні параметри форми - безрезультатно, поле/колонка не відображається.

Конфігуратор:

Біля полів дин. списку варто "Використовувати Завжди".
Навіть налагодження при створенні форми (), а також при відкритті () показує, що

Елементи.СписокРозширенийПошукНоменклатура.ПідпорядкованіЕлементи

є, все в режимі видимості та доступності, ніяких функціональних опцій немає!

Спробував додати своє поле з таким самим шляхом до даних – теж не відображається!
Година вбила, а поле не з'являється. Прохання допомогти

Відповідь:

тоді ой! просто у мене вийшло перетягнути поле найменування в іншу групу і його не стало видно,
і по першій кнопці Ще воно не відновлювалося, був упевнений, що вам допоможе.

Питання: Як при виборі елемента довідника зробити відображення коду, а чи не найменування?


є таб. частина, в ній поле з типом довідникпосилання. як при виборі елемента у цьому полі відобразити код реквізиту, а чи не найменування? (керовані форми)

Відповідь: Tklwegsd,))) Так це саме питання

Повідомлення від polax

Чи не можна просто додати поле Код до таблиці?

Питання: Поле вибору відбору у звіті СКД


Вітаю хлопці, питання постало. Хочу вивести поле вибору відбору у звіті, але щось стопориться в мене ця справа, потрібна ваша порада...

Для поля контрагенти вніс код такий, він робить внутрішній відбір, а як для поля зліва відобразити Порівняння і прив'язати його до Користувачів?

1C
1 2 3 4 5 6 7 8 9 10 11 Процедура КористувачіПриЗміні(Елемент) Експорт Параметр = КомпонувальникНалаштувань. Налаштування. Параметри даних. Знайти ЗначенняПараметра(Новий ПараметрКомпонуванняДаних("Користувачі" ) ) ; Параметр. Значення = Користувачі; Параметр. Використання = Істина; ЕлементОтбору = КомпонувальникНалаштувань. Налаштування. Відбір. Елементи. Додати(Тип ( "ЕлементВідборуКомпонівкиДаних") ) ; ЕлементОтбору. ВидПорівняння = ВидПорівнянняКомпонуванняДаних. Рівно; ЕлементОтбору. ЛевоеЗначення = Новий ПолеКомпонівкиДаних( "ВідповідальнийЗаВідповідьНаЗапит"); ЕлементОтбору. ПравоеЗначення = Користувачі; КінецьПроцедури

Відповідь: Dethmontt, прибираю код, є тільки СКД та поле відборів на формі - порожній звіт.

Додано через 1 годину 50 хвилин
Dethmontt, Розібрався, чому порожній звіт при відборі СКД був, стояла умова в запиті СКД по користувачам - видалив його і все запрацювало. Дякую за підказки)

Запитання: Чи можна змінювати склад полів динамічного списку без коду?


Доброго дня. У мене чиста форма, на ній динамічний список із довільним запитом, де одна таблиця (довідник, вона ж основна таблиця ДС), одне поле Посилання та характеристики.

Поля з характеристиками можна відразу використовувати у відборах, сортуваннях, оформленні та вибирати для угруповання. Все працює. Але просто вибрати як додаткове поле неможливо (щоб він став поруч із посиланням окремим стовпцем). Зрозуміло, що за допомогою коду це все робиться, але невже це не можна зробити без коду?
Купа параметрів компонування даних, які можна розмістити на формі, і немає можливості просто додати поле? Чи я роблю щось не так?

Відповідь:Загалом, як я не крутив колонок через компонувальник даних - додати мені не вдалося (Без коду). Швидше за все це неможливо, тому що за колонки відповідає не реквізит форми дс, а елемент форми, що логічно. Компонувальник рулює даними - елемент форми - відображенням (Колонок у тому числі).
Тобто без програмного збільшення підлеглих елементів елемента форми - змінити їх не вдасться.
Всім дякую.

Питання: Введення на підставі повідомлення поле в ТЧ не заповнене


Колеги хелп Не типове введення виходячи з дока в ЗУП 2.5, повідомлення - полі у ТЧ не заповнено, хоча воно заповнено - тип Дата. Код в Обробці Заповнення.
Якщо через форму перебити реквізит, то проводить...

Відповідь:ОМГ він лаявся на інше поле - просто ця колонка була прихована) вона при заповненні в інтерфейсі копіруться з поля дата початку

/
Бухгалтерія для України /
Робота з документами, довідниками та звітами

Як встановити основну організацію для встановлення в документи

У цьому розділі описується порядок встановлення основної організації для автоматичного встановлення в нові документи.

Установка із довідника

У довіднику організацій (меню "Підприємство" - "Організації") основна організація виділяється жирним шрифтом. Це означає, що під час створення нових документів вона буде підставлятися автоматично.

Щоб зробити основну іншу організацію, необхідно виділити цю організацію у списку та натиснути на кнопку Встановити основнийу командній панелі.

З'єднувати Код Преоікс Найменування л ш 00000001 до Добро 000000001 ДБ До5ро5ут 00000006 ДК До стака та установка 00000005 НФ Національна С0000001 ншо Наша орпамза= >

ПРИМІТКА
Основна організація зберігається у налаштуваннях користувача. До кожного користувача основна організація вказується індивідуально.

Відбір документів з основної організації

У налаштуваннях користувача (Меню "Сервіс" - "Параметри користувача") можна встановити режим автоматичного відбору документів основної організації. Це означає, що у всіх журналах та списках документів відображатимуться лише документи основної організації.

Відбір документів у журналах управляє прапором Облік по всіх організаціях. Коли він встановлений, у журналах відображаються документи з усіх організацій. Коли прапорець знято, у журналах відображаються лише документи з основної організації.

При необхідності основну організацію можна змінити прямо в налаштуваннях користувача в групі "Основні значення для підстановки документів і довідників".

Завдання 1. Створення списку

1. Відкрийте файл Ex03_1.xlsx.

2. На аркуші Прайс знаходиться таблиця товарів із цінами.

3. Встановіть імена діапазонів з назвою товару ( Товар) та таблиці з прайсом ( Таблиця) (малюнок 1). Імена діапазонів задаються для подальшого їх використання у формулах та полегшення роботи з діапазонами. Ім'я діапазону можна задати через поле імені комірки або ж у контекстному меню вибрати команду Присвоїти ім'я(зрозуміло у тому чи іншому випадку діапазон осередків має бути попередньо виділений, як показано малюнку 1).

Малюнок 1

4. На аркуші продажу у стовпці Найменування товарустворіть список, що випадає, і заповніть його даними.

Для створення списку, що випадає, необхідно виділити осередки (можна відразу кілька), в яких хочете отримати список, що випадає, і вибрати на вкладці Дані кнопку Перевірка даних (Малюнок 2).

Малюнок 2

На першій вкладці Параметризі списку Тип данихвибрати варіант перелікі ввести в рядок Джерелознак дорівнює ім'я діапазону з необхідними даними (тобто. =Товар) (рисунок 3). Натисніть ОК.

Результат створення списку, що випадає, представлений на малюнку 4.

Якщо набір значень джерела може змінюватися, краще вставляти або видаляти дані в середині списку.

Малюнок 3

Малюнок 4

Знайомство з функціями ПОШУКПОЗ та ІНДЕКС

Функції ПОШУКПОЗ та ІНДЕКС переважно застосовуються для автоматичної підстановки даних у таблицю із заданого діапазону.

Синтаксис функцій

ПОШУКПОЗ (пошукове значення, масив, тип зіставлення)

Масив- Це блок, що складається з одного стовпця або одного рядка.

Тип_порівняння-Це число -1, 0 або 1.

Якщо тип_порівняннядорівнює 1, то функція ПОШУКПОЗзнаходить найбільше значення, яке менше, ніж потрібне_значенняабо одно йому. Переглядається масивмає бути упорядкований за зростанням.

Якщо тип_порівняннядорівнює 0, то функція ПОШУКПОЗзнаходить перше значення, яке в точності дорівнює аргументу потрібне_значення.Переглядається масивможе бути невпорядкованим.

Якщо тип_порівняннядорівнює -1, то функція ПОШУКПОЗзнаходить найменше значення, яке більше, ніж потрібне_значення,або одно йому. Масив, що переглядаєтьсяповинен бути упорядкований за спаданням.

Якщо тип_порівнянняопущений, то передбачається, що він дорівнює 1 .

Функція ПОШУКПОЗповертає позицію шуканого значення масиві, а чи не саме значення.

Функція ІНДЕКСмає дві форми. Ми розглянемо лише одну.

ІНДЕКС(таблиця; номер_рядка; номер_стовпця)

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

Розгляньмо роботу цих функцій на конкретних прикладах.

Завдання 2. Знайомство з функцією ПОШУКПОЗ

За допомогою функції ПОШУКПОЗ() визначте позицію товару з найменуванням «Іогурт» у діапазоні Товар. Для цього:

1. в електронній книзі Ex03_1.xlsxперейдіть на лист Прайсі встановіть курсор аркуша в будь-який вільний осередок;

2. введіть у цей осередок формулу = ПОИСКПОЗ( " Йогурт " ; Товар; 0), тобто. ми вказуємо за допомогою даної функції, що нам необхідно знайти елемент «Йогурт» (текстове значення у функціях завжди вказується в лапках) у діапазоні Товар, тип зіставлення 0 - точне збіг;

3. натисніть клавішу Enter. В результаті ви повинні одержати число 7 (рисунок 5).

Малюнок 5

Дійсно, якщо подивитися на діапазон Товар, то позиція йогурту відповідає цій цифрі. У цьому слід пам'ятати, що позиція значення масиві, тобто. у заданому діапазоні відраховується від початку діапазону. Виходить, що якщо ми додамо на початку таблиці з даними новий рядок, то значення "Йогурт" зміститься на рядок з номером 8, але діапазон Товарпочинається зі значення "Молоко", тому з початку діапазону позиція йогурту буде в будь-якому випадку відповідати цифрі 7 (рисунок 6).

Малюнок 6

Зверніть увагу на те, що як значення для функції ПОШУКПОЗ() можна вказувати як саме значення, так і ім'я комірки, в якій знаходиться це значення. Наприклад, запис =ПОШУКПОЗ(A7;Товар;0) дозволить отримати аналогічний результат як і при використанні запису =ПОШУКПОЗ("Йогурт";Товар;0).

Завдання 3. Ознайомлення з функцією ІНДЕКС

Нагадаємо, що функція ІНДЕКС() вибирає з прямокутного блоку (таблиці) елемент, що задається номерами рядка і стовпця, причому ці номери відраховуються від верхнього лівого елемента блоку.

За допомогою функції ІНДЕКС() знайдіть у діапазоні Товарелемент, розташований на п'ятій позиції. Для цього:

1. в електронній книзі Ex03_1.xlsxна аркуші Прайсвстановіть курсор аркуша в будь-який вільний осередок;

2. введіть у цей осередок наступну функцію =ИНДЕКС(Товар;5). Натисніть клавішу Enter. Результат представлений малюнку 7.

Малюнок 7

Зверніть увагу, що ми вказали для функції ІНДЕКС лише значення діапазону та номер рядка. Номер стовпця ми вказувати не стали. Цей параметр не є обов'язковим, якщо ми шукаємо значення в таблиці (діапазоні), що складається з одного стовпця. Якщо нам треба знайти значення в таблиці (діапазоні) що складається з кількох стовпців, тоді у формулі, для більш точного пошуку значення, необхідно вказувати номер стовпця.

У новому осередку введіть формулу = ІНДЕКС (Таблиця; 8; 2). В результаті ви знайдете вартість шинки (рисунок 8).

Малюнок 8

Автоматична підстановка даних

Під час роботи зі списком можна автоматизувати введення даних у таблиці. Наприклад, є прайс-лист, що містить назви товарів та їх ціну. Можна організувати вибір назви товару зі списку та автоматичне встановлення ціни товару в підсумкову таблицю.

Автоматична підстановка даних із довідкової таблиці ґрунтується на комбінованому використанні функцій ІНДЕКС та ПОШУКПОЗ.

Завдання 4. Комбінування функцій ПОШУКПОЗ та ІНДЕКС

В електронній книзі Ex03_1.xlsxна аркуші Продажіу колонці Ціна, використовуючи функції MS Excel, забезпечте автоматичне встановлення вартості товару з листа Прайс, залежно від вибраного зі списку значення на аркуші Продажі.

1. Встановіть курсор листа в комірку С2 і введіть до неї таку формулу:

2. Натисніть клавішу Enter. В результаті ви отримаєте в осередку С2 вартість товару, найменування якого вказано в сусідній колонці (рисунок 9). При виборі зі списку іншого найменування товару значення ціни буде змінюватися відповідним чином.

Малюнок 9

3. За допомогою маркера автозаповнення продублюйте цю формулу до кінця таблиці (рис. 10).

Малюнок 10

Розшифруємо цю формулу. Ця формула починає працювати з функції ПОШУКПОЗ, яка дозволяє нам знайти позицію значення з комірки B2 на аркуші Продажів діапазоні Товарз листа Прайс, і типом точності 0. Наприклад, якщо скористатися списком товарів, який представлений на малюнку 10, то функція ПОШУКПОЗ шукає позицію хліба, назва якого вказана в осередку В2 з колонки Найменування товарув діапазоні Товарна аркуші Прайс. Ця позиція дорівнюватиме 3. Отже, в пам'яті комп'ютера введена нами формула

=ІНДЕКС(Таблиця; ПОШУКПОЗ(B2; Товар; 0); 2)

набуде вигляду

= ІНДЕКС (Таблиця; 3; 2)

Параметр «3» – це результат роботи функції ПОШУКПОЗ.

Далі вступає в роботу функція ІНДЕКС, яка шукатиме в діапазоні Таблицяна аркуші Прайсзначення, що знаходиться на перетині третього рядка та другого стовпця. (Нагадуємо, що діапазон Таблицяскладається із двох стовпців). Цим значенням буде ціна товару, у разі хліба = 27.

Завдання 5. Оформлення підсумкової таблиці

На аркуші Продажіу колонці Кількістьвведіть значення. Обчисліть значення у колонці Разом.

Завдання 6. Самостійне завдання

Відкрийте файл Кадри. . Потрібно автоматизувати зміну окладів на аркуші Кадри .

Наприклад, потрібно когось із менеджерів перевести і старших менеджерів або консультантів перевести в вантажники. Потрібно зробити цю операцію для чотирьох співробітників. Разом із посадою має змінюватись і оклад.

Створіть новий лист і назвіть його Штат .

Скопіюйте на аркуш Штатстовпці Посадаі Оклад.

Видаліть співробітників, що повторюються. Для цього:

1. Виділіть стовпці посаду та оклад.

2. На вкладці Дані клацніть по кнопці Видалити дублікати .

3. Видаліть галочку зі стовпця Оклад.

4. Натисніть кнопку Ok.

Для того щоб можна було змінювати посади, на аркуші Кадриу колонці посади створіть список, що випадає. При цьому потрібно буде змінювати і посадовий оклад, для цього автоматизуємо цей процес так, щоб при зміні посади Excel сам змінював оклад. Для цього використовуємо функції: ПОШУКПОЗ та ІНДЕКС.

Методичні вказівки

1. Виділіть на аркуші Штатдіапазон посад. Надайте виділеному діапазону ім'я посаду.

2. Виділіть на аркуші Штатдіапазон окладів. Надайте виділеному діапазону ім'я оклад.

3. На аркуші Співробітникистовпці Окладвведіть формулу, яка шукала б на аркуші Штатв діапазоні посадапозицію відповідну посаді співробітника, а потім з діапазону окладлиста Штатвставляла оклад, що відповідає знайденій позиції.

4. Після введення формули переконайтеся, що отриманий оклад справді відповідає окладу посади співробітника з листа Штат.

5. Змініть оклад у гол. бухгалтера на аркуші Штат. Перевірте чи відбулася зміна відповідного окладу на аркуші Співробітники.

Якщо помітили помилку, виділіть фрагмент тексту та натисніть Ctrl+Enter
ПОДІЛИТИСЯ:
Комп'ютери та сучасні гаджети