Savelyev_Vyacheslav

s_form

Oct 3rd, 2024 (edited)
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         s_form
  3. // @namespace
  4. // @version      0.1
  5. // @description  Make sayHello globally available
  6. // @author       You
  7. // @match        *://*/*
  8. // @grant        none
  9. // @run-at       document-start
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.     'use strict';
  14.     console.log('Script started');
  15.     let counter = 0;
  16.  
  17.     function initializeSForm() {
  18.         if (typeof s_widgets !== 'undefined' && s_widgets && !window.s_form) {
  19.             window.s_form = s_widgets.getForm('Default');
  20.             console.log('s_form initialized:', window.s_form);
  21.         } else {
  22.             console.log('s_widgets not available or s_form already initialized');
  23.         }
  24.     }
  25.  
  26.     // Проверка инициализации s_widgets каждые 500 мс
  27.     const checkInterval = setInterval(function() {
  28.         counter++;
  29.         initializeSForm();
  30.         if (window.s_form || counter >= 10) { // Увеличено количество итераций до 10
  31.             clearInterval(checkInterval); // Останавливаем проверку
  32.             console.log('Interval cleared, counter:', counter);
  33.         }
  34.         console.log('Counter:', counter);
  35.     }, 500);
  36. })();
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. // ==UserScript==
  45. // @name         Get Fields Column
  46. // @namespace
  47. // @version      1.0
  48. // @description  Сбор значений полей и вывод их в консоль
  49. // @author       Вы
  50. // @match        https://so.gloria-jeans.ru/*
  51. // @grant        none
  52. // ==/UserScript==
  53.  
  54. (function() {
  55.     'use strict';
  56. // https://support-dev.volgaflot.com/
  57.     // https://so.gloria-jeans.ru/*
  58.     // Ждем загрузки страницы
  59.  
  60.         // Добавляем задержку 2 секунды перед выполнением кода
  61.         setTimeout(function() {
  62.             // Массив полей
  63.             let fields = [
  64.                 "title",
  65.                 "full_text_search",
  66.                 "use_dynamic_default",
  67.                 "reference_qualifier_type",
  68.                 "comments",
  69.                 "active",
  70.                 "unique",
  71.                 "mandatory",
  72.                 "display_by_ref",
  73.                 "max_length",
  74.                 "default_value",
  75.                 "read_only",
  76.                 "column_name",
  77.                 "column_type_id",
  78.                 "table_id",
  79.                 "reference_id"
  80.             ]
  81.             // Функция для получения значений полей
  82.             function getFieldsValues(fieldsArray) {
  83.                 let result = {};
  84.  
  85.                 fieldsArray.forEach(field => {
  86.                     let value = s_form.getValue(field); // Получаем значение поля
  87.                     result[field] = value;              // Добавляем его в JSON объект
  88.                 });
  89.  
  90.                 return 'let fieldsJson = ' + JSON.stringify(result, null, 4) + `
  91.  function setFieldsValues(fieldsJson) {
  92.     for (let field in fieldsJson) {
  93.         if (fieldsJson.hasOwnProperty(field)) {
  94.             let value = fieldsJson[field];  // Получаем значение для текущего поля
  95.             s_form.setValue(field, value);  // Устанавливаем значение для поля
  96.         }
  97.     }
  98. }
  99. setFieldsValues(fieldsJson)
  100.                 `
  101.             }
  102.  
  103.             // Получаем значения полей
  104.             let fieldValues = getFieldsValues(fields);
  105.  
  106.             // Выводим значения в консоль
  107.             console.log(fieldValues);
  108.         }, 2000); // Задержка 2 секунды (2000 миллисекунд)
  109.  
  110. })();
  111.  
  112.  
Advertisement
Add Comment
Please, Sign In to add comment