Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onOpen() {
- SpreadsheetApp.getUi()
- .createMenu("WB (аддон от @google_sheets)")
- .addItem('создать структуру', 'create_structure')
- .addSeparator()
- .addItem("загрузить остатки", "stock")
- .addItem("загрузить заказы", "orders")
- .addItem("загрузить продажи", "sales")
- .addItem("загрузить отчёт по реализации", "real")
- .addSeparator()
- .addItem('спарсить остатки и размеры из фронта', 'get_stock_size_site')
- .addItem('спарсить товары выбранного продавца', 'get_arts_supplier')
- .addSeparator()
- .addItem('выгрузить карточки для редактирования', 'get_wb_jsons')
- .addItem('отредактировать карточки', 'edit_wb_jsons')
- .addToUi();
- };
- function get_stock_size_site() {
- Logger.log(sender('get_stock_size_site', getArgsStocks()));
- };
- function get_arts_supplier() {
- Logger.log(sender('get_arts_supplier', getArgsSI()));
- };
- function stock() {
- sender('stock', getArgsApi());
- };
- function orders() {
- sender('orders', getArgsApi());
- };
- function sales() {
- sender('sales', getArgsApi());
- };
- function real() {
- sender('real', getArgsApi());
- };
- function get_wb_jsons() {
- sender('get_wb_jsons', getArgsEditArts());
- };
- function edit_wb_jsons() {
- sender('edit_wb_jsons', getArgsEditArts());
- };
- function getArgsApi() {
- var ss = SpreadsheetApp.getActive();
- var d = ss.getRange('⚙️!a9:c16').getValues();
- var dict = {
- k1: d[0][1],
- sales_from: d[6][0], sales_to: d[7][0],
- orders_from: d[6][1], orders_to: d[7][1],
- real_from: d[6][2], real_to: d[7][2],
- ssid: ss.getId(),
- email: Session.getActiveUser().getEmail()
- };
- return dict;
- };
- function getArgsEditArts() {
- var ss = SpreadsheetApp.getActive();
- var d = ss.getRange('изменение карточек!a2:b2').getValues()[0];
- var dict = {
- k2: d[0],
- supply_id: d[1],
- ssid: ss.getId(),
- email: Session.getActiveUser().getEmail()
- };
- return dict;
- };
- function getArgsStocks() {
- var ss = SpreadsheetApp.getActive();
- var d = ss.getRange('остатки и размеры!a2:b').getValues().filter(t => t[1]).map(f => f[0]);
- var dict = {
- nm: d,
- ssid: ss.getId(),
- email: Session.getActiveUser().getEmail()
- };
- return dict;
- };
- function getArgsSI() {
- var ss = SpreadsheetApp.getActive();
- var d = ss.getRange('карточки конкурента!a2').getValue().toString();
- var dict = {
- si: d,
- ssid: ss.getId(),
- email: Session.getActiveUser().getEmail()
- };
- return dict;
- };
- function sender(fnct, args) {
- var ss = SpreadsheetApp.getActive();
- var w_a_u = 'https://script.google.com/macros/s/AKfycbyVU9t1GuZcjT91IWIoJiXXiK98uw3vdfsyAGdqfn9lSjWzuY5x68j1r0RUtK6e1GI9qg/exec';
- args['fnct'] = fnct;
- var options = {
- 'method': 'post',
- 'contentType': 'application/json',
- 'payload': JSON.stringify(args)
- };
- Logger.log(UrlFetchApp.fetch(w_a_u, options));
- }
- function create_structure() {
- const current = SpreadsheetApp.getActive();
- const template = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1lPmRKkijJM99xoOjPX9tLZc59TsmuQv1uRYaLNfUgPg/edit#gid=2141280745');
- template.getSheets().forEach(sheet => {
- if (sheet.getName()[0] != '!') {
- const name = sheet.getName();
- current.getSheetByName(name) ? "" : sheet.copyTo(current).setName(name);
- }
- })
- const shl = ["Лист1", "Sheet1"];
- shl.forEach(r => {
- const sheet = current.getSheetByName(r);
- if (sheet) current.deleteSheet(sheet);
- });
- }
Add Comment
Please, Sign In to add comment