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

egorus2010

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

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

Готов выслушать 9 саркастических ответов и 1 по делу.
Где-то так...Спасибо.
 

George

I wish I was a monster you think I am
15 лет на форуме
Сообщения
17 323
Реакции
7 870
Что это и кому это?
 
  • Спасибо
Реакции: ~RA~

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 520
Реакции
51
Можно ли решить такую задачу?
 

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 520
Реакции
51
Может, это не скрипт , а как-то по другому...
Может, справа еще один столбик с флажком, типа "Назначить номер" и по его установке уже выполнится этот расчет.

Кстати, можно при установке флажка его сразу при отработке скрипта заблокировать от изменений? Чтобы не тыкали много раз
 

eugeny

15 лет на форуме
Сообщения
859
Реакции
210
Может, это не скрипт , а как-то по другому...
Может, справа еще один столбик с флажком, типа "Назначить номер" и по его установке уже выполнится этот расчет.

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

row() - берет номер строки
 

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 520
Реакции
51
Ну здесь все, как в экселе:
=CONCATENATE("003";"-";row();"-";day(now());".";MONTH(now());".";year(now()))

row() - берет номер строки
Так главное, чтобы в нумерации использовался Счетчик с автоинкрементом, так сказать.
У каждого Заказчика свой Счетчик Спусков, записанный в колонку на листе Заказчик.
Как БД..
Первоначально он у всех равен 001.
При формировании номера скриптом, он (скрипт) делает номер, а значение Счетчика у соответствующего клиента увеличивает на 1
 

eugeny

15 лет на форуме
Сообщения
859
Реакции
210
На вкладке заказчик создаете кнопку, назначаете ей макрос.
Макрос смотрит активную ячейку (она должна быть выбрана).
Берет из активной строки код заказчика, и поле счетчик.
На листе спусков создает в самом низу новую строку из этих значений.
На листе заказчика меняет поле счетчик на +1.
Вот вам как создать кнопку:
 
  • Спасибо
Реакции: egorus2010

eugeny

15 лет на форуме
Сообщения
859
Реакции
210
Вот знал бы, как писать макросы - спрашивал бы :)
Пока я научился затенять сообщения на форуме
Я очень редко пишу макросы для гугл таблиц. Последний раз для телеграм-бота писал.
Поэтому гугл в помощь.
Вопрос гуглу: google docs script номер выделенной ячейки.
Ответ: SpreadsheetApp.openById(SHEET_ID).getActiveCell().getRow()
Если какой метод в строке непонятен -- опять в гугл.
 

eugeny

15 лет на форуме
Сообщения
859
Реакции
210
Вот вам еще в помощь из моего кода:
const DOC = SpreadsheetApp.openById("1BzAbAS7FE1Q7U4kXFN5FPSIDXjEUPzmjtB6YSSQsvC0"); переменной присваивается ссылка на вашу книгу по ее ID
const Test = DOC.getSheetByName("proba"); -- переменной присваивается ссылка на лист с именем: proba

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

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 520
Реакции
51
Напишу, на всякий случай, более конкретно.

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

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

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

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

egorus2010

Топикстартер
12 лет на форуме
Сообщения
1 520
Реакции
51
Даже еще капельку проще...
На листе "Список Спусков" оператор выбирает из выпадающего списка "Заказчик" "Имя заказчика"
Вводит дату в столбце "Дата спуска"
Ставит флажок рядом.

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

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

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

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

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