Завантаження...
Немає проектів. Створіть перший!
Нічого не знайдено за поточними фільтрами
| # | Назва проекту | Клієнт | МПП | ІП | Тип | Стадія | Ціна кл., € | ВП, € | Маржа | Дата | Дії | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ p.id }} | {{ p.name || '—' }} | {{ p.client || '—' }} | {{ p.mpp || '—' }} | {{ p.ip || '—' }} | {{ typeLabel(p.equipment_type) }} | {{ p.stage || 'РС' }} | {{ p.tot_client_eur ? fmt(p.tot_client_eur) : '—' }} | {{ p.gp_eur ? fmt(p.gp_eur) : '—' }} | {{ p.margin_pct != null && p.tot_client_eur ? p.margin_pct.toFixed(1)+'%' : '—' }} | {{ formatDate(p.updated_at) }} |
|
Файл: {{ pl.pendingFileName }}
| Артикул | Найменування | Стара ₴ | Нова ₴ | Зміна % | Нова € |
|---|---|---|---|---|---|
| {{ ch.article }} | {{ ch.name_ua }} | {{ ch.old_price.toFixed(2) }} | {{ ch.new_price.toFixed(2) }} | {{ ch.old_price > 0 ? ((ch.new_price - ch.old_price) / ch.old_price * 100).toFixed(1) + '%' : '—' }} | {{ ch.new_price_eur != null ? ch.new_price_eur.toFixed(2) : '—' }} |
| Артикул | Найменування | Стара ₴ | Нова ₴ | Зміна % | Нова € |
|---|---|---|---|---|---|
| {{ ch.article }} | {{ ch.name_ua }} | {{ ch.old_price.toFixed(2) }} | {{ ch.new_price.toFixed(2) }} | {{ ch.old_price > 0 ? ((ch.new_price - ch.old_price) / ch.old_price * 100).toFixed(1) + '%' : '—' }} | {{ ch.new_price_eur != null ? ch.new_price_eur.toFixed(2) : '—' }} |
Завантаження…
Прайс-лист порожній. Імпортуйте файл XLSX.
Нічого не знайдено за поточними фільтрами
| # | {{ col.label }} | ||||||
|---|---|---|---|---|---|---|---|
| {{ (pl.page - 1) * pl.per_page + idx + 1 }} | {{ item[col.key] || '—' }} {{ item[col.key] ? fmtN(item[col.key]) : '—' }} {{ item[col.key] || '—' }} | {{ (pl.page - 1) * pl.per_page + idx + 1 }} | {{ item[col.key] || '—' }} |
Завантаження…
Бібліотека порожня. Створіть першу набірку!
Нічого не знайдено за поточними фільтрами
| # | Артикул | Назва | Бренд | Постачальник | Од. | Ціна € | Дії | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ (bl.page - 1) * bl.per_page + idx + 1 }} | {{ bundle.article || '—' }} | {{ bundle.name_ua }} · {{ bundle.description.split('\n')[0] }} | {{ bundle.brand || '—' }} | {{ bundle.supplier || '—' }} | {{ bundle.unit }} | {{ bundle.price_eur ? fmtN(bundle.price_eur) : '—' }} | ||||||||||||||
|
Завантаження…
Набірка порожня
|
||||||||||||||||||||
| # | Артикул | Назва | Од. | Ціна € | Дії | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ bundle.article || '—' }} | {{ bundle.name_ua }} · {{ bundle.description.split('\n')[0] }} | {{ bundle.unit }} | {{ bundle.price_eur ? fmtN(bundle.price_eur) : '—' }} | ||||||||||||||||
|
Завантаження…
Набірка порожня
|
||||||||||||||||||||
Завантаження…
Бібліотека робіт порожня. Додайте першу позицію!
| # | Код/Артикул | Назва роботи | Люд. | Змін | Год/зм. | Норма год | Ціна, грн/год | Сума, грн | Дії | |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ (wl.page-1)*wl.per_page + idx + 1 }} | {{ item.article || '—' }} | {{ item.name_ua }} · {{ item.notes }} | {{ item.people_count }} | {{ item.days_nights }} | {{ item.hours }} | {{ fmtN(item.people_count * item.days_nights * item.hours) }} | {{ item.price_uah ? fmtN(item.price_uah) : '—' }} | {{ item.price_uah ? fmtN(item.people_count * item.days_nights * item.hours * item.price_uah) : '—' }} |
| # | Артикул | Назва | Од. | Ціна € | Дії | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ bundle.article || '—' }} | {{ bundle.name_ua }} · {{ bundle.description.split('\n')[0] }} | {{ bundle.unit }} | {{ bundle.price_eur ? fmtN(bundle.price_eur) : '—' }} | ||||||||||||||||||
|
Завантаження…
Набірка порожня
|
||||||||||||||||||||||
Завантаження…
Бібліотека витрат порожня. Додайте першу позицію!
| # | Код/Артикул | Назва | Режим | Люд. | Днів/ночей | Пробіг, км | Ціна, грн | Сума, грн | Дії | |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ (tl.page-1)*tl.per_page + idx + 1 }} | {{ item.article || '—' }} | {{ item.name_ua }} · {{ item.notes }} | {{ item.mode === 'km' ? 'км' : 'л/д' }} | {{ item.mode === 'km' ? '—' : item.people_count }} | {{ item.mode === 'km' ? '—' : item.days_nights }} | {{ item.mode === 'km' ? item.km_count : '—' }} | {{ item.price_uah ? fmtN(item.price_uah) : '—' }} | {{ item.price_uah ? fmtN(travelQty(item) * item.price_uah) : '—' }} |
| # | Назва | К-сть людей | Днів/ночей | Годин | Норм. ч. | Ціна, грн | Сума, грн | Сума, євро | Ціна кл. EUR | Маржа | ТКП | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ compIdx(comp, 'ПНР') }} {{ compIdx(comp, 'ПНР') }} | {{ comp.name_ua || '—' }} | {{ comp.people_count ?? 1 }} | {{ comp.days_nights ?? 1 }} | {{ comp.hours ?? 8 }} | {{ ((comp.people_count ?? 1) * (comp.days_nights ?? 1) * (comp.hours ?? 8)) }} | {{ fmtN(comp.price_uah) }} | {{ fmtN(calcComp(comp).sum_uah) }} | {{ fmtN(calcComp(comp).sell_eur) }} | {{ fmtN(calcComp(comp).client_eur) }} | {{ calcComp(comp).margin_pct != null ? calcComp(comp).margin_pct.toFixed(1) + '%' : '—' }} | |||
|
|
|||||||||||||
| Підсумок Роботи ПНР: | {{ fmtN(typeSum('ПНР', 'sell_eur')) }} | {{ fmtN(typeSum('ПНР', 'client_eur')) }} | |||||||||||
| # | Назва | К-сть людей | Днів/ночей | Кількість | К-сть км | Ціна, грн | Сума, грн | Сума, євро | Ціна кл. EUR | Маржа | ТКП | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ compIdx(comp, 'ПНР_ТР') }} {{ compIdx(comp, 'ПНР_ТР') }} | {{ comp.name_ua || '—' }} | {{ (comp.km_count || 0) > 0 ? '—' : (comp.people_count ?? 0) }} | {{ (comp.km_count || 0) > 0 ? '—' : (comp.days_nights ?? 0) }} | {{ (comp.km_count || 0) > 0 ? (comp.km_count || 0) : ((comp.people_count || 0) * (comp.days_nights || 0)) }} | {{ (comp.km_count || 0) > 0 ? comp.km_count : '—' }} | {{ fmtN(comp.price_uah) }} | {{ fmtN(calcComp(comp).sum_uah) }} | {{ fmtN(calcComp(comp).sell_eur) }} | {{ fmtN(calcComp(comp).client_eur) }} | {{ calcComp(comp).margin_pct != null ? calcComp(comp).margin_pct.toFixed(1) + '%' : '—' }} | |||
|
|
|||||||||||||
| Підсумок Проживання і транспорт ПНР: | {{ fmtN(typeSum('ПНР_ТР', 'sell_eur')) }} | {{ fmtN(typeSum('ПНР_ТР', 'client_eur')) }} | |||||||||||
| # | Назва | Пріоритет | Постачальник | Артикул | Од. | Ціна EUR | Ціна UAH | К-сть | Сума EUR | Сума UAH | CC EUR | Реал. EUR | Ціна кл. EUR | Маржа | Δ EUR | ТКП | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{ comp.name_ua || '(без назви)' }}
{{ subgroupSum(comp, compType) > 0 ? fmt(subgroupSum(comp, compType)) + ' €' : '' }}
|
|||||||||||||||||||||||||||||||||||
| {{ compIdx(comp, compType) }} {{ compIdx(comp, compType) }} |
{{ comp.name_ua || '—' }}
{ markDirty(); acSearch(e.target.value, comp, 'name', e.target) }" @blur="acClear()" />
{{ comp.name_ua || '—' }}
{{ comp.name_ua || '—' }}
{{ s.name_ua }}
|
|
{{ comp.supplier || '' }} |
{ markDirty(); acSearch(e.target.value, comp, 'article', e.target) }" @blur="acClear()" />
{{ comp.article || '' }}
{{ s.name_ua }}
|
{{ comp.unit || 'шт' }} | {{ fmtN(comp.price_eur) }} { comp.price_overridden = 1; markDirty(); }" /> {{ fmtN(comp.price_eur) }} {{ fmtN(comp.price_eur) }} | {{ fmtN((comp.price_eur || 0) * (project.eur_rate || 52)) }} | {{ comp.quantity }} | {{ fmtN(calcComp(comp).sum_eur) }} | {{ fmtN(calcComp(comp).sum_uah) }} | {{ fmtN(calcComp(comp).cc_eur) }} | {{ fmtN(calcComp(comp).sell_eur) }} | {{ fmtN(calcComp(comp).client_eur) }} | {{ calcComp(comp).margin_pct?.toFixed(1) }}% | {{ calcDopDelta(comp) > 0 ? '+' : '' }}{{ fmtN(calcDopDelta(comp)) }} — |
|
|||||||||||||||||||
| Замінює: {{ getDopRefLabel(comp.dop_replaces_ref) }} Самостійна опція | |||||||||||||||||||||||||||||||||||
|
Рядки з «- » або «• » → маркований список у ТКП. **текст** = жирний. Включіть галочку «опис» в колонці ТКП.
|
|||||||||||||||||||||||||||||||||||
|
ОМТС — закупівля
Всього к-сть: {{ omtsTotals(comp).totalQty }}
Всього сума з ПДВ: {{ fmtN(omtsTotals(comp).totalSumVat) }} грн
Економія: {{ (!comp.omts_entries || !comp.omts_entries.length) ? '0' : fmtN(calcComp(comp).sum_uah - omtsTotals(comp).totalSumVat) }} грн
Постачальники додаються під кожною позицією набірки
Дані ОМТС не заповнені
|
|||||||||||||||||||||||||||||||||||
| Обладнання | |||||||||||||||||||||||||||||||||||
| ⠿ | |||||||||||||||||||||||||||||||||||
| ⠿ | {{ bIdx + 1 }} {{ bIdx + 1 }} |
{ onBundleItemChange(comp); bItemAcSearch(comp, bIdx, e.target.value, e.target) }"
@blur="bItemAcClear(comp, bIdx)" />
{{ s.name_ua }}
|
{{ bItem.supplier }} | {{ bItem.article }} | {{ fmtN((bItem.price_eur||0) * (project.eur_rate||52)) }} | { bItem.quantity = Math.max(0.0001, (parseFloat(e.target.value)||1)/(comp.quantity||1)); onBundleItemChange(comp); }" @input="e => { bItem.quantity = Math.max(0.0001, (parseFloat(e.target.value)||1)/(comp.quantity||1)); onBundleItemChange(comp); }" /> | {{ fmtN(bItemRawSum(bItem)*(comp.quantity||1)) }} | {{ fmtN(bItemRawSum(bItem)*(comp.quantity||1)*(project.eur_rate||52)) }} | {{ fmtN(bItemMetrics(comp, bItem).cc) }} | {{ fmtN(bItemMetrics(comp, bItem).sell) }} | {{ fmtN(bItemMetrics(comp, bItem).client) }} | {{ bItemMetrics(comp, bItem).margin.toFixed(1) }}% | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||
|
ОМТС — закупівля
Всього к-сть: {{ omtsTotals(bItem).totalQty }}
Всього сума з ПДВ: {{ fmtN(omtsTotals(bItem).totalSumVat) }} грн
Економія: {{ (!bItem.omts_entries || !bItem.omts_entries.length) ? '0' : fmtN(bItemOmtsEconomy(comp, bItem)) }} грн
Дані ОМТС не заповнені
|
|||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
|
{{ s.name_ua }}
|
← введіть назву або артикул | ||||||||||||||||||||||||||||||||||
| Разом {{ compType }}: | {{ fmtN(typeSum(compType, 'sum_eur')) }} | {{ fmtN(typeSum(compType, 'sum_uah')) }} | {{ fmtN(typeSum(compType, 'cc_eur')) }} | {{ fmtN(typeSum(compType, 'sell_eur')) }} | {{ fmtN(typeSum(compType, 'client_eur')) }} | {{ dopDeltaTotal >= 0 ? '+' : '' }}{{ fmtN(dopDeltaTotal) }} € | |||||||||||||||||||||||||||||
| # | Назва | К-сть людей | Днів/ночей | Часов | Норм. ч. | Ціна, грн | Сума, грн | Сума, євро | Ціна кл. EUR | Маржа | ТКП | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{ comp.name_ua || '(без назви)' }}
{{ subgroupSum(comp, 'Р') > 0 ? fmt(subgroupSum(comp, 'Р')) + ' €' : '' }}
|
||||||||||||||
| {{ compIdx(comp, 'Р') }} {{ compIdx(comp, 'Р') }} |
{{ comp.name_ua || '—' }}
{{ comp.name_ua || '—' }}
|
{{ comp.people_count ?? 1 }} — | {{ comp.days_nights ?? 1 }} — | {{ comp.hours ?? 8 }} — | {{ ((comp.people_count ?? 1) * (comp.days_nights ?? 1) * (comp.hours ?? 8)) }} — | {{ fmtN(comp.price_uah) }} — | {{ fmtN(calcComp(comp).sum_uah) }} | {{ fmtN(calcComp(comp).sell_eur) }} | {{ fmtN(calcComp(comp).client_eur) }} | {{ calcComp(comp).margin_pct != null ? calcComp(comp).margin_pct.toFixed(1) + '%' : '—' }} |
|
|||
|
|
||||||||||||||
| Роботи | ||||||||||||||
| ⠿ | {{ bIdx + 1 }} | {{ (bItem.people_count||1)*(bItem.days_nights||1)*(bItem.hours||8) }} | {{ fmtN((bItem.price_uah||0)*(bItem.people_count||1)*(bItem.days_nights||1)*(bItem.hours||8) * (1+(bItem.coef_markup||0)/100) / (1-(bItem.coef_discount||0)/100 || 1)) }} | {{ fmtN(bItemWorkEffEur(bItem)) }} € | ||||||||||
|
|
||||||||||||||
| Разом Р: | {{ fmtN(typeSum('Р', 'sum_uah')) }} | {{ fmtN(typeSum('Р', 'sell_eur')) }} | {{ fmtN(typeSum('Р', 'client_eur')) }} | |||||||||||
| # | Назва | К-сть людей | Днів/ночей | Кількість | К-сть км | Ціна, грн | Сума, грн | Сума, євро | Ціна кл. EUR | Маржа | ТКП | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{ comp.name_ua || '(без назви)' }}
|
||||||||||||||
| {{ compIdx(comp, 'ВТ') }} {{ compIdx(comp, 'ВТ') }} |
{{ comp.name_ua || '—' }}
{{ comp.name_ua || '—' }}
|
{{ (comp.km_count || 0) > 0 ? '—' : (comp.people_count ?? 0) }} — | {{ (comp.km_count || 0) > 0 ? '—' : (comp.days_nights ?? 0) }} — | {{ (comp.km_count || 0) > 0 ? (comp.km_count || 0) : ((comp.people_count || 0) * (comp.days_nights || 0)) }} — | {{ (comp.km_count || 0) > 0 ? (comp.km_count || 0) : '—' }} — | {{ fmtN(comp.price_uah) }} — | {{ fmtN(calcComp(comp).sum_uah) }} | {{ fmtN(calcComp(comp).sell_eur) }} | {{ fmtN(calcComp(comp).client_eur) }} | {{ calcComp(comp).margin_pct != null ? calcComp(comp).margin_pct.toFixed(1) + '%' : '—' }} |
|
|||
|
|
||||||||||||||
| Відрядження та транспорт | ||||||||||||||
| ⠿ | {{ bIdx + 1 }} | — | — | {{ bItem.mode === 'km' ? (bItem.km_count || 0) : ((bItem.people_count || 1) * (bItem.days_nights || 1)) }} | — | {{ bItem.mode === 'km' ? fmtN((bItem.price_uah||0)*(bItem.km_count||0) * (1+(bItem.coef_markup||0)/100) / (1-(bItem.coef_discount||0)/100 || 1)) : fmtN((bItem.price_uah||0)*(bItem.people_count||1)*(bItem.days_nights||1) * (1+(bItem.coef_markup||0)/100) / (1-(bItem.coef_discount||0)/100 || 1)) }} | {{ fmtN(bItemTravelEffEur(bItem)) }} € | |||||||
|
|
||||||||||||||
| Разом ВТ: | {{ fmtN(typeSum('ВТ', 'sum_uah')) }} | {{ fmtN(typeSum('ВТ', 'cc_eur')) }} | {{ fmtN(typeSum('ВТ', 'client_eur')) }} | |||||||||||
.db).| # | Логін | ПІБ | Роль | Телефон | Посада | ||
|---|---|---|---|---|---|---|---|
| {{ i + 1 }} | {{ u.username }} | {{ u.full_name || '—' }} | {{ roleLabel(u.role) }} | {{ u.email || '—' }} | {{ u.phone || '—' }} | {{ u.position || '—' }} |