Новый интернет-супермаркет Сопот24
www.sopot24.ru
Сопот24 представляет собой новый в Санкт-Петербурге интернет-супермаркет.
Планируемое количество ассортимента 15000 наименований товаров.
Инструкция пользователя Интернет-Магазина
Управление сайтом производится из панели управления сайта, а также из локальных учетных программ, в данном случае за пример берется программа 1С
Панель управления сайтом состоит из следующих разделов:
- FAQ - Управление записями вопросов посетителей. Основные возможности: удаление, редактирование записей, возможность ввода ответа на сообщение, управление видимостью сообщений посетителями. Этот раздел также может использоваться как обратная связь с покупателем для контроля качества оказания услуг доставки и получения претензий по качеству поставляемого товара.
- "Внешние счётчики" - Раздел для редактирования кодов внешних счётчиков и кнопок. В этот раздел можно устанавливать блоки программного кода счетчиков посещений сайта, например: RAMBLER Top 100, liveinternet.ru и прочие, с помощью которых появляется возможность отслеживать посещаемость сайта инструментами сторонних разработчиков.
- "Заказы" - В этом разделе Вы сможете просматривать и удалять сформированные пользователями заказы на продукцию, а также проставлять статусы прохождения заказа, такие как «Новый», «В обработке», «Выполнен».
- «Клиенты» - В этом разделе имеется возможность редактирования данных пользователя интернет-магазина, таких как фамилия, имя, дата рождения, телефон, адрес доставки, добавление покупателя в «белый» или «черный» списки, установка отметки на получении рассылки новостей и специальных предложений, а также добавление комментариев администратора по покупателю.
При добавлении покупателя в черный список, он не будет иметь возможность оформить заказ.
- "Почтовая рассылка" - Раздел для почтовой рассылки сообщений (новостей) пользователям подписавшимся на рассылку. Возможность разделения подписчиков по группам.
- «Разделы сайта» - В этом разделе возможно создание, редактирование и удаление разделов Интернет-магазина, с заполнением различных параметров, таких как Заголовок в META, Описание в META, Ключевые слова в META, Описание раздела и его подчиненность в структуре сайта.
- «Страницы сайта» - - В этом разделе возможно создание, редактирование и удаление статей Интернет-магазина, с заполнением различных параметров, таких как Заголовок в META, Описание в META, Ключевые слова в META, анонса статьи, графического отображения статьи и раздела в котором размещается статья.
- «Управление пользователями» - В этом разделе устанавливаются пользовательские права на доступ в тот или иной раздел сайта.
- "Управление разделами" - В этом разделе Вы сможете вносить изменения в список разделов панели администрирования . Основные возможности: добавление, удаление, редактирование раздела.
- "Файл-менеджер" - Файловый менеджер для управления файлами сайта без использования 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=Истина тогда
ТабДок.Напечатать(Истина);
КонецЕсли;
Возможны и другие алгоритмы решения задачи по загрузке заказа.