fr = f.readlines()
. Он построчно прочитает всё содержимое файла в список, и сохранит список в переменную fr. При этом текущая позиция окажется в конце файла - ты же прочитал всё содержимое.Выборка=Справочники.Варианты_головных_уборов.Выбрать();
Пока Выборка.Следующий() Цикл
Макс2=0;
Для каждого а из Выборка.ТабличнаяЧасть1 Цикл
Если Макс2>а.Количество_материалов тогда
Макс2=а.Количество_материалов;
КонецЕсли;
КонецЦикла;
Сообщить(макс2.Количество_материалов);
КонецЦикла;
Запрос = Новый Запрос("Выбрать Первые 1
|т.Ссылка как ВариантГоловногоУбора,
|Максимум(т.Количество_материалов) как МаксимальноеКоличествоМатериалов
|Из Справочник.Варианты_головных_уборов.ТабличнаяЧасть1 как т
|Сгруппировать по т.Ссылка
|Упорядочить по МаксимальноеКоличествоМатериалов Убыв");
РезультатВыборка = Запрос.Выполнить().Выбрать();
Если РезультатВыборка.Следующий() Тогда
Сообщить("Вариант:"+РезультатВыборка.ВариантГоловногоУбора+", Количество материалов:"+РезультатВыборка.МаксимальноеКоличествоМатериалов);
КонецЕсли;
Почему row[0] обращается к None объекту?Потому что в row None. А почему в row None? Потому что None вернул sql запрос. Элементарная же логика
ppls = [('user1', 73), ('user2', 43), ('user3', 39), ('user4', 37), ('user5', 27),
('user6', 22), ('user7', 11), ('user8', 10), ('user9', 10), ('user10', 9)]
string = 'ТОП 10 ИГРОКОВ:\n'
for ppl in ppls:
string += f'{ppl[0]} - {ppl[1]}\n'
print(string)
@bot.callback_query_handler(text=['city1'])
@bot.callback_query_handler(Text(startswith='city_'))
async def main():
logging.basicConfig(level=logging.INFO)
async with ClientSession() as session: # сессию лучше по сто раз не создавать
check_task = asyncio.create_task(check_loop(session)) # создай её однажды и передай в check_loop
try:
bot = Bot(
token='"'
)
await dp.start_polling(bot)
finally:
check_task.cancel() # внутри check_loop() сгенерируется прерывание asyncio.CancelledError