Автонумератор в Google Tabs

  • Автор темы Автор темы egorus2010
  • Дата начала Дата начала

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 583
Реакции
54

Там же прилепил и вопрос.

Готов выслушать 9 саркастических ответов и 1 по делу.
Где-то так...Спасибо.
 
Что это и кому это?
 
  • Спасибо
Реакции: ~RA~
Можно ли решить такую задачу?
 
Может, это не скрипт , а как-то по другому...
Может, справа еще один столбик с флажком, типа "Назначить номер" и по его установке уже выполнится этот расчет.

Кстати, можно при установке флажка его сразу при отработке скрипта заблокировать от изменений? Чтобы не тыкали много раз
 
Может, это не скрипт , а как-то по другому...
Может, справа еще один столбик с флажком, типа "Назначить номер" и по его установке уже выполнится этот расчет.

Кстати, можно при установке флажка его сразу при отработке скрипта заблокировать от изменений? Чтобы не тыкали много раз
Ну здесь все, как в экселе:
=CONCATENATE("003";"-";row();"-";day(now());".";MONTH(now());".";year(now()))

row() - берет номер строки
 
Ну здесь все, как в экселе:
=CONCATENATE("003";"-";row();"-";day(now());".";MONTH(now());".";year(now()))

row() - берет номер строки
Так главное, чтобы в нумерации использовался Счетчик с автоинкрементом, так сказать.
У каждого Заказчика свой Счетчик Спусков, записанный в колонку на листе Заказчик.
Как БД..
Первоначально он у всех равен 001.
При формировании номера скриптом, он (скрипт) делает номер, а значение Счетчика у соответствующего клиента увеличивает на 1
 
На вкладке заказчик создаете кнопку, назначаете ей макрос.
Макрос смотрит активную ячейку (она должна быть выбрана).
Берет из активной строки код заказчика, и поле счетчик.
На листе спусков создает в самом низу новую строку из этих значений.
На листе заказчика меняет поле счетчик на +1.
Вот вам как создать кнопку:
 
  • Спасибо
Реакции: egorus2010
Вот знал бы, как писать макросы - спрашивал бы :)
Пока я научился затенять сообщения на форуме
Я очень редко пишу макросы для гугл таблиц. Последний раз для телеграм-бота писал.
Поэтому гугл в помощь.
Вопрос гуглу: google docs script номер выделенной ячейки.
Ответ: SpreadsheetApp.openById(SHEET_ID).getActiveCell().getRow()
Если какой метод в строке непонятен -- опять в гугл.
 
Вот вам еще в помощь из моего кода:
const DOC = SpreadsheetApp.openById("1BzAbAS7FE1Q7U4kXFN5FPSIDXjEUPzmjtB6YSSQsvC0"); переменной присваивается ссылка на вашу книгу по ее ID
const Test = DOC.getSheetByName("proba"); -- переменной присваивается ссылка на лист с именем: proba

для отладки используйте Logger.log
На хабре много статей, как начать писать скрипты в гугл доках. Вот пример: Google Apps Script: переносим расписание из таблицы в календарь
 
Напишу, на всякий случай, более конкретно.

На листе Список Спусков выбирает из выпадающего списка Заказчик Имя заказчика
Вводит дату в столбце Дата спуска
Ставит флажок рядом.

Скрипт:
Узнает Номер Заказчика на листе Заказчик по имени выбранного на листе Список Спусков Заказчика.
Запоминает Счетчик этого Заказчика.
на листе Список Спусков в выделенной строке с нажатым флажком в колонке Номер Спуска формирует номер:
Номер Заказчика-Счетчик-Дата.

После этого блокирует флажок.
Значение соответствующего счетчика на листе Заказчик увеличивает на 1.

Номера должны быть 3-значными (кроме даты).
001-001-070623
 
Последнее редактирование:
Даже еще капельку проще...
На листе "Список Спусков" оператор выбирает из выпадающего списка "Заказчик" "Имя заказчика"
Вводит дату в столбце "Дата спуска"
Ставит флажок рядом.

Скрипт:
Узнает "Номер Заказчика" на листе "Заказчик" по имени выбранного на листе "Список Спусков" Заказчика.

Значение соответствующего счетчика на листе "Заказчик" скрипт увеличивает на 1.
(Изначально все счетчики равны 0)

на листе "Список Спусков" в выделенной строке с нажатым флажком в колонке "Номер Спуска" формирует номер:
Номер Заказчика-Счетчик-Дата.

После этого блокирует флажок.

Номера должны быть 3-значными (кроме даты).
001-001-070623