www.sopot24.ru

Сопот24 представляет собой новый в Санкт-Петербурге интернет-супермаркет. 

 

Планируемое количество ассортимента 15000 наименований товаров.

Инструкция пользователя Интернет-Магазина

 

Управление сайтом производится из панели управления сайта, а также из локальных учетных программ, в данном случае за пример берется программа 1С

 

Панель управления сайтом состоит из следующих разделов:

 

  1. FAQ - Управление записями вопросов посетителей. Основные возможности: удаление, редактирование записей, возможность ввода ответа на сообщение, управление видимостью сообщений посетителями. Этот раздел также может использоваться как обратная связь с покупателем для контроля качества оказания услуг доставки и получения претензий по  качеству поставляемого товара.
  2. "Внешние счётчики" - Раздел для редактирования кодов внешних счётчиков и кнопок. В этот раздел можно устанавливать блоки программного кода счетчиков посещений сайта, например: RAMBLER Top 100, liveinternet.ru и прочие, с помощью которых появляется возможность отслеживать посещаемость сайта инструментами сторонних разработчиков.
  3. "Заказы" - В этом разделе Вы сможете просматривать и удалять сформированные пользователями заказы на продукцию, а также проставлять статусы прохождения заказа, такие как «Новый», «В обработке», «Выполнен».
  4. «Клиенты» - В этом разделе имеется возможность редактирования данных пользователя интернет-магазина, таких как фамилия, имя, дата рождения, телефон, адрес доставки, добавление  покупателя в «белый» или «черный» списки,  установка отметки на получении рассылки новостей и специальных предложений, а также добавление комментариев администратора по покупателю.

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

  1. "Почтовая рассылка" - Раздел для почтовой рассылки сообщений (новостей) пользователям подписавшимся на рассылку. Возможность разделения подписчиков по группам.
  2. «Разделы сайта» - В этом разделе возможно создание, редактирование и удаление разделов Интернет-магазина, с заполнением различных параметров, таких как Заголовок в META, Описание в META, Ключевые слова в META, Описание раздела и его подчиненность в структуре сайта.
  3. «Страницы сайта» - - В этом разделе возможно создание, редактирование и удаление статей Интернет-магазина, с заполнением различных параметров, таких как Заголовок в META, Описание в META, Ключевые слова в META, анонса статьи, графического отображения статьи и раздела в котором размещается статья.
  4. «Управление пользователями» - В этом разделе устанавливаются пользовательские права на доступ в тот или иной раздел сайта.
  5. "Управление разделами" - В этом разделе Вы сможете вносить изменения в список разделов панели администрирования . Основные возможности: добавление, удаление, редактирование раздела.
  6. "Файл-менеджер" - Файловый менеджер для управления файлами сайта без использования ftp доступа.

 

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


Описание товаров, их цена и наименование находятся в файле catalog.csv

Структура файла catalog.csv

 

Поле

Описание

1

Код товара

код товара

2

Единица измерения

«Шт» для штучного и «кг» для весового

3

Посл.поставщик

Не используется

4

Страна

Страна

5

Код родителя

Код основной группы

6

Наименование

Наименование

7

Цена

Цена товара

8

Остаток

Количество на остатке

9

Статус товара

Статус товара: 1- товарв в продаже, 2-наличие уточнить, 3-товар недостопен (закрыта возможность добавления в корзину)

10

Акция

Флаг 1/0. Признак у товара

11

Топ

Флаг 1/0. Признак у товара

12

Рекомендуемый

Флаг 1/0. Признак у товара

13

Бренд

Бренд товара

14

Состав

Состав товара

15

Описание

Описание товара

 16

Код доп.родителя

Коды групп через запятую. Дополнительное расположение товара

17

Цена до акции

Старая цена товара. Имеет смысл для товаров с установленным признаком Акция

 

Пример файла catalog.csv, одна строка

14158;14158;шт;;Россия;3;Ацидобифилин ПИСКАРЕВСКИЙ 2,5% ст.500г;22.2;0;2;0;0;0;Пискаревский МЗ;;;;22.9

 

 

Группы товаров находятся в файле group.csv

Структура файла group.csv

Поле

Описание

1

Код группы

Код группы

2

Код родителя

Код родителя группы

3

Наименование

Наименование группы

Пример файла group.csv, одна строка

17;13;Супы, вторые блюда, десерты, все для выпечки

 

 

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

 

Фотографии также загружаются по FTP каналу и имеют свойства связи с товаром в виде специализированного наименования, состоящего из кода товара, определяемого размера и номера фотографии в определяемом размере.

Правила формирования наименования фотографии

КодТовара_L1

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

L - для большой фотографии

M- для средней фотографии

S - для маленькой фотографии

 

L1, L2, M1,M2- порядковый номер большой или средней фотографии.

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

 

Фотографии также должны быть загружены в папку на сайте.


Загрузка заказов в локальную базу данных производится из папки  на сайте. Файл заказа представляет собой структурированный текстовой файл наименование которого содержит номер заказа и дату его создания, пример: 00000522112011.txt, где 000005 – номер заказа в Интернет-магазине, 22112011 дата создания заказа 22.11.2011 г.

 

Структура заказа

Сидоров Сидор Сидорович; г. Санкт-Петербург, Невский пр, д. 1, кв. 1, этаж 1;7 123 4567890#|15285;1;92.2|88348;5;40.7|64564;1;120.3|#

 

Где: до первого символа # - реквизиты заказа, покупатель, адрес доставки, телефон покупателя.

Между символами  # - табличная часть заказа, символ | - разделитель строк табличной части заказа, данные в строке табличной части заказа разделены точкой с запятой.

Первое значение – код товара, второе значение – количество, третье значение – цена.

 

Пример программного кода на 1С 8.1, 8.2  Управление Торговлей для загрузки заказа

 

Перем ИмяФайла;         

      ВремКаталог=КаталогВременныхФайлов();

      FTP = Новый FTPСоединение(сервер,Порт,логин,пароль,,Режим,);

      FTP.УстановитьТекущийКаталог(FtpOut);

    МассивФайлов=FTP.НайтиФайлы("","*.txt");

     

      Если МассивФайлов.Количество()=0 тогда

                  Возврат;

      КонецЕсли;  

      //загружаем в локальную папку

      Для каждого Файл из МассивФайлов цикл

      ИмяФайлаНаСервере=Файл.ПолноеИмя;

      FTP.Получить(FtpOut+ИмяФайлаНаСервере,ЛокалПапка+ИмяФайлаНаСервере);

      FTP.Удалить(FtpOut+ИмяФайлаНаСервере);     

      КонецЦикла;

 

      ФормаДокумента = ЭтотОбъект.ПолучитьФорму("Форма");

      ТекстДокумент = Новый ТекстовыйДокумент;

      ТекстДокумент1 = Новый ТекстовыйДокумент;

      ТабМакет=ПолучитьМакет("Макет");

      ОбластьЗаказ=ТабМакет.ПолучитьОбласть("Заказ");

      ОбластьДата=ТабМакет.ПолучитьОбласть("Дата");

      ОбластьАдрес=ТабМакет.ПолучитьОбласть("Адрес");

      ОбластьКоментарий=ТабМакет.ПолучитьОбласть("Коментарий");

      ОбластьШапка=ТабМакет.ПолучитьОбласть("Шапка");

      ОбластьСтрока=ТабМакет.ПолучитьОбласть("Строка");

       ОбластьРазделитель =ТабМакет.ПолучитьОбласть("Разделитель");

      ТабДок = Новый ТабличныйДокумент;

//    НовСтр=ТабДок.Область("R2");

      НайденныеФайлы = НайтиФайлы(ЛокалПапка, "*.txt");

     

      КоличествоЭлементов = НайденныеФайлы.Количество();

      Для  k=0 по КоличествоЭлементов-1 Цикл

                  ИмяФайла = НайденныеФайлы[k];

                  ЗаказПок = Документы.ЗаказПокупателя.СоздатьДокумент();

                  ЗаказПок.Дата=ТекущаяДата();

                  ЗаказПок.Организация=ФормаДокумента.Продавец;

                  ЗаказПок.Контрагент=ФормаДокумента.Покупатель;

                  ЗаказПок.СкладГруппа=ФормаДокумента.Склад;

                  ЗаказПок.ДоговорКонтрагента=ФормаДокумента.Покупатель.ОсновнойДоговорКонтрагента;

            ЗаказПок.ВалютаДокумента=ФормаДокумента.Покупатель.ОсновнойДоговорКонтрагента.ВалютаВзаиморасчетов;

                  ЗаказПок.КратностьВзаиморасчетов=1;

                  ЗаказПок.ДатаОтгрузки=ТекущаяДата();

                  ЗаказПок.ДатаОплаты=ТекущаяДата();

                  ТекстДокумент.Прочитать(ИмяФайла.ПолноеИмя,КодировкаТекста.OEM);

                  ИсходныйТекст = ТекстДокумент.ПолучитьТекст();

                  НоваяСтрока=СтрЗаменить(ИсходныйТекст,"|",Символы.ПС);

                  ТекстДокумент1.УстановитьТекст(НоваяСтрока);

                  КолСтр=ТекстДокумент1.КоличествоСтрок();

                 

                  Для l=1 по  КолСтр Цикл

                             Если l=1 тогда

      НоваяСтрока1=СтрЗаменить(ТекстДокумент1.ПолучитьСтроку(l),"#",Символы.ПС);

                                         Для j = 1 По СтрЧислоСтрок(НоваяСтрока1) Цикл

                                                     Если j=1 тогда

                                                                

                             ЗаказПок.АдресДоставки=СтрПолучитьСтроку(НоваяСтрока1, j);

                             ОбластьЗаказ.Параметры.Заказ="Заказ № "+ЗаказПок.Номер+" от "+ЗаказПок.Дата;

                             ТабДок.Вывести(ОбластьЗаказ);

                              ОбластьДата.Параметры.ДатаЗак="Дата отгрузки "+ЗаказПок.ДатаОтгрузки;

                  ТабДок.Вывести(ОбластьДата);

                  ОбластьАдрес.Параметры.Адрес="Адрес получателя: "+СтрПолучитьСтроку(НоваяСтрока1, j);     

                             ТабДок.Вывести(ОбластьАдрес);

 

                                                     ИначеЕсли j=2 тогда

                                                                 ЗаказПок.Комментарий=СтрПолучитьСтроку(НоваяСтрока1, j);     

                             ОбластьКоментарий.Параметры.Коментарий="Примечания к заказу: "+СтрПолучитьСтроку(НоваяСтрока1, j);

                             ТабДок.Вывести(ОбластьКоментарий);

                                                     КонецЕсли;

                                                    

                                         КонецЦикла;

                              ТабДок.Вывести(ОбластьШапка);

                                         //КонецЕсли;

                                         //************************************************

                             ИначеЕсли (l>1)и (l<>КолСтр) тогда

                                         СтрокаТабЧасти = ЗаказПок.Товары.Добавить();

                                        

      НоваяСтрока2=СтрЗаменить(ТекстДокумент1.ПолучитьСтроку(l),";",Символы.ПС);

                                         Для j = 1 По СтрЧислоСтрок(НоваяСтрока2) Цикл

                                                     ТекСтрока = СтрПолучитьСтроку(НоваяСтрока2, j);

                                                     Если j=1 тогда

                                                                 Товар = Справочники.Номенклатура.НайтиПоКоду(ТекСтрока);

                                                                 СтрокаТабЧасти.Номенклатура=Товар;

                                                           СтрокаТабЧасти.ЕдиницаИзмерения=Товар.ЕдиницаХраненияОстатков;

                                         ОбластьСтрока.Параметры.Тов=Товар.Код+" "+Товар.Наименование+" "+Товар.ЕдиницаХраненияОстатков;           

                                         //ТабДок.Вывести(ОбластьСтрока);

                                                                 КонецЕсли;  

                                                     Если j=2 тогда

                                                                 СтрокаТабЧасти.Количество=Число(ТекСтрока);

                                         ОбластьСтрока.Параметры.Кол=Число(ТекСтрока);

                                         //ТабДок.Вывести(ОбластьСтрока);

                                                     КонецЕсли;

                                                     Если j=3 тогда

                                                                 СтрокаТабЧасти.Сумма=Формат(Число(ТекСтрока),"ЧДЦ=2");

                                                           СтрокаТабЧасти.Цена=Формат(СтрокаТабЧасти.Сумма/СтрокаТабЧасти.Количество,"ЧДЦ=2");

                                   ОбластьСтрока.Параметры.ЦенаТов=Формат(СтрокаТабЧасти.Сумма/СтрокаТабЧасти.Количество,"ЧДЦ=2");

                                         ОбластьСтрока.Параметры.Сумма=СтрокаТабЧасти.Сумма;

                             КонецЕсли;

                  КонецЦикла;

                                         ТабДок.Вывести(ОбластьСтрока);

                             КонецЕсли;

                  КонецЦикла;

      ТабДок.Вывести(ОбластьРазделитель);

          Если Проводить=Истина тогда

                  ЗаказПок.Записать(РежимЗаписиДокумента.Проведение);

                  Иначе

                  ЗаказПок.Записать();

                  КонецЕсли;

                  НовФайл=Новый Файл(ИмяФайла.ПолноеИмя);

                  НовФайлИмя=НовФайл.ИмяБезРасширения;

      КопироватьФайл(ИмяФайла.ПолноеИмя,ФормаДокумента.ЛокалПапка+НовФайлИмя+".old");

                  УдалитьФайлы(ИмяФайла.ПолноеИмя);

      КонецЦикла;

          ОчиститьСообщения();

     Сообщить("Последняя загрузка заказов произощла "+ ТекущаяДата());

      Если ФормаДокумента.Флажок1=Истина тогда

                  ТабДок.Напечатать(Истина);

                  КонецЕсли;

 

Возможны и другие алгоритмы решения задачи по загрузке заказа.