function EditRow() {
const target_column = 'D:D';// при запуске функции вы берете весь столбец D
const sheet = SpreadsheetApp.getActiveSheet();
const col = sheet.getRange(target_column);// Берете диапазон в виде этого столбца
const lr = getColLastRow(col);
const lastDate = new Date().valueOf();
const row = col.getRow();//Берете номер строки
const column = col.getColumn();//Берете номер столбца(букву)
var values = sheet.getRange(1,col.getColumn(),lr,col.getColumn()).getValues();
for (var i = lr; i >= 1; i--) {//Запускаете цикл с последней записи до начала, перебирая строки
var d = values[i-1];
if (typeof d == 'object' & lastDate > new Date(d).valueOf()) {
sheet.getRange(row, column).setBackground('#4a86e8');// а вот тут вы красите по переменным row и column, которые определены ДО старта цикла и они остаются постоянными.
}
}
};
class HeroCard(db.Model):
id = db.Column(db.Integer, primary_key=True, nullable=False)
heroid = db.Column(db.Integer, ForeignKey('hero.id'))
cardid = db.Column(db.Integer, ForeignKey('card.id'))
count = db.Column(db.Integer)
db.UniqueConstraint(heroid, cardid, name='hero_card_un')
upd = insert(HeroCard).values(heroid=id, cardid=cid, count=count)
do_upd_upd = upd.on_conflict_do_update(constraint='hero_card_un', set_={'count': HeroCard.count+count})
db.session.execute(do_upd_upd)
db.session.commit()