New release
This commit is contained in:
parent
24024b5729
commit
20cfbfcca3
18
README.md
18
README.md
@ -1,14 +1,20 @@
|
||||
# REHAU SKU плагин для MS Excel
|
||||
## Назначение
|
||||
Служит для помощи в обработке клиентских заявок путем поиска продукции REHAU по запросу, выраженному в свободной форме.
|
||||
Помощь в обработке клиентских заявок путем поиска продукции REHAU по запросу, выраженному в свободной форме, и в работе с прайс-листом BS REHAU
|
||||
|
||||
## Принцип работы
|
||||
Плагин делает поисковый запрос в интернет-магазине REHAU, выполняет парсинг полученного ответа и выдает результат
|
||||
Плагин делает поисковый запрос в интернет-магазин REHAU, выполняет парсинг полученного ответа и выдает результат
|
||||
|
||||
## Реализованные функции
|
||||
- Отображение наименования найденного по запросу продукта с помощью формулы `=RAUNAME()`
|
||||
- Отображение артикула с помощью формулы `=RAUSKU()`
|
||||
- Отображение цены найденного продукта с помощью формулы `=RAUPRICE()`
|
||||
- Формулы для поиска информации
|
||||
- Отображение наименования с помощью `=RAUNAME()`
|
||||
- Отображение артикула с помощью `=RAUSKU()`
|
||||
- Отображение цены с помощью формулы `=RAUPRICE()`
|
||||
- Экспорт массива ячеек вида "Артикул - Количество" в прайс-лист
|
||||
- Объединение нескольких прайс-листов в один файл
|
||||
|
||||
*Для работы функций "Экспорт" и "Объединение" требуется указать путь к файлу пустого прайс-листа REHAU*
|
||||
|
||||
|
||||
## Работа без установки
|
||||
1. Запустить файл `RehauSku.Assist-AddIn-packed.xll` или `RehauSku.Assist-AddIn64-packed.xll` в зависимости от архитектуры приложения
|
||||
@ -24,7 +30,7 @@
|
||||
Файл -> Параметры -> Надстройки ->
|
||||
Управление: Надстройки Excel -> Перейти... -> Обзор
|
||||
|
||||
Выбрать и включить файл плагина.
|
||||
Выбрать и включить файл плагина
|
||||
|
||||
## Использованные библиотеки
|
||||
- [ExcelDna](https://github.com/Excel-DNA/ExcelDna)
|
||||
|
@ -131,9 +131,7 @@
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\ExcelDna.Build.props" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Source\Settings\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="packages\ExcelDna.AddIn.1.5.0\build\ExcelDna.AddIn.targets" Condition="Exists('packages\ExcelDna.AddIn.1.5.0\build\ExcelDna.AddIn.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
@ -47,6 +47,12 @@ namespace RehauSku
|
||||
return _priceListPath;
|
||||
}
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_priceListPath = value;
|
||||
_RootKey.SetValue("PriceListPath", value);
|
||||
}
|
||||
}
|
||||
|
||||
public static ResponseOrder StoreResponseOrder
|
||||
|
@ -11,7 +11,7 @@ namespace RehauSku.Forms
|
||||
|
||||
using (OpenFileDialog dialog = new OpenFileDialog())
|
||||
{
|
||||
dialog.Filter = "Все файлы (*.*)|*.*";
|
||||
dialog.Filter = "Файлы Excel (*.xls;*.xlsx;*.xlsm)|*.xls;*.xlsx;*.xlsm";
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
@ -28,7 +28,7 @@ namespace RehauSku.Forms
|
||||
|
||||
using (OpenFileDialog dialog = new OpenFileDialog())
|
||||
{
|
||||
dialog.Filter = "Все файлы (*.*)|*.*";
|
||||
dialog.Filter = "Файлы Excel (*.xls;*.xlsx;*.xlsm)|*.xls;*.xlsx;*.xlsm";
|
||||
dialog.Multiselect = true;
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
|
@ -74,12 +74,30 @@ namespace RehauSku.PriceListTools
|
||||
|
||||
public void ExportToNewFile()
|
||||
{
|
||||
if (SkuAmount.Count < 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string exportFile = PriceListUtil.CreateNewExportFile();
|
||||
Workbook wb = ExcelApp.Workbooks.Open(exportFile);
|
||||
PriceList priceList = new PriceList(wb);
|
||||
|
||||
if (priceList.IsValid())
|
||||
try
|
||||
{
|
||||
PriceList priceList = new PriceList(wb);
|
||||
priceList.Fill(SkuAmount);
|
||||
}
|
||||
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show
|
||||
($"{RegistryUtil.PriceListPath} не является файлом прайслиста \n\n {ex.Message}",
|
||||
"Неверный файл прайс-листа!",
|
||||
System.Windows.Forms.MessageBoxButtons.OK,
|
||||
System.Windows.Forms.MessageBoxIcon.Error);
|
||||
|
||||
wb.Close();
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
@ -22,23 +22,56 @@ namespace RehauSku.PriceListTools
|
||||
foreach (string file in files)
|
||||
{
|
||||
Workbook wb = ExcelApp.Workbooks.Open(file);
|
||||
PriceList priceList = new PriceList(wb);
|
||||
|
||||
if (priceList.IsValid())
|
||||
try
|
||||
{
|
||||
PriceList priceList = new PriceList(wb);
|
||||
SkuAmount.AddValues(priceList);
|
||||
}
|
||||
|
||||
wb.Close();
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show
|
||||
( $"{wb.Name} не является файлом прайслиста \n\n {ex.Message}",
|
||||
"Неверный файл прайс-листа!",
|
||||
System.Windows.Forms.MessageBoxButtons.OK,
|
||||
System.Windows.Forms.MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
wb.Close();
|
||||
}
|
||||
}
|
||||
ExcelApp.ScreenUpdating = true;
|
||||
}
|
||||
|
||||
public void ExportToNewFile(string exportFile)
|
||||
{
|
||||
Workbook wb = ExcelApp.Workbooks.Open(exportFile);
|
||||
PriceList priceList = new PriceList(wb);
|
||||
if (SkuAmount.Count < 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (priceList.IsValid())
|
||||
Workbook wb = ExcelApp.Workbooks.Open(exportFile);
|
||||
PriceList priceList;
|
||||
|
||||
try
|
||||
{
|
||||
priceList = new PriceList(wb);
|
||||
priceList.Fill(SkuAmount);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show
|
||||
($"{RegistryUtil.PriceListPath} не является файлом прайслиста \n\n {ex.Message}",
|
||||
"Неверный файл прайс-листа!",
|
||||
System.Windows.Forms.MessageBoxButtons.OK,
|
||||
System.Windows.Forms.MessageBoxIcon.Error);
|
||||
|
||||
wb.Close();
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
@ -17,11 +17,11 @@ namespace RehauSku.Ribbon
|
||||
<tabs>
|
||||
<tab id='rau' label='REHAU'>
|
||||
<group id='priceList' label='Прайс-лист'>
|
||||
<button id='exportToPrice' label='Экспорт' size='large' imageMso='PivotExportToExcel' onAction='OnExportPressed'/>
|
||||
<button id='mergeFiles' label='Объединить' size='large' imageMso='Copy' onAction='OnMergePressed'/>
|
||||
<button id='exportToPrice' label='Экспорт в новый файл' size='normal' imageMso='PivotExportToExcel' onAction='OnExportPressed'/>
|
||||
<button id='mergeFiles' label='Объединить' size='normal' imageMso='Copy' onAction='OnMergePressed'/>
|
||||
</group>
|
||||
<group id='rausettings' label='Настройки'>
|
||||
<button id='set' label='Настройки' size='large' imageMso='CurrentViewSettings' onAction='OnSettingsPressed'/>
|
||||
<button id='setPriceList' label='Файл прайс-листа' size='normal' imageMso='CurrentViewSettings' onAction='OnSetPricePressed'/>
|
||||
</group>
|
||||
</tab>
|
||||
</tabs>
|
||||
@ -60,12 +60,10 @@ namespace RehauSku.Ribbon
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSettingsPressed(IRibbonControl control)
|
||||
public void OnSetPricePressed(IRibbonControl control)
|
||||
{
|
||||
Form settingsForm = new SettingsForm();
|
||||
|
||||
settingsForm.Show();
|
||||
|
||||
string path = Dialog.GetFilePath();
|
||||
RegistryUtil.PriceListPath = path;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user