y"> Малюнок N. Змінена форма довідника ПроізводітеліCMS .
Таким чином, у формі довідника можна вибирати його групу, обирану із заповненого довідника ГруппиКатегорій (Малюнок N).
Малюнок N. Заповнена змінена форма довідника ПроізводітеліCMS .
Наступним кроком стало додавання нових полів в картки товарів і категорій: для опису і ключових слів. Для реалізації цього, необхідно створити відповідні реквізити для довідників Номенклатура і ПроізводітеліCMS (Малюнки N і N).
Малюнок N. Частина реквізитів довідника Номенклатура .
Малюнок N. Реквізити довідника Категорії CMS .
Ці реквізити були підставлені в додані поля форм довідників (Малюнки N і N):
Малюнок N. Змінена форма редагування товару.
Малюнок N. Змінена форма редагування категорії.
. 4 Написання програмного коду для 1С: Підприємство і інтернет-магазину
Першим і найскладнішим елементом з боку програмування виявилося створення зв'язку батьківських категорій в самій базі даних.
Всі функції з зв'язку 1С та бази даних MySQL знаходяться в поставляється разом з модулем бібліотеці MySQL.dll. Кожна функція відповідає за певну функцію, в число яких, входить, наприклад функція vm_UpdateProduct оновлює продукти на сайті, а функція vm_InsertProduct додає нові елементи (sql-запити UPDATE і INSERT відповідно).
Однак дана бібліотека обмежена набором таких функцій, що не дає повною мірою її використовувати. Через це довелося шукати інші способи вивантаження і завантаження інформації з бази даних.
У цьому допомогла додаткова бібліотека для 1С: Підприємство 7.7 V7PLUS.dll, яка включає в себе ряд додаткових нововведень, використовуваних у цій версії 1С. Серед них опинилася можливість звертатися до сторінки на якомусь сайті і передавати, завдяки цьому, параметри у форматі GET-запитів.
Спочатку необхідно створити нову процедуру в коді модуля до виклику самої процедури, яка вміє передавати подібні запити (Малюнок N):
Малюнок N. Код процедури Сформувати () .
Дана процедура приймає в себе 2 параметра:
· СтрОтпр - Вже сформована рядок для відправлення через GET-запит виду Текст; ДругойТекст; Значення; raquo ;. Даний рядок, розділена знаком laquo ;; містить в собі певну інформацію, яка на певній сторінці сайту розкладається на окремі змінні, передані потім в базу даних;
· Прапор - Значення для визначення виду запиту (наприклад, вивантаження товару або вивантаження категорії).
Даний код підключає зовнішню бібліотеку V7PLUS.dll і створює спеціальний об'єкт для роботи із запитами. Після цього перевіряється який саме запит буде передаватися і відповідно з цим в передану рядок підставляється необхідний змінна. Після цього на прописану сторінку сайту здійснюється HTTP-запит через створений раніше об'єкт і передається необхідна інформація, яка обробляється вже безпосередньо на сторінці сайту. У підсумку цього, якщо на сторінці сайту виводиться якась інформація, вона записується в глобальну змінну СтрокаДляПріема raquo ;, яку можна використовувати для різних потреб.
Далі необхідно змінити і додати код обробки категорій і груп категорій для їх вивантаження. У процедурі Пак_ВигрузітьПроізводітелей raquo ;, спричинюється при натисканні Вивантажити номенклатуру на формі модуля, необхідно додати код для вивантаження спочатку самих груп категорій, а після цього зв'язки груп з категоріями. Для вивантаження довідника ГруппиКатегорій був написаний код (Малюнок N):
Малюнок N. Код з вивантаження груп категорій.
У даній ділянці коду створюється об'єкт з довідника ГруппиКатегорій raquo ;, з якого в циклі вибираються значення. Ці значення формуються в рядок і передаються через створену раніше процедуру Сформувати raquo ;. Вище циклу створюється таблиця значень для збереження одержуваних даних і ці дані з глобальної змінної СтрокаДляПріема зберігаються в таблицю значень в якості нового рядка. В даному випадку це ідентифікатор нової записаної а базу даних групи зі зв'язкою її назви.
Наступним кроком після вивантаження груп іде створення коду з впровадження в базу даних зв'язки між групами категорій і самими категоріями. Дана ділянка коду представлений нижче (Малюнок N):
Малюнок N. Код з вивантаження зв'язки категорій і груп категорій.
У даній ділянці коду спочатку перебира...