Перейти до основного вмісту

Налаштування розрахунку нестандартної ламінації

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

Налаштування ламінації нестандарт

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

Налаштування ламінації нестандарт

Резервування універсальних довідників для потреб нестандартної ламінації

В налаштування БД переходимо у Глобальні налаштування - Замовлення та заповнюємо назви універсальним довідникам:

Налаштування ламінації нестандарт

Заповнення універсальних довідників для потреб нестандартної ламінації

Вибираємо довідники у програмі та заповнюємо потрібними значеннями:

Налаштування ламінації нестандарт

Налаштування ламінації нестандарт

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

Код налаштування звітів

Увага! Налаштування звітів потребують навичок програмування.

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

  if pos('НЕСТАНДАРТ', AnsiUpperCase(offers_table['ColorName'].asstring)) > 0 then
begin

if (offers_table['ulist2_name'].asstring = '') or (offers_table['ulist3_name'].asstring = '') or (offers_table['ulist4_name'].asstring = '') or (offers_table['ulist5_name'].asstring = '') then
begin
MessageDlg('Не вказано параметри нестандартної ламінації!', mterror, mbok, 0);
Engine.StopReport;
exit;
end;

end;

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

  if pos('НЕСТАНДАРТ', AnsiUpperCase(CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring)) > 0 then
begin
CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring := addStrValue(CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring, offers_table['ulist2_name'].asstring, ' / ');
CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring := addStrValue(CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring, offers_table['ulist3_name'].asstring, ' / ');
CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring := addStrValue(CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring, offers_table['ulist5_name'].asstring, ' / ');
CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring := addStrValue(CurrOffer.Root.namedItem['LamType'].namedItem['DSC'].asstring, offers_table['ulist4_name'].asstring, ' / ');
end;

Формування кольору для профілю

  NDSC := '';
if pos('НЕСТАНДАРТ', UpperCase(VT4_table['name'].asstring)) > 0 then
begin

ulist2 := offers_table['ulist2_name'].asstring;
ulist3 := offers_table['ulist3_name'].asstring;
ulist4 := offers_table['ulist4_name'].asstring;
ulist5 := offers_table['ulist5_name'].asstring;

if VT4_table['PT'].asstring = '1' then
if CurrInfo.Root['params']['ТСтворка']['value'].asstring = '1' then
begin
ulist2 := offers_table['ulist3_name'].asstring;
ulist3 := offers_table['ulist2_name'].asstring;
end;

NDSC := AddStrValue(NDSC, ulist2, ' / ');
NDSC := AddStrValue(NDSC, ulist3, ' / ');
NDSC := AddStrValue(NDSC, ulist4, ' / ');
NDSC := AddStrValue(NDSC, ulist5, ' / ');

end;