Викиучебник ruwikibooks https://ru.wikibooks.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 MediaWiki 1.47.0-wmf.24 first-letter Медиа Служебная Обсуждение Участник Обсуждение участника Викиучебник Обсуждение Викиучебника Файл Обсуждение файла MediaWiki Обсуждение MediaWiki Шаблон Обсуждение шаблона Справка Обсуждение справки Категория Обсуждение категории Полка Обсуждение полки Импортировано Обсуждение импортированного Рецепт Обсуждение рецепта Задача Обсуждение задачи TimedText TimedText talk Модуль Обсуждение модуля Event Event talk Викиучебник:Общий форум 4 1253 270355 270347 2026-10-13T17:07:02Z Def2010 48479 /* Что тут */ Ответ 270355 wikitext text/x-wiki {{Участник:Kylaixbot/ArchiveConfig |archive = Викиучебник:Общий форум/Архив/%(year)d |algo = old(60d) |counter = 1 }} {{Форум}} {{Архив-П |2005-2007|2008|2009-2010|2011-2012|2013|2014|2015|2016|2018|2019|2020|2021|2022|2023|2024|2025}} {{Актуально}} == Что тут == Тут есть кто живой? — [[Участник:Medyanowsky|Medyanowsky]] ([[Обсуждение участника:Medyanowsky|обсуждение]]) 08:12, 13 октября 2026 (UTC) :В чем вопрос? [[Участник:Def2010|Def2010]] ([[Обсуждение участника:Def2010|обсуждение]]) 17:07, 13 октября 2026 (UTC) == Извинения, что задержался == Извиняюсь, что закопался, но я чет своего бота @[[Участник:Kylaixbot|Kylaixbot]] не могу починить из-за приколов Тулфорджа. Они там обновили политику venv и у меня никак не получается нормально запустить моего бота. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:52, 14 июня 2026 (UTC) :Я оказался достаточно оперативен и бот заработал [[Участник:Kylaixbot|Kylaixbot]] ([[Обсуждение участника:Kylaixbot|обсуждение]]) 14:27, 26 июля 2026 (UTC) == Шаблон может быть улучшен == По определению, большинство учебников пишут по книгам; шаблон Книга работает здесь безупречно. По стечению обстоятельств пришлось использовать шаблон Статья. Видимо, он не точно соответствует этому шаблону в википедии: ISSN (и отчасти PMID и PMC) работает не так, как в википедии. А в [[Шаблон:Статья/Документация| документации]] не написано, что есть отличия (issn): фрагмент кода: . . . место=Москва|год=2016|номер=8|issn=0131-2618|страницы=74—79|pmid=24006620|pmc=PMC1234567}} ISSN 0131-2618, PMID 24006620</ref> его отображение: Москва, 2016. — № 8. — С. 74—79. — ISSN Шаблон:ISSN search link. — Шаблон:PMID. — Шаблон:PMC. ISSN 0131-2618, PMID 24006620 + сообщения ниже красным шрифтом: Шаблон:ISSN search link (править) ... Шаблон:PMID (править) ... Шаблон:PMC (править) Если можно без больших трудозатрат устранить отличия в шаблонах от википедии, прошу Вас это сделать, как сможете. Спасибо [[Служебная:Вклад/&#126;2026-31604-77|&#126;2026-31604-77]] ([[Обсуждение участника:&#126;2026-31604-77|обс.]]) 17:46, 29 мая 2026 (UTC) : А можете где-то им воспользоваться и пингануть меня плиз? Я поправлю шаблон<br> P.s.: последний раз, судя по истории, я его и его подшаблоны импортировал в феврале 2025 года. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:50, 14 июня 2026 (UTC) == Тип блюда (P8431 course) == в элементе викиданных, связанном со страницей рецепта, можно добавить поле Тип блюда (P8431 course). в викиданных данное свойство имеет ограниченное количество значений: закуска, первое блюдо, суп, салат, рыба, второе блюдо, десерт, соус, завтрак, пирог, гарнир... после указания в поле нужного значения, рецепт будет размещен в аналогичной категории. но у нас в кулинарной книге есть аналогичные категории, только во множественном числе, например, Закуски, Вторые блюда, Салаты... в результате получается двойная категоризация и двойное отображение в кулинарной книге. есть идеи, что с этим можно сделать? переименовать в викиданных эти значения - перевести во множественное число? — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 16:00, 26 мая 2026 (UTC) : Я не знаю [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:46, 28 мая 2026 (UTC) : Оооо да! Я давно заметил это и в прошлых темах предлагал к обсуждению этот вопрос. Я сторонник стандарта Викиданных, банально потому что это стандартизировано под Википедию. Но вот другие что об этом думают? <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:47, 14 июня 2026 (UTC) :: Я за викиданные, но что делать - переименовывать или нет - не знаю. Есть возможсноть оставить в единственном числе в ВД, а категории иметь в множественном? [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 16:53, 15 июня 2026 (UTC) ::: Кажется нет. Это невозможно будет автоматизировать <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 00:09, 16 июня 2026 (UTC) == Полки в Кулинарной книге == можно ли в кулинарной книге сделать еще одну корневую полку и как? например, полку Кулинарные процессы, аналогично Ингредиенты — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 13:59, 26 мая 2026 (UTC) : И на этот вопрос я не знаю ответа [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:46, 28 мая 2026 (UTC) : эээээ, можно...<br> но что там будет? Примерно? <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:44, 14 июня 2026 (UTC) == [[Викиучебник:Каталог учебников/Список]] == не обновляется — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 08:36, 22 мая 2026 (UTC) : тэкс, значит бот мой сломался. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 13:34, 22 мая 2026 (UTC) == [[Шаблон:К быстрому удалению|Шаблон:КБУ]] == как часто удаляются страницы, помеченные этим шаблоном? их удаляет бот или админ вручную? — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 07:28, 22 мая 2026 (UTC) : Админ. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:48, 22 мая 2026 (UTC) :кто-то из админов или подводящих итоги может пройтись и удалить [https://ru.wikibooks.org/wiki/Служебная:Ссылки_сюда?target=Шаблон%3AК+быстрому+удалению&namespace=&limit=500 статьи с данным шаблоном] в основном пространстве и пространстве полок? частично это нужно, чтобы переименовать другие страницы + пустые страницы/полки. [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 08:25, 23 мая 2026 (UTC) :: Ну, я не админ, надо Лексея пингануть @[[Участник:Leksey|Leksey]] [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 14:17, 24 мая 2026 (UTC) :: Удалил! :: @[[Участник:Kylaix|Kylaix]] посмотри, плиз, почему в категорию включило статьи, где только ссылка на шаблон. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 21:49, 25 мая 2026 (UTC) :::не могу переименовать [[Введение в дифференциальные уравнения]] в Дифференциальные уравнения - "Переименование невозможно: страница с таким именем уже существует". но я не нашла такой страницы [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 09:56, 28 мая 2026 (UTC) :::: Она в перенаправлении <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 17:12, 28 мая 2026 (UTC) ::::: [[Дифференциальные уравнения]] удалена и нет на этом месте перенаправления [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:42, 28 мая 2026 (UTC) ::::: там СО была и она мешала [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:44, 28 мая 2026 (UTC) :::: переименовал [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:45, 28 мая 2026 (UTC) :::аналогично не могу переименовать [[Постулат Бертрана]] в Теория чисел/Постулат Бертрана [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 09:57, 28 мая 2026 (UTC) :::: переименовал [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:44, 28 мая 2026 (UTC) ::: @[[Участник:Leksey|Leksey]] Если в Ссылки сюда нажать кнопки Скрыть ссылки и Скрыть перенаправления , то будет показываться только включения, то есть только страницы которые надо удалить. Вот ссылка: https://ru.wikibooks.org/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D1%81%D1%8B%D0%BB%D0%BA%D0%B8_%D1%81%D1%8E%D0%B4%D0%B0?target=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%3A%D0%9A+%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%BC%D1%83+%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E&namespace=&hidelinks=1&hideredirs=1&limit=50 [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 11:11, 29 мая 2026 (UTC) == Сколько уровней полок поддерживается? == например, в [[Викиучебник:Каталог учебников/Список]]? Сейчас только два уровня, например, Языки - Языки Европы. А может быть 3-й, 4-й и т.д уровни? — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 17:13, 21 мая 2026 (UTC) : По идее - да, там вроде бесконечная вложенность, главное только правильно оформлять полки. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:50, 14 июня 2026 (UTC) == [[Полка:Компьютеры]] == все доп. полки почему-то задублированы, например, Программирование фигурирует дважды — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 09:50, 21 мая 2026 (UTC) :исправила через Править код [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 10:22, 21 мая 2026 (UTC) : О, спасибо что убрали. Ранее они просто добавлялись в ручную. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 13:36, 22 мая 2026 (UTC) == Не обновляются Полки == 1. Дополнительные полки: [[Полка:Теория чисел]], на ней лежит учебник [https://ru.wikibooks.org/wiki/Теория_чисел Теория чисел], но в учебнике в шаблоне Название учебника указана категория не Теория чисел, а Математика (я ее сделала доп. полкой на основной полке Формальные науки). почему учебник таки находится на данной полке? из-за того, что у него внизу указана категория Теория чисел? аналогично [[Полка:Дифференциальные уравнения]], [[Полка:Математический анализ]], [[Полка:Алгебра]], [[Полка:Занимательная математика]]. 2. Основные полки: [[Полка:Компьютеры]], [[Полка:Естественные науки]], [[Полка:Языки]], [[Полка:Досуг]], [[Полка:Техника]], [[Полка:Гуманитарные науки]] существует ли бот, который обновляет полки? уже прошло несколько дней, но полки не обновились, кнопка Очистить кэш не помогает — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 07:55, 21 мая 2026 (UTC) == [[Теория музыки для математиков]] == в шаблоне Название учебника две Категории - Музыка, Математика но на полке [[Полка:Математика|Математика]] он не появляется почему? потому что это Основная полка? нужно указать вместо нее Дополнительную полку в шаблоне? — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 18:24, 20 мая 2026 (UTC) : Последнее верно. Это основная полка а требуется дополнительная полка. Я правда не знаю как ее можно было назвать, но раздел бы стоило создать. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 19:11, 20 мая 2026 (UTC) == КУ == [[Викиучебник:К удалению/Май 2026]] Прошу всех обратить внимание. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:31, 20 мая 2026 (UTC) :создала в вики страницу [[w:Биографический_метод|Биографический метод]] :может, их связать? и поставить в учебнике шаблон, что это заготовка. может, кто заинтересуется и начнет наполнять учебник? [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 18:36, 20 мая 2026 (UTC) == Полка и категория == чем отличается [[Полка:Математика]] от [https://ru.wikibooks.org/wiki/Категория:Математика Категория:Математика]? зачем нужны полки? почему не ограничиться только категориями? например, сгласно полкам учебных пособий 2 шт, согласно категориям находится еще 100 шт учебных пособий ... — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 18:26, 19 мая 2026 (UTC) : Категорию проставляют в статьях, на полке же список статей. К тому же, зачем традиции ломать? [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:32, 20 мая 2026 (UTC) ::выглядит, как дублирующий инструмент ::тем паче, что рецепты на категориях строятся [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 18:21, 20 мая 2026 (UTC) ::: Иронично что вы оба правы. Категории, по сути, помогают работе шаблонов и модулей для организации каталога учебников. А каталог учебников кажется сейчас наиболее удобным средством для поиска нужных книг. Было бы круто не использовать категории, но к сожалению иначе организовать полки было бы невозможно или, как минимум, труднее на порядок. Ну и да, + это еще и дань традициям - в Википедии, к примеру, они до сих пор используются. ::: Кстати, напоминаю, что категории в статьях проставляются через {{tl|Название учебника}} и для рецептов через {{tl|Рецепт}}. Касательно разницы в полках и категориях: просто те 98 учебников еще не обработаны через эти шаблоны. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 19:08, 20 мая 2026 (UTC) == Страницы учебника на полке == на полке [[Полка:Математика|Математика]] есть полка [[Полка:Теория чисел|Теория чисел]] на ней лежит учебник [[Теория чисел]] и страница из учебника [[Теория чисел/Постулат Бертрана]] что не есть правильно - на полке должны быть только учебники аналогично на полке [[Полка:Дифференциальные уравнения|Дифференциальные уравнения]] как удалить страницы учебника с полки? — [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 07:03, 19 мая 2026 (UTC) : Привет.<br> Я пока не знаю причину, ищу ошибку в шаблонах. Тем не менее, большая просьба либо создавать эти учебники уже на существующих полках, либо же переименовать их так, чтобы не совпадали с названием полки. Это может быть одной из причин. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 07:40, 19 мая 2026 (UTC) :: Подтверждаю. Учебники не стоит называть одинаково с названием полки. Более того, не стоит создавать отдельные полки для каждого учебника. Я оставил лишь полку с теорией чисел, учебник про диффуры перенес в полку матанализа. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 08:01, 19 мая 2026 (UTC) :::спасибо! :::но дифференециальные уравнения - это не матан, это отдельный [[w:Разделы_математики#Математика_как_учебная_дисциплина|учебный раздел математики]] :::поэтому для него была создана своя полка :::иначе можно обойтись вообще без полок и все учебники размещать на полке Математика [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 09:05, 19 мая 2026 (UTC) :::: Ну, я понимаю что его в целом выделяют, но тут проблема именно Викиучебника. У нас пока* мало книг и имеет смысл их пока отводить в гораздо более крупные разделы, чем это делается в науке.<br> <nowiki>*</nowiki>надеюсь все же мы сможем хотя бы перевести достаточное количество книг, а еще лучше написать сами в ближайшее время. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 09:27, 19 мая 2026 (UTC) :::::тогда можно сделать полку Другие разделы :::::в нее отнести все, что не Алгебра и не Геометрия [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 09:30, 19 мая 2026 (UTC) :::::: Хорошо, сделаю. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 09:41, 19 мая 2026 (UTC) :::::::я все перенесла в Алгебру/Геометрию [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 13:05, 19 мая 2026 (UTC) :::::::ненужные страницы пометила КБУ в пространствах - Основное, Полка [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 13:55, 19 мая 2026 (UTC) == Как привязать учебник к другой полке? == например, [[Дифференциальные уравнения]] к полке [[Полка:Дифференциальные уравнения|Дифференциальные уравнения]]— [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 17:46, 17 мая 2026 (UTC) : @[[Участник:Kylaix|Kylaix]] ответишь? [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:50, 17 мая 2026 (UTC) :или достаточно в учебнике в шаблоне "Название учебника" указать нужные значения в Категория? и бот привяжет учебник, куда нужно? в какой время отрабатывает бот? явно, сразу не после правки Категория [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 10:02, 18 мая 2026 (UTC) :: Да да да, в категорию просто вписываете полку и бот пройдет (один раз в день делает проходку) и ваша книга попадет на полку. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 14:44, 18 мая 2026 (UTC) == CAPTCHA == при сохранении правок возникает: CAPTCHA: Для редактирования страницы, пожалуйста, введите буквы, которые видны на изображении ниже это из-за того, что я новичок? или так всегда будет?— [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 16:29, 17 мая 2026 (UTC) : Никогда такого не видел. Конечно пройдет. : А можете кинуть на почту скриншот leksey@ya.ru<br> Интересно посмотреть даже. : Я посмотрю, может вам можно статус подкрутить руками, но вроде я такого не видел. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:49, 17 мая 2026 (UTC) : Попытался поменять вам группу, но все что мне дает это. Наверное, когда вы попадете в группу "Автоподтвержденные", то отпустит. Как это работает - я не знаю. У вас же по идее глобальный аккаунт и специально в Учебнике вы вчера условно не регились? : {{Цитата|Группы, которые вы можете изменять<ul><li>исключение из IP-блокировок</li><li>организаторка мероприятий</li></ul>}} [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:55, 17 мая 2026 (UTC) : Посмотрел у себя - я состою в неяавной группе [[Викиучебник:Автоподтверждённые участники]] : 4 дня стажа хочет после отдельной регистрации в Викиучебнике : {{Цитата|В случае регистрации [[w:Википедия:Единая_учётная_запись|в другом проекте]] фонда [[w:Викимедиа|Викимедиа]] и стаж, и правки отсчитываются в нашем разделе отдельно: эти статусы в разных проектах между собой не связаны.}} [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:57, 17 мая 2026 (UTC) :: Вот и настройка, что за это отвечает https://noc.wikimedia.org/wiki.php?wiki=ruwikibooks#wgAutoConfirmAge [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 18:01, 17 мая 2026 (UTC) : Пропала у вас капча? [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 19:01, 19 мая 2026 (UTC) == [[Теория чисел]] == создала [[Полка:Теория чисел]], и учебник [[Теория чисел]] но они не связаны, как их связать?— [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 19:47, 15 мая 2026 (UTC) :уже связались [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 10:03, 18 мая 2026 (UTC) == [[Полка:Теория чисел]] == создала [[Полка:Теория чисел]], но она не появилась визуально внутри [[Полка:Математика]] что делать?— [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 19:45, 15 мая 2026 (UTC) :Неудачно попробовал, может появится кто-то из админов. Подозреваю, что, возможно, там используются викиданные для этого, надо уточнить. [[Участник:Def2010|Def2010]] ([[Обсуждение участника:Def2010|обсуждение]]) 11:01, 16 мая 2026 (UTC) :Как-то коряво добавил, список определяется страницей [[Викиучебник:Каталог учебников/Список]]. [[Участник:Def2010|Def2010]] ([[Обсуждение участника:Def2010|обсуждение]]) 11:18, 16 мая 2026 (UTC) :: Список определяется ботом в проходке, лучше его не трогать (по возможности, конечно же)<br> Там вся суть в кэше, часто после добавления чего-либо теперь в каталоге или где-либо еще надо обновить кэш, чтобы заработало. В целом, все полки кажется появились, хотя там есть некоторые странности с тем, что некоторые полки не существуют. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 14:42, 18 мая 2026 (UTC) :::Да, там вроде сутки прошли после добавления перед моими правками, но бот не стал добавлять в список. [[Участник:Def2010|Def2010]] ([[Обсуждение участника:Def2010|обсуждение]]) 20:42, 18 мая 2026 (UTC) :::: Что странно. Надо будет мне весь код проверить, и кажется я в свое время не все там доработал. Может быть из-за этого. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 07:40, 19 мая 2026 (UTC) == Флаг бота == Прошу присвоить флаг бота [[Участник:Taratarussia's Bot|моему боту]]. Бот будет откатывать мат в статьях Викиучебника. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 16:39, 11 мая 2026 (UTC) : @[[Участник:Leksey|Leksey]] @[[Участник:Kylaix|Kylaix]] [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 16:39, 11 мая 2026 (UTC) :: @[[Участник:Валерий Стариков|Валерий Стариков]] [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 16:46, 11 мая 2026 (UTC) :: Я не знаю как это делать, но, наверное, разберусь. :: Но я не уверен, что такой бот нужен. Вроде нет проблемы с матом как таковой. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 22:33, 11 мая 2026 (UTC) ::: Я тоже так думаю, но, НО, пока он будет мат откатывать, а позже я расширю функционал. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 11:27, 12 мая 2026 (UTC) : Привет. Код хороший, но насколько актуально использовать это, если есть фильтры? И еще вопрос: вы его с консоли хотите использовать? Я бы рекомендовал для ботов использовать Toolforge <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 17:27, 11 мая 2026 (UTC) :: Я только знаю как запускать с консоли [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 17:53, 11 мая 2026 (UTC) ::: @[[Участник:Kylaix|Kylaix]] [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 17:53, 11 мая 2026 (UTC) ::: Не переживайте за это, я могу вам помочь перенести на toolforge, это не сложно. Вопрос только состоит в актуальности <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 19:56, 11 мая 2026 (UTC) :::: @[[Участник:Kylaix|Kylaix]] Спасибо за помощь, я готов перенести, время есть. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 11:29, 12 мая 2026 (UTC) ::::: @[[Участник:Leksey|Leksey]] что думаешь? <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 14:14, 12 мая 2026 (UTC) :::::: @[[Участник:Kylaix|Kylaix]] Я зарегистрировался на Toolforge и подал заявку на участие. Краткое описание написал на русском языке. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 15:10, 12 мая 2026 (UTC) ::::::: А вы на нейронке пишете бота? <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 16:53, 12 мая 2026 (UTC) :::::::: В общем, да. Я не умею учебники писать, а пользу проекту приносить хочу. Единственный выход — боты. Но питон я не знаю, поэтому использую нейросети. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 16:55, 12 мая 2026 (UTC) ::::::::: Я сам ботовод, подумаю что вам придумать в задачи. Сам хотя и знаю питон, писал @[[Участник:Kylaixbot|Kylaixbot]] при помощи ИИ <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 19:00, 12 мая 2026 (UTC) ::::::::: Мне кажется, проекту нужны авторы. Остальное все пока нет авторов - несущественно и не нужно. А авторы вряд ли появятся так как проект не закрывает какие-то насущные задачи людей. Или же людй вполне устраивают другие платформы и способы обучения. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 19:01, 12 мая 2026 (UTC) :::::::::: У меня нет телеграма. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:16, 13 мая 2026 (UTC) ::::::::::: Раз важны статьи, я могу заняться переводами с других проектов. Но думаю, что лучше чтобы был бот, так на фоне, если вдруг что будет, то сможет откатить. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:24, 13 мая 2026 (UTC) :::::::::::: Я не уверен, что переводы автоматические нужны. Сейчас любой сам может себе что угодно перевести одним или тремя нажатиями. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 20:17, 13 мая 2026 (UTC) :::::: Я думаю, что нам это не надо. Так как я не вижу пробемы вандализма с матом конкретно. :::::: Актуален вопрос отката всего вклада вандала "одним нажатием", но скрипт из Википедии у нас тут не работает. Вот его бы заставить работать. :::::: Также имеет смысл уведомлять администратора (через СО или через телеграм) о самих фактах вандализма, чтобы он пришел и откатил все. Той самой одной кнопкой. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 18:31, 12 мая 2026 (UTC) ::::::: Можно попробовать сделать бота, который будет откатывать все правки заблокированных участников. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:16, 13 мая 2026 (UTC) :::::::: Трудновато. Не всегда вклад негативный. Можно конечно по причине блокировки ловить (вандализм). Было бы круто если бы попробовали написать бота, а я гляну его, вот тогда стоит дать флаг. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 15:51, 13 мая 2026 (UTC) ::::::::: Опишите подробнее что хотите, и попробую что-либо сделать. С уважением, [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 18:53, 13 мая 2026 (UTC) :::::::: Я предпочту откатывать скриптом вручную, но надо чтобы он заработал. Есть JS-скрипт, который в Викиучебнике не работает.<br> А вот о необходимости прийти и откатить уведомление бы не помешало. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 20:15, 13 мая 2026 (UTC) ::::::::: Не могли бы вы скинуть ссылку на скрипт, я попробую оптимизировать. Возможно, дело в ограничениях в скрипте, или в расширениях которых нет в ВУ. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 11:27, 14 мая 2026 (UTC) :::::::::: Пожалуйста [[Участник:Leksey/common.js]] :::::::::: Вот обсуждение [[w:Служебная:GoToComment/c-Leksey-20260402155500-Вопрос_по_администрированию_Викиучебника]] [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 16:11, 14 мая 2026 (UTC) :::::::::: Вот тут я перечислил административные средства имеющиеся сейчас [[Викиучебник:Инструменты_администратора]] [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 16:17, 14 мая 2026 (UTC) :::::::::: Вот еще с такой проблемой столкнулся [[Обсуждение шаблона:Цитата#Не работает свойство "Источник"]]. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:48, 14 мая 2026 (UTC) ::::::::::: Шаблон починил, любуйтесь. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 11:23, 15 мая 2026 (UTC) :::::::::::: @[[Участник:Leksey|Leksey]] Вот исправный код (хотя я не знаю у меня не проверяется, у меня нет кнопок откатить:))<br> // Mass Rollback for MediaWiki<br> // Универсальная версия для Википедии, Викиучебника и других вики :::::::::::: if (typeof wkRollbackPortlet === "undefined") {<br> var wkRollbackPortlet = "p-tb";<br> } :::::::::::: // Откат одной правки<br> function rollbackOneThingWKMR(edit, rbMetadata) { :::::::::::: var userName; :::::::::::: // Для IP-участников<br> if (rbMetadata.userName === null) { :::::::::::: userName = $(edit)<br> .parents("li:first")<br> .find("a.mw-anonuserlink")<br> .first()<br> .text(); :::::::::::: } else { :::::::::::: userName = rbMetadata.userName; :::::::::::: } :::::::::::: var titleMatch = /title=([^&]+)/.exec(edit.href); :::::::::::: if (!titleMatch) {<br> console.error("Не удалось определить страницу");<br> return;<br> } :::::::::::: var pageTitle = decodeURIComponent(titleMatch[1]); :::::::::::: var params = {}; :::::::::::: if (rbMetadata.editSummary !== "") {<br> params.summary = rbMetadata.editSummary;<br> } :::::::::::: rbMetadata.api.rollback(pageTitle, userName, params) :::::::::::: .done(function () { :::::::::::: console.log("Откат:", pageTitle); :::::::::::: $(edit).after(<br> '<span style="color:green;font-weight:bold;"> [откачено]</span>'<br> ); :::::::::::: $(edit).remove(); :::::::::::: }) :::::::::::: .fail(function (code, data) { :::::::::::: console.error("Ошибка rollback:", code, data); :::::::::::: $(edit).after(<br> '<span style="color:red;font-weight:bold;"> [ошибка]</span>'<br> ); :::::::::::: });<br> } :::::::::::: // Откат всех<br> function rollbackEverythingWKMR(editSummary) { :::::::::::: if (editSummary === null) {<br> return false;<br> } :::::::::::: if (<br> mw.config.get("wgRelevantUserName") ===<br> mw.config.get("wgUserName")<br> ) { :::::::::::: if (<br> !confirm(<br> "Вы собираетесь откатить ВСЕ свои правки. Продолжить?"<br> )<br> ) {<br> return false;<br> }<br> } :::::::::::: mw.loader.using(["mediawiki.api"]).done(function () { :::::::::::: var rbMetadata = {}; :::::::::::: rbMetadata.api = new mw.Api(); :::::::::::: rbMetadata.userName =<br> mw.config.get("wgRelevantUserName"); :::::::::::: rbMetadata.editSummary = editSummary; :::::::::::: $("a[href*='action=rollback']").each(function (ind, el) { :::::::::::: rollbackOneThingWKMR(el, rbMetadata); :::::::::::: }); :::::::::::: }); :::::::::::: return false;<br> } :::::::::::: // Откат выбранных<br> function rollbackSomeThingsWKMR(editSummary) { :::::::::::: if (editSummary === null) {<br> return false;<br> } :::::::::::: mw.loader.using(["mediawiki.api"]).done(function () { :::::::::::: var rbMetadata = {}; :::::::::::: rbMetadata.api = new mw.Api(); :::::::::::: rbMetadata.userName =<br> mw.config.get("wgRelevantUserName"); :::::::::::: rbMetadata.editSummary = editSummary; :::::::::::: var rollbackList = $("input.revdelIds:checked")<br> .parents("li")<br> .find("a[href*='action=rollback']"); :::::::::::: if (rollbackList.length <= 0) { :::::::::::: mw.notify("Не выбрано ни одной правки."); :::::::::::: return;<br> } :::::::::::: rollbackList.each(function (ind, el) { :::::::::::: rollbackOneThingWKMR(el, rbMetadata); :::::::::::: }); :::::::::::: }); :::::::::::: return false;<br> } :::::::::::: // Главная часть<br> mw.loader.using([<br> "mediawiki.util",<br> "mediawiki.api"<br> ]).done(function () { :::::::::::: mw.hook('wikipage.content').add(function () { :::::::::::: // Только на странице вкладов<br> if (<br> mw.config.get("wgCanonicalSpecialPageName") !==<br> "Contributions"<br> ) {<br> return;<br> } :::::::::::: // Уже добавлено<br> if ($("#ca-rollbackeverything").length) {<br> return;<br> } :::::::::::: // Проверяем наличие rollback<br> if ($("a[href*='action=rollback']").length <= 0) { :::::::::::: console.log("Rollback ссылки не найдены"); :::::::::::: return;<br> } :::::::::::: console.log("MassRollback загружен"); :::::::::::: // Добавляем чекбоксы<br> $("ul.mw-contributions-list li").each(function () { :::::::::::: // Уже есть чекбокс<br> if ($(this).find("input.revdelIds").length) {<br> return;<br> } :::::::::::: var rollbackLink = $(this)<br> .find("a[href*='action=rollback']"); :::::::::::: if (rollbackLink.length > 0) { :::::::::::: $(this)<br> .find("a.mw-changeslist-date")<br> .first()<br> .before(<br> "<input type='checkbox' class='revdelIds' style='margin-right:5px;'>"<br> );<br> }<br> }); :::::::::::: // Кнопка Rollback all<br> mw.util.addPortletLink(<br> wkRollbackPortlet,<br> "#",<br> "Rollback all",<br> "ca-rollbackeverything",<br> "Откатить все правки"<br> ); :::::::::::: // Кнопка Rollback selected<br> mw.util.addPortletLink(<br> wkRollbackPortlet,<br> "#",<br> "Rollback selected",<br> "ca-rollbacksome",<br> "Откатить выбранные правки"<br> ); :::::::::::: // Обработка кнопки ALL<br> $("#ca-rollbackeverything").click(function (event) { :::::::::::: event.preventDefault(); :::::::::::: rollbackEverythingWKMR(<br> prompt(<br> "Введите комментарий отката:"<br> )<br> ); :::::::::::: }); :::::::::::: // Обработка кнопки SELECTED<br> $("#ca-rollbacksome").click(function (event) { :::::::::::: event.preventDefault(); :::::::::::: rollbackSomeThingsWKMR(<br> prompt(<br> "Введите комментарий отката:"<br> )<br> ); :::::::::::: }); :::::::::::: }); :::::::::::: }); [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 12:10, 15 мая 2026 (UTC) ::::::::::::: Блин. Мне стремно выполнять непонятный JS. Можете диф показать как-нить или объяснить что за правка была сделана. ::::::::::::: Да и идея править ИИ мне конечно не нравится, но других предложений нет. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:52, 17 мая 2026 (UTC) :::::::::::: Починилось, спасибо! [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 17:50, 17 мая 2026 (UTC) Прекрасно, если понадобится помощь — обращайтесь на мою СО. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 19:52, 17 мая 2026 (UTC) Если не работает, вот это попробуйте: <pre>if (typeof wkContribsCheckboxInit === "undefined") { wkContribsCheckboxInit = false; } if (typeof wkRollbackPortlet === "undefined") { wkRollbackPortlet = "p-cactions"; } function getContributionItem(el) { return $(el).closest("li, tr, .mw-contribs-list-item"); } function getRollbackLinks(scope) { return scope.find("a[href*='action=rollback']"); } function rollbackEverythingWKMR(editSummary) { if (editSummary === null) { return false; } if (mw.config.get("wgRelevantUserName") === mw.config.get("wgUserName")) { if (!confirm("You are about to roll back *all* of *your own* edits. Please note that this will be very difficult to undo. Are you *ABSOLUTELY SURE* you want to do this?")) { return false; } } mw.loader.using("mediawiki.api").done(function () { var rbMetadata = {}; rbMetadata.api = new mw.Api(); rbMetadata.userName = mw.config.get("wgRelevantUserName"); rbMetadata.ipRange = (rbMetadata.userName === null); rbMetadata.titleRegex = /title=([^&]+)/; rbMetadata.editSummary = editSummary; $("a[href*='action=rollback']").each(function (ind, el) { rollbackOneThingWKMR(el, rbMetadata); }); }); return false; } function rollbackSomeThingsWKMR(editSummary) { if (editSummary === null) { return false; } mw.loader.using("mediawiki.api").done(function () { var rbMetadata = {}; rbMetadata.api = new mw.Api(); rbMetadata.userName = mw.config.get("wgRelevantUserName"); rbMetadata.titleRegex = /title=([^&]+)/; rbMetadata.editSummary = editSummary; var rollbackList = $("input.revdelIds:checked").each(function () { var item = getContributionItem(this); item.find("a[href*='action=rollback']").each(function (ind, el) { rollbackOneThingWKMR(el, rbMetadata); }); }); if ($("input.revdelIds:checked").length <= 0) { mw.notify("You didn't select any edits that could be rolled back!"); return; } }); return false; } function rollbackOneThingWKMR(edit, rbMetadata) { var userName; var item = getContributionItem(edit); if (rbMetadata.userName === null) { userName = item.find("a.mw-anonuserlink").not(".mw-contributions-title").first().text(); } else { userName = rbMetadata.userName; } if (!userName) { return; } var params = {}; if (rbMetadata.editSummary != '') { params.summary = rbMetadata.editSummary; } var titleMatch = rbMetadata.titleRegex.exec(edit.href); if (!titleMatch) { return; } rbMetadata.api.rollback(decodeURIComponent(titleMatch[1]), userName, params).done(function () { $(edit).after("reverted"); $(edit).remove(); }); } $(document).ready(function () { if (mw.config.get("wgCanonicalSpecialPageName") == "Contributions" && $("a[href*='action=rollback']").length > 0) { mw.loader.using("mediawiki.util").done(function () { mw.util.addPortletLink(wkRollbackPortlet, '#', "Rollback all", "ca-rollbackeverything", "rollback all edits displayed here"); if (!wkContribsCheckboxInit) { if ($("input.revdelIds").length === 0) { $("a[href*='action=rollback']").each(function (ind, el) { var item = getContributionItem(el); item.find("a").first().before("<input type='checkbox' class='revdelIds'>&nbsp;"); item.find("input.revdelIds").data("index", ind); }); } else { $("input.revdelIds").each(function (ind, el) { $(el).data("index", ind); }); } wkContribsCheckboxInit = true; } mw.util.addPortletLink(wkRollbackPortlet, '#', "Rollback selected", "ca-rollbacksome", "rollback selected edits"); $("#ca-rollbackeverything").click(function (event) { event.preventDefault(); mw.loader.load("mediawiki.api"); return rollbackEverythingWKMR(prompt("Rollback all edits: Enter an edit summary, or leave blank to use the default (or hit Cancel to cancel the rollback entirely)")); }); $("#ca-rollbacksome").click(function (event) { event.preventDefault(); mw.loader.load("mediawiki.api"); return rollbackSomeThingsWKMR(prompt("Rollback selected edits: Enter an edit summary, or leave blank to use the default (or hit Cancel to cancel the rollback entirely)")); }); $("#ca-rollbacksome").data("lastSelectedIndex", -1); $("input.revdelIds").off("click").click(function (ev) { var lastSelectedRevdel = $("#ca-rollbacksome").data("lastSelectedIndex"); var newIndex = $(this).data("index"); if (ev.shiftKey && lastSelectedRevdel >= 0) { var checkboxArray = $("input.revdelIds"); var start = lastSelectedRevdel; var stop = newIndex; if (start < stop) { for (var i = start; i < stop; i++) { if (i != lastSelectedRevdel) { $(checkboxArray[i]).prop("checked", !($(checkboxArray[i]).prop("checked"))); } } } else { for (var i = start; i > stop; i--) { if (i != lastSelectedRevdel) { $(checkboxArray[i]).prop("checked", !($(checkboxArray[i]).prop("checked"))); } } } } $("#ca-rollbacksome").data("lastSelectedIndex", newIndex); }); }); } });</pre> [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 18:13, 15 мая 2026 (UTC) === Итог === * Флаг не присвоен, но зато починен скрипт и шаблон. [[Участник:Taratarussia|СССР]] ([[Обсуждение участника:Taratarussia|обсуждение]]) 15:52, 18 мая 2026 (UTC) == Изменение шаблона «Родственные проекты» == К сожалению, Викиновости полностью закрылись на всех языках решением Фонда Викимедиа. Поэтому, считаю целесообразным убрать Викиновости из шаблона, как уже сделали на https://meta.wikimedia.org/wiki/Main_Page/ru. Сам я не могу, поэтому прошу местных администраторов сделать. С уважением, СССР (обсуждение) 16:07, 8 мая 2026 (UTC) : @[[Участник:Leksey|Leksey]] сможете поправить шаблон? <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 19:21, 13 мая 2026 (UTC) :: Сделал. И предлагаю на ты. [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 20:20, 13 мая 2026 (UTC) == Вопрос с [[ВУ:КУ]] == Я тут ставил цель в прошлом году закончить с КУ, но кажется там у меня небольшой тупик с этим. И я вспомнил почему я хотел побыстрее с этим покончить: я хотел переделать КУ, чтобы там можно было удобнее все это просматривать и, если надо - автоматизировать. Я конечно не предлагаю вести ежедневный КУ (да и от ежемесячного тоже думал бы отказаться, так как все равно небольшие неудобства) а перейти на годовой (то есть одна страница чисто для 2026) и возможно, оставлять ее сразу на [[ВУ:КУ]]. Думаю, номинаций много не будет в скором времени, поэтому есть время об этом подумать и реализовать (если, конечно, будет согласие) <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 00:04, 3 января 2026 (UTC) Я вижу, вы тут снесли что-то 1Сное, а [[Служебная:Неиспользуемые файлы|несвободные файлы удалить забыли]].<br> Файлы Хедина в Цивилизции оформлены неправильно: должны быть переоформлены или удалены по [[ВУ:КДИ]]#10а и в. Он не является "автором или правообладателем", а "иллюстрирование" не является валидной причиной для содержания несвободного файла. А после переоформления около трети должна быть удалена по 8 пункту.<br> И, раз уж написал, примерно половину статей господина Пинчука снесли на enКнигах в прошлом году. — Ирука<sup>[[u:Iruka13|13]]</sup> 18:44, 10 января 2026 (UTC) : ээ, вроде 1сное не сносил особо, кроме каких-то 2-3 файлов, с согласия других (надо поискать в КУ). До несвободных файлов рука не добралась, там вообще желательно обсуждение.<br>Ровно так же как и с Цивой, потому что иллюстрирование в играх по КДИ, как мне кажется, у нас под вопросом. Я замечал случаи, где иллюстрирование необходимо как в руководствах Хедина, поэтому тут под вопросом. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 15:41, 15 января 2026 (UTC) == Категории кулинарной книги == <s>Коль ниже нас похоронили, решу немного покопаться в гробу</s>. Касательно категорий: нам надо их слегка вложить друг в друга чтобы это отображалось цивильно, да и для удобства поиска. Например: категории огурцы, помидоры и баклажан стоило бы вложить в овощи, а китайская, японская, корейская кухня в восточно-азиатские кухни и т.д. Хотелось бы услышать мнения касательно данного действа. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:42, 28 декабря 2025 (UTC) : @[[Участник:Leksey|Leksey]] @[[Участник:Heffalump1974|Heffalump1974]] @[[Участник:Erokhin|Erokhin]] <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:42, 28 декабря 2025 (UTC) :Можно на примерах показать? [[Участник:Erokhin|Erokhin]] ([[Обсуждение участника:Erokhin|обсуждение]]) 22:11, 28 декабря 2025 (UTC) :: См. [[Кулинарная книга]], спускаемся ниже до [[:Категория:Европейская кухня]] и там видим подкухни, которые я ранее посчитал европейскими. Если бы их там не было, то кухни бы догнали список ингредиентов на странице кулинарной книги по длине. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 15:38, 29 декабря 2025 (UTC) ::: ? <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 15:55, 15 января 2026 (UTC) ::::Соглашусь, хорошо бы перетасовать предлагаемым образом. ::::Сам не возьмусь, пока без компьютера. [[Участник:Heffalump1974|Heffalump1974]] ([[Обсуждение участника:Heffalump1974|обсуждение]]) 14:03, 5 мая 2026 (UTC) ::::: Категоризировал, и стало теперь приятнее смотреть на не слишком длинные списки. Оценка за вами, @[[Участник:Leksey|Leksey]], @[[Участник:Heffalump1974|Heffalump1974]] :)<br> Там единственное есть дубляжи (Баклажан и баклажаны, орех и орехи) надо бы определиться в каком числе категоризировать их. Мне кажется лучше в единственном числе, потому что так будет логично. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 19:26, 13 мая 2026 (UTC) :::::: А куда смотреть? Я уже забыл все [[Участник:Leksey|Leksey]] ([[Обсуждение участника:Leksey|обсуждение]]) 20:18, 13 мая 2026 (UTC) ::::::: [[Викиучебник:Кулинарная книга]] и туда снизу. <span style="font-family:TimesNewRoman;">[[Участник:Kylaix|'''''Kylain Aixter''''' ]] ([[Обсуждение участника:Kylaix|СО]]) </span> 20:23, 13 мая 2026 (UTC) ::::::зависит от того, как этот объект назван в элементе викиданных, если Баклажан, то и у нас должно быть также [[Участник:AllaBuraya|AllaBuraya]] ([[Обсуждение участника:AllaBuraya|обсуждение]]) 18:03, 17 мая 2026 (UTC) <!-- Сообщение отправил Участник:Keegan (WMF)@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29905753 --> == <span lang="en" dir="ltr">Vote now in the 2026 U4C election</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Eligible voters are asked to participate in the 2026 [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee]] election. More information–including an eligibility check, voting process information, candidate information, and a link to the vote–are available on Meta at the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|2026 Election information page]]. The vote closes on 2 June 2026 at [https://zonestamp.toolforge.org/1780358400 00:00 UTC]. Please vote if your account is eligible. Results will be available by 14 June 2026. -- In cooperation with the U4C,<section end="announcement-content" /> </div> [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 17:14, 27 мая 2026 (UTC) (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:Keegan (WMF)@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 --> == RFC about AI-generated content in Wikimedia Commons == <bdi lang="en" dir="ltr">Apologies for writing in English, please help translate this message to your language. You are invited to participate in a [[c:Commons:Requests for comment/Policy update for AI content|request for comment on Wikimedia Commons about a policy update for AI content]]. This may affect files that are uploaded to Wikimedia Commons for use on this project. Thank you. [[m:User:Codename Noreste|Codename Noreste]] ([[m:User talk:Codename Noreste|обсуждение]])</bdi> 17:11, 23 июня 2026 (UTC) (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:Codename Noreste@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 --> == Размещение ссылок на контакты по вопросам права и безопасности в нижнем колонтитуле вашего вики-проекта == <section begin="Message"/> '''Контакты по вопросам права и безопасности''' Дорогие участники сообщества, Фонд Викимедиа сформировал [[wmf:Special:MyLanguage/Legal:Wikimedia Foundation Legal and Safety Contact Information|единую страницу с контактами по вопросам права и безопасности]] для размещения в нижних колонтитулах ваших проектов соответствующих ссылок на нее, чтобы обеспечить доступ к достоверной юридической информации. Это нормативное требование. Мы уже разместили эти ссылки в английском, немецком, итальянском, испанском и других проектах Википедии, и мы также скоро добавим это и в ваш вики-проект. [[m:Special:MyLanguage/Wikimedia_Foundation_Legal_and_Safety_Contacts_FAQ|Пожалуйста, ознакомьтесь более подробно на странице проекта]] и оставляйте любые комментарии в этой ветке или на [[m:Special:MyLanguage/Talk:Wikimedia Foundation Legal and Safety Contacts FAQ|странице обсуждений]]. <section end="Message"/> -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:30, 25 июня 2026 (UTC) (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:Sannita (WMF)@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=User:Sannita_(WMF)/Mass_sending_test&oldid=30731267 --> == Request for comment (the future of Abstract Wikipedia) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> Apologies if this has not yet been translated into your wiki's language. {{int:Please-translate}} You are invited to voice your opinions in a [[:m:Requests for comment/The future of Abstract Wikipedia|request for comment about the future of Abstract Wikipedia]]. {{Int:Feedback-thanks-title}} [[:m:User:Kowal2701|Kowal2701]] ([[:m:User talk:Kowal2701|talk]]) 12:24, 24 июля 2026 (UTC) </bdi> (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:DreamRimmer@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 --> == Переключение сервера: ваш вики-проект скоро на короткое время будет доступен в режиме «только для чтения» == <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Прочитать это сообщение на другом языке]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] [[foundation:|Фонд Викимедиа]] будет переключать трафик между своими центрами обработки данных. Это гарантирует, что Википедия и другие вики-проекты Викимедиа смогут оставаться доступными даже после катастрофы. Весь трафик будет переключен '''{{#time:j xg|2026-09-23|ru}}'''. Переключение начнётся в '''[https://zonestamp.toolforge.org/{{#time:U|2026-09-23T14:00|en}} {{#time:H:i e|2026-09-23T14:00}}]'''. К сожалению, ввиду некоторых ограничений движка [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], редактирование будет остановлено в течение этих двух переключений. Приносим свои извинения за задержку в работе. Мы работаем над тем, чтобы сократить такие работы в будущем. За 30 минут до начала переноса во всех проектах будет показан баннер-предупреждение. Этот баннер будет оставаться видимым до окончания операции. Вы можете внести вклад в [https://meta.wikimedia.org/w/index.php?title=Special%3ATranslate&group=Centralnotice-tgroup-read_only_banner&task=view&language=&filter=&action=translate перевод или вычитку] этого текста баннера. '''В течение короткого промежутка времени вы сможете читать, но не сможете редактировать все вики-сайты.''' * День переключения — {{#time:l j xg Y|2026-09-23|ru}}. Оно продлится не более часа. * При попытке отредактировать или сохранить страницы в течение этого времени вы увидите сообщение об ошибке. Мы надеемся, что правки в этот период не будут потеряны, но не можем этого гарантировать. Если вы увидите сообщение об ошибке, пожалуйста, подождите, пока всё не восстановится. После этого вы сможете сохранить свою правку. Но на всякий случай мы рекомендуем вам сделать копию ваших изменений. ''Побочные эффекты'': * Фоновые задания будут выполняться замедленно, а некоторые могут быть отклонены. Красные ссылки могут также обновляться с замедлением. Если вы создаёте статью, на которую уже есть ссылки откуда-то, то такие ссылки будут оставаться красными дольше, чем обычно. Некоторые долго выполняющиеся скрипты необходимо будет остановить. * Мы ожидаем, что развёртывание кода произойдет так же, как и на любой другой неделе. Однако могут происходить некоторые зависания кода, если впоследствии этого потребует данная операция. * [[mw:Special:MyLanguage/GitLab|GitLab]] будет недоступен примерно 90 минут. При необходимости эти планы могут быть отложены. Вы можете [[wikitech:Switch_Datacenter|посмотреть расписание на wikitech.wikimedia.org]]. О любых изменениях будет сообщено в расписании. '''Пожалуйста, поделитесь этой информацией с вашим сообществом.'''</div><section end="server-switch"/> [[m:user:Trizek (WMF)|Trizek (WMF)]] 12:58, 15 сентября 2026 (UTC) (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:Trizek (WMF)@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=30513874 --> == Your feedback wanted: Remove ''(Language link added:) and similar'' edits from Special:RecentChanges == ''(Apologies for posting in English. You can help by translating it)'' Hello, I’m Danny from [[:en:w:Wikimedia_Deutschland|Wikimedia Deutschland’s]] [[m:Wikidata_For_Wikimedia_Projects|Wikidata For Wikimedia Projects]] team.<br/> We have been investigating and examining how Wikidata’s use in the [[Special:RecentChanges]] and [[Special:Watchlist]] pages can be made to be more useful, or less ‘noisy’ (fewer edits that have little value to the reader). We are currently exploring to make a change in the volume and the type of Wikidata edits that appear in these pages, and '''we need your feedback''' to help us ensure this is a positive change for the Wikis and won’t disrupt your workflows.<br/> Language links are also known as sitelinks or interlanguage links and describe when a Wikidata item is connected to a Wiki, adding it to the language dropdown tool for other connected Wikis. [[File:Types of Lang Link changes.png|x350px|frame|A variety of "Language Link" edits as seen in the Recent Changes feed]] The request for feedback is whether you support the removal of these language link edits from the Recent Changes and Watchlist feed, or would you oppose such a change and if so, why? Please share you thoughts on the dedicated '''[[m:Talk:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Hide_Language_Link_edits|metawiki Talk page]]'''. Further information about this change: [[m:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Hide_Language_Link_edits|m:Wikidata_For_Wikimedia_Projects/Hide_Language_Link_edits]] Thank you for any participation or feedback you give, -- [[m:User:Danny_Benjafield_(WMDE)|User:Danny Benjafield (WMDE)]] 11:46, 25 сентября 2026 (UTC) (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:Danny Benjafield (WMDE)@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_test_list&oldid=31080832 --> == Wikidata Sitelink changes in Recent Changes and Watchlist == ''(Apologies for cross-posting in English, translating it will help spread the message)'' Editors on group 1 wikis, including Wikiquote, Wikibooks, Wikiversity, Wikivoyage, and Wikisource, will no longer see notifications on [[Special:RecentChanges|Recent Changes]] and [[Special:Watchlist|Watchlist]] when a link to ''another'' language version of a page is added, removed, or changed in its Wikidata item. This change will begin on '''October 5 at 07:00 UTC''' as a two-week trial to reduce high-volume, low-value notifications and make higher-value changes easier to identify. Editors who rely on these notifications should be aware of the change and can share feedback or concerns on the [[m:Wikidata For Wikimedia Projects/Clearer Wikidata Edit Summaries/Hide Language Link edits|project]] or [[m:Talk:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Hide_Language_Link_edits|talk page]].<br/>Please reach out if you have any questions, thank you! -- [[User:Danny_Benjafield_(WMDE)|Danny Benjafield (WMDE)]] ([[User_talk:Danny_Benjafield_(WMDE)|talk]]) sent via [[Участник:MediaWiki message delivery|MediaWiki message delivery]] ([[Обсуждение участника:MediaWiki message delivery|обсуждение]]) 12:42, 1 октября 2026 (UTC) (This message was sent to [[:Викиучебник:Форум]] and is being posted here due to a redirect.) <!-- Сообщение отправил Участник:Danny Benjafield (WMDE)@metawiki, используя список на странице https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_test_list&oldid=31106967 --> d4g0nluv6upmkloar61esgmd270hgys Рецепт:Салат из огурцов и редиса 104 7624 270356 253824 2026-10-13T17:15:25Z Medyanowsky 40850 270356 wikitext text/x-wiki {{Рецепт| | Категория = Салаты | Порций = 2-3 | Время = 10 мин | Сложность = 1 | Энергетическая ценность = | Изображение = | Ингредиенты = огурец, редис }} == Ингредиенты == * 150 г огурцов (1 огурец) * 150 г редиса (3-4 редиски) * 30 г зелёного лука (2-3 пера) * 1-2 ч.л. сметаны * соль по вкусу == Приготовление == # нарезать редис и огурец кубиками со стороной 1/3…1/2 см # перья лука разрезать поплам вдоль, и нарезать поперёк отрезками по 1/3…1/2 см # перемешать кусочки редиса, огурца и лука # добавить сметану, посолить по вкусу и тщательно перемешать [[Категория:Рецепты]] [[Категория:Салаты]] [[en:Cookbook:Cucumber & Radish Salad]] gq96lctarnoorck8gnb6flz6qhe0ps0 Рецепт:Салат «Хазар» 104 18642 270358 227734 2026-10-13T17:21:02Z Medyanowsky 40850 270358 wikitext text/x-wiki {{Рецепт | Категория = Салаты | Изображение = | Ингредиенты = осетрина, сёмга, икра, картофель, огурцы }} '''Салат «Хазар»''' — одно из блюд азербайджанской кухни == Ингредиенты<ref name="azkul87" /> == * Осетрина — 375 г. * Сёмга малосольная — 55 г. * Икра зернистая — 30 г. * Картофель — 160 г. * Огурцы свежие — 180 г. * Сметана — 160 г. * Салат зелёный — 55 г. * Лимон — 1 шт. * Эстрагон — 55 г. * Соль — по желанию * Перец — по желанию == Приготовление == Рыбу отваривают, удаляют кожу и хрящи. Нарезанные овощи заправляют сметаной, укладывают горкой на блюдо и украшают длинными ломтиками отваренной рыбы, листьями салата, зеленью эстрагона, ломтиками сёмги, свернутыми кулёчком, в которые кладут икру. == См. также == * [[Рецепт:Салат «Азербайджан»|Салат «Азербайджан»]] * [[Рецепт:Салат «Бахар»|Салат «Бахар»]] * [[Рецепт:Салат с красной икрой|Салат с красной икрой]] == Примечания == {{примечания|refs= <ref name="azkul87">{{Книга |ответственный= Ахмедов А.Д. |заглавие = Азербайджанская кулинария |часть = Салат «Хазар» |место = Баку |издательство = Ишыг |год = 1987 |страницы = 22 |страниц = 232 }}</ref> }} [[Категория:Азербайджанская кухня]] 359bzca43sum1loi2wsgwxn9yxk3ae1 Рецепт:Салат «Бахар» 104 18644 270357 229885 2026-10-13T17:19:07Z Medyanowsky 40850 270357 wikitext text/x-wiki {{Рецепт | Категория = Салаты | Изображение = | Ингредиенты = редис, яйцо, огурцы, морковь }} '''Салат «Бахар»''' — блюдо азербайджанской кухни == Ингредиенты<ref name="azkul87" /> == * Редис (белый или красный) — 100 г. * Яйцо — 1/2 шт. * Огурцы — 40 г. * Морковь — 40 г. * Салат зелёный — 10 г. * Соль — по желанию == Приготовление == Редис очистить от кожицы; Нарезать белый или красный редис тонкими ломтиками. Положить редис в виде горки в салатник и украсить огурцами, нарезанными кружочками, морковью, яйцами, нарезанными дольками, зелёным салатом и посыпать укропом. В центр поместить редис в виде розы. == См. также == * [[Рецепт:Салат «Хазар»|Салат «Хазар»]] * [[Рецепт:Салат «Азербайджан»|Салат «Азербайджан»]] * [[Рецепт:Салат по-шекински|Салат по-шекински]] * [[Рецепт:Салат с красной икрой|Салат с красной икрой]] == Примечания == {{примечания|refs= <ref name="azkul87">{{Книга |ответственный= Ахмедов А.Д. |заглавие = Азербайджанская кулинария |часть = Салат «Хазар» |место = Баку |издательство = Ишыг |год = 1987 |страницы = 24 |страниц = 232 }}</ref> }} [[Категория:Азербайджанская кухня]] flzoorws2m5d4me5xjjho03rvpmqy3w Категория:Жаркое 14 19078 270359 128323 2026-10-13T17:23:05Z Medyanowsky 40850 270359 wikitext text/x-wiki [[Категория:Горячее блюдо]][[Категория:Мясные блюда]] ol2bkjpghpmyp661r4hxxlo0r3j4zd1 Фоторецептурный справочник 0 20003 270362 270345 2026-10-14T09:53:03Z Def2010 48479 /* Процессы */ +Orwo-4105 270362 wikitext text/x-wiki {{Название учебника |Категория = Фотография | Химия |Готовность = 75% |Описание = Учебник содержит различные рецепты [[w:Аналоговая фотография|аналоговой фотографии]]. |Тип = Многостраничный }} == Общая информация == * [[Фоторецептурный справочник/Меры предосторожности|Меры предосторожности]] * [[Фоторецептурный справочник/Рекомендации|Рекомендации]] == Черно-белая обработка == === Проявители === {| class="wikitable sortable" style="font-size:80%;" |- ! rowspan="2" | Название || rowspan="2" | Тип || colspan="3" class="unsortable" | Для фотоматериалов || rowspan="2" | Предназначение и особенности || rowspan="2" | Пополнитель |- ! негативных || позитивных || обращаемых |- | [[Фоторецептурный справочник/Ортомикроль | Ортомикроль]] || оксиэтилортоаминофеноловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий сверхмелкозернистый || |- | [[Фоторецептурный справочник/ПБ-1к|ПБ-1к]] || фенидон-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || концентрат, модификация [[Фоторецептурный справочник/УПК-1|УПК-1]] || |- | [[Фоторецептурный справочник/СТ-1 (для бумаг)|СТ-1]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || нормальный, модификация для бумаг || |- | [[Фоторецептурный справочник/СТ-2|СТ-2]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый || [[Фоторецептурный справочник/СТ-2 пополнитель|пополнитель для СТ-2]] |- | [[Фоторецептурный справочник/Agfa 8|Agfa 8]] || глициновый || [[Файл:Check icon.svg|20px|center]] || || || нормальный || |- | [[Фоторецептурный справочник/Agfa 14|Agfa 14]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, мягко работающий || |- | [[Фоторецептурный справочник/Agfa 105|Agfa 105]] || метоловый || || [[Файл:Check icon.svg|20px|center]] || || низкоконтрастный || |- | [[Фоторецептурный справочник/Agfa Atomal|Agfa Atomal]] || оксиэтилортоаминофенол-пирокатехин-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || сверхмелкозернистый || [[Фоторецептурный справочник/Agfa Atomal пополнитель|пополнитель для Agfa Atomal]] |- | [[Фоторецептурный справочник/Orwo A-49|Agfa Atomal-F]] || оксиэтилортоаминофенол-глициновый || [[Файл:Check icon.svg|20px|center]] || || || сверхмелкозернистый || [[Фоторецептурный справочник/Orwo A-49 пополнитель|пополнитель для Agfa Atomal-F]] |- | [[Фоторецептурный справочник/Agfa R-09|Agfa R-09]] || парааминофеноловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, синоним Agfa Rodinal || |- | [[Фоторецептурный справочник/Agfa R-09|Agfa Rodinal]] || парааминофеноловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый || |- | [[Фоторецептурный справочник/Dassonville D-1|Dassonville {{nobr|D-1}}]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для бромосеребряных фотобумаг || |- | [[Фоторецептурный справочник/Dassonville D-2|Dassonville {{nobr|D-2}}]] || амидоловый || || [[Файл:Check icon.svg|20px|center]] || || для фотобумаг || |- | [[Фоторецептурный справочник/Foma FV-1|Foma FV-1]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый проявитель для обращаемых кинофотопленок || |- | [[Фоторецептурный справочник/Foma FV-2|Foma FV-2]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый и второй проявитель для обращаемых кинофотопленок || |- | [[Фоторецептурный справочник/Kodak D-76|Foma FV-3]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, Kodak D-76 || [[Фоторецептурный справочник/Kodak D-76R|Foma FV-3 R]] |- | [[Фоторецептурный справочник/Foma FV-4|Foma FV-4]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || второй проявитель для обращаемых кинофотопленок || |- | [[Фоторецептурный справочник/Forte FD-6|Forte FD-6]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для глубоких зелёных тонов на иодосеребряных бумагах || |- | [[Фоторецептурный справочник/FX-1|FX-1]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || для максимальной резкости на низко- и среднечувствительных фотоплёнках || |- | [[Фоторецептурный справочник/FX-1b|FX-1b]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || мелкозернистый и высокорезкостный || |- | [[Фоторецептурный справочник/FX-2|FX-2]] || метол-глициновый || [[Файл:Check icon.svg|20px|center]] || || || высокорезкостный || |- | [[Фоторецептурный справочник/FX-1b|FX-13]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || мелкозернистый и высокорезкостный, переименован в FX-1b || |- | [[Фоторецептурный справочник/GU-66g|GU-66g]] || глициновый || || [[Файл:Check icon.svg|20px|center]] || || нормальный || |- | [[Фоторецептурный справочник/Ilford ID-1|Ilford ID-1]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || для негативных фотоплёнок и фотопластинок || |- | [[Фоторецептурный справочник/Ilford ID-2|Ilford ID-2]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для негативных фотоплёнок и фотопластинок || |- | [[Фоторецептурный справочник/Kodak D-76|Ilford ID-11]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, Kodak D-76 || [[Фоторецептурный справочник/Kodak D-76R|Kodak D-76R]] |- | [[Фоторецептурный справочник/Ilford ID-13|Ilford ID-13]] || гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || с каустической щёлочью, высококонтрастный, для штриховых негативов, используется для лит-печати || |- | [[Фоторецептурный справочник/Ilford PQ Universal|Ilford PQ Universal]] || фенидон-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || высококонтрастный || |- | [[Фоторецептурный справочник/Kodak D-1|Kodak D-1]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || окрашивающий теплотонный || |- | [[Фоторецептурный справочник/Kodak SD-1|Kodak SD-1]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || специальный окрашивающий проявитель, снижающий уровень паразитной окраски|| |- | [[Фоторецептурный справочник/Kodak SD-2|Kodak SD-2]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый проявитель для обращаемых фотобумаг, специальный для сепии|| |- | [[Фоторецептурный справочник/Kodak SD-4|Kodak SD-4]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || двухванный специальный проявитель для кинонегативов || |- | [[Фоторецептурный справочник/Kodak SD-5|Kodak SD-5]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || двухванный специальный проявитель для звуковых дорожек || |- | [[Фоторецептурный справочник/Kodak SD-6|Kodak SD-6]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || двухванный специальный проявитель для быстрой обработки репортажных фотографий || |- | [[Фоторецептурный справочник/Kodak D-7|Kodak D-7]] || метол-пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || окрашивающий, для портретной фотографии || |- | [[Фоторецептурный справочник/Kodak D-8|Kodak D-8]] || гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || с каустической щёлочью, высококонтрастный || |- | [[Фоторецептурный справочник/Kodak D-9|Kodak D-9]] || гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || с каустической щёлочью, высококонтрастный, используется для лит-печати || |- | [[Фоторецептурный справочник/Kodak SD-10|Kodak SD-10]] || пирокатехиновый || [[Файл:Check icon.svg|20px|center]] || || || специальный для быстрой обработки || |- | [[Фоторецептурный справочник/Kodak D-11|Kodak D-11]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || высококонтрастный || |- | [[Фоторецептурный справочник/Kodak SD-12|Kodak SD-12]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || специальный для автопозитивной плёнки || |- | [[Фоторецептурный справочник/Kodak D-13|Kodak D-13]] || парааминофенол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || тропический || |- | [[Фоторецептурный справочник/Kodak SD-14|Kodak SD-14]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || специальный для автопозитивной бумаги || |- | [[Фоторецептурный справочник/Kodak DK-15|Kodak DK-15]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || тропический || |- | [[Фоторецептурный справочник/Kodak DK-15a|Kodak DK-15a]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || тропический, модификация Kodak DK-15 с уменьшенным контрастом || |- | [[Фоторецептурный справочник/Kodak D-16|Kodak D-16]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || для среднего и высокого контраста на негативах и для кинопозитивов || [[Фоторецептурный справочник/Kodak D-16R|Kodak D-16R]] |- | [[Фоторецептурный справочник/Kodak D-18|Kodak D-18]] || метол-гидрохинон-пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || для машин с баком большого объема || |- | [[Фоторецептурный справочник/Kodak D-18a|Kodak D-18a]] || метол-гидрохинон-пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || для кюветного проявления роликовых плёнок || |- | [[Фоторецептурный справочник/Kodak D-19|Kodak D-19]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || высококонтрастный || [[Фоторецептурный справочник/Kodak D-19R|Kodak D-19R]] |- | [[Фоторецептурный справочник/Kodak SD-19a|Kodak SD-19a]] || метол-гидрохинон-гидразиновый || [[Файл:Check icon.svg|20px|center]] || || || модификация Kodak D-19 для максимальной светочувствительности || |- | [[Фоторецептурный справочник/Kodak D-19b|Kodak D-19b]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || высококонтрастный, для рентген- и аэрофотоплёнок || [[Фоторецептурный справочник/Kodak D-19bR|Kodak D-19bR]] |- | [[Фоторецептурный справочник/Kodak DK-20|Kodak DK-20]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || мелкозернистый || [[Фоторецептурный справочник/Kodak DK-20R|Kodak DK-20R]] |- | [[Фоторецептурный справочник/Kodak D-21|Kodak D-21]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || кюветный || |- | [[Фоторецептурный справочник/Kodak D-21a|Kodak D-21a]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || вариант разбавления Kodak D-21 для микрофотографии || |- | [[Фоторецептурный справочник/Kodak SD-21|Kodak SD-21]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || специальная модификация D-76 для сенситометрических целей || |- | [[Фоторецептурный справочник/Kodak SD-22|Kodak SD-22]] || амидол-пирокатехиновый || [[Файл:Check icon.svg|20px|center]] || || || арктический || |- | [[Фоторецептурный справочник/Kodak D-23|Kodak D-23]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый без щелочи || [[Фоторецептурный справочник/Kodak DK-25R|Kodak DK-25R]] |- | [[Фоторецептурный справочник/Kodak D-25|Kodak D-25]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || мелкозернистый, для низкого и среднего контраста || [[Фоторецептурный справочник/Kodak DK-25R|Kodak DK-25R]] |- | [[Фоторецептурный справочник/Kodak DK-30|Kodak DK-30]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для звуковых дорожек на кинонегативах || |- | [[Фоторецептурный справочник/Kodak D-32|Kodak D-32]] || гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для тёплых тонов на диапозитивах || |- | [[Фоторецептурный справочник/Kodak D-34|Kodak D-34]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для холодных чёрных тонов на диапозитивах || |- | [[Фоторецептурный справочник/Kodak DK-40|Kodak DK-40]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для кинопозитивов || |- | [[Фоторецептурный справочник/Kodak D-41|Kodak D-41]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для низкого и среднего контраста на микрофильмах || |- | [[Фоторецептурный справочник/Kodak D-42|Kodak D-42]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для высокого контраста на микрофильмах || |- | [[Фоторецептурный справочник/Kodak DK-50|Kodak DK-50]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для нормального контраста || [[Фоторецептурный справочник/Kodak DK-50R|Kodak DK-50R]] |- | [[Фоторецептурный справочник/Kodak D-51|Kodak D-51]] || амидоловый || || [[Файл:Check icon.svg|20px|center]] || || для бромосеребряных бумаг || |- | [[Фоторецептурный справочник/Kodak D-52|Kodak D-52]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для тёплых тонов || |- | [[Фоторецептурный справочник/Kodak DK-60|Kodak DK-60]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для ускоренной машинной обработки || [[Фоторецептурный справочник/Kodak DK-50R|Kodak DK-50R]] |- | [[Фоторецептурный справочник/Kodak DK-60a|Kodak DK-60a]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для роликовых фотоплёнок || [[Фоторецептурный справочник/Kodak DK-60aTR|Kodak DK-60aTR]] |- | [[Фоторецептурный справочник/Kodak DK-60b|Kodak DK-60b]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для аэрофотоплёнок || |- | [[Фоторецептурный справочник/Kodak D-61a|Kodak D-61a]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для профессиональных негативных плёнок || [[Фоторецептурный справочник/Kodak D-61R|Kodak D-61R]] |- | [[Фоторецептурный справочник/Kodak D-67|Kodak D-67]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый проявитель для обращаемых плёнок || |- | [[Фоторецептурный справочник/Kodak FD-68|Kodak FD-68]] || метол-гидрохинон-гидразиновый || || || [[Файл:Check icon.svg|20px|center]] || вуалирующий проявитель (чернитель) для обращаемых плёнок || |- | [[Фоторецептурный справочник/Kodak FD-70|Kodak FD-70]] || дитионитовый || || || [[Файл:Check icon.svg|20px|center]] || вуалирующий проявитель (чернитель) для обращаемых плёнок || |- | [[Фоторецептурный справочник/Kodak FD-70a|Kodak FD-70a]] || дитионитовый || || || [[Файл:Check icon.svg|20px|center]] || вуалирующий проявитель (чернитель) для обращаемых плёнок || |- | [[Фоторецептурный справочник/Kodak D-72|Kodak D-72]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || для диапозитивов, фоторепортажных негативов и фотобумаг || |- | [[Фоторецептурный справочник/Kodak D-73|Kodak D-73]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для синих тонов на хлоросеребряных бумагах || |- | [[Фоторецептурный справочник/Kodak D-75|Kodak D-75]] || метол-гидрохинон-пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || нормальный для бачкового проявления || [[Фоторецептурный справочник/Kodak D-75R|Kodak D-75R]] |- | [[Фоторецептурный справочник/Kodak D-76|Kodak D-76]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый || [[Фоторецептурный справочник/Kodak D-76R|Kodak D-76R]] |- | [[Фоторецептурный справочник/Kodak D-76c|Kodak D-76c]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для низкого и среднего контраста в микрофотографии || |- | [[Фоторецептурный справочник/Kodak D-76d|Kodak D-76d]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || буферизированная модификация Kodak D-76 || |- | [[Фоторецептурный справочник/Kodak D-78|Kodak D-78]] || глициновый || [[Файл:Check icon.svg|20px|center]] || || || для негативных плёнок || |- | [[Фоторецептурный справочник/Kodak D-79|Kodak D-79]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || для негативных киноплёнок || |- | [[Фоторецептурный справочник/Kodak D-80|Kodak D-80]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || для негативных киноплёнок || |- | [[Фоторецептурный справочник/Kodak D-81|Kodak D-81]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для позитивных киноплёнок || |- | [[Фоторецептурный справочник/Kodak D-82|Kodak D-82]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || высокоактивный для сильно недодержанных негативов || |- | [[Фоторецептурный справочник/Kodak D-85|Kodak D-85]] || гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || литографический, для фотоматериалов Kodalith || |- | [[Фоторецептурный справочник/Kodak D-85b|Kodak D-85b]] || гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || литографический, для фотоматериалов Kodalith, двухрастворный || |- | [[Фоторецептурный справочник/Kodak D-87|Kodak D-87]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || контрастный для аэроплёнок || |- | [[Фоторецептурный справочник/Kodak D-88|Kodak D-88]] || гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый и второй проявитель для обращаемых фотобумаг || |- | [[Фоторецептурный справочник/Kodak D-89|Kodak D-89]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || модификация Kodak D-76 с десенсибилизатором || |- | [[Фоторецептурный справочник/Kodak D-90|Kodak D-90]] || пирогаллоловый || [[Файл:Check icon.svg|20px|center]] || || || для кюветного проявления листовых фотоплёнок || |- | [[Фоторецептурный справочник/Kodak D-91|Kodak D-91]] || парааминофеноловый || [[Файл:Check icon.svg|20px|center]] || || || тропический || |- | [[Фоторецептурный справочник/Kodak DK-93|Kodak DK-93]] || парааминофенол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || малоаллергенный для негативных плёнок и фотопластинок || |- | [[Фоторецептурный справочник/Kodak D-94|Kodak D-94]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый проявитель для обращаемых киноплёнок || |- | [[Фоторецептурный справочник/Kodak D-94A|Kodak D-94a]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || первый проявитель для обращаемых киноплёнок || |- | [[Фоторецептурный справочник/Kodak D-95|Kodak D-95]] || метол-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || второй проявитель для обращаемых киноплёнок || |- | [[Фоторецептурный справочник/Kodak D-96|Kodak D-96]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый || |- | [[Фоторецептурный справочник/Kodak D-97|Kodak D-97]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для кинопозитивов || |- | [[Фоторецептурный справочник/Kodak D-155|Kodak D-155]] || метол-гидрохинон-глициновый || || [[Файл:Check icon.svg|20px|center]] || || для очень тёплых тонов на фотобумагах || |- | [[Фоторецептурный справочник/Kodak D-165|Kodak D-165]] || метоловый || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || || мягкий для бромосеребряных фотобумаг || |- | [[Фоторецептурный справочник/Kodak D-175|Kodak D-175]] || пирогаллоловый || || [[Файл:Check icon.svg|20px|center]] || [[Файл:Check icon.svg|20px|center]] || дубящий, для литографических пластинок Silvalith || |- | [[Фоторецептурный справочник/MK-4-29|MK-4-29]] || фенидон-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, фенидоновая модификация Kodak D-76 || |- | [[Фоторецептурный справочник/MK-4-44|MK-4-44]] || метол-гидрохиноновый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, двухрастворная модификация Kodak D-76 || |- | [[Фоторецептурный справочник/MK-4-148|MK-4-148]] || метол-гидрохиноновый || || [[Файл:Check icon.svg|20px|center]] || || для синих тонов на фотобумагах || |- | [[Фоторецептурный справочник/Agfa 8|Orwo 8]] || глициновый || [[Файл:Check icon.svg|20px|center]] || || || нормальный, Agfa 8 || |- | [[Фоторецептурный справочник/Agfa 14|Orwo 14]] || метоловый || [[Файл:Check icon.svg|20px|center]] || || || выравнивающий мелкозернистый, мягко работающий, Agfa 14 || |- | [[Фоторецептурный справочник/Agfa 105|Orwo 105]] || метоловый || || [[Файл:Check icon.svg|20px|center]] || || низкоконтрастный, Agfa 105 || |- | [[Фоторецептурный справочник/Orwo A-49|Orwo A-49]] || оксиэтилортоаминофенол-глициновый || [[Файл:Check icon.svg|20px|center]] || || || сверхмелкозернистый, Agfa Atomal-F || [[Фоторецептурный справочник/Orwo A-49 пополнитель|пополнитель для Orwo A-49]] |- | [[Фоторецептурный справочник/POTA|POTA]] || фенидоновый || [[Файл:Check icon.svg|20px|center]] || || || низкоконтрастный || |} === Фиксажи === * [[Фоторецептурный справочник/БКФ-2|БКФ-2 (быстрый кислый, для рентгеновских материалов)]] * [[Фоторецептурный справочник/Фиксаж кислый|Фиксаж кислый (фабричный вариант СССР)]] * [[Фоторецептурный справочник/Фиксаж нейтральный|Фиксаж нейтральный (фабричный вариант СССР)]] * [[Фоторецептурный справочник/Agfa 304|Agfa 304 (быстрый)]] * [[Фоторецептурный справочник/Быстрый кислый дубящий фиксаж ATF-5|ATF-5 (быстрый кислый дубящий)]] * [[Фоторецептурный справочник/Foma FU-5|Foma FU-5 (кислый)]] * [[Фоторецептурный справочник/Kodak F-1|Kodak F-1 (кислый дубящий, для фотобумаг)]] * [[Фоторецептурный справочник/Kodak F-5|Kodak F-5 (кислый дубящий)]] * [[Фоторецептурный справочник/Kodak F-6|Kodak F-6 (кислый дубящий, модификация F-5 без запаха)]] * [[Фоторецептурный справочник/Kodak F-10|Kodak F-10 (кислый дубящий)]] * [[Фоторецептурный справочник/Kodak F-11|Kodak F-11 (простой)]] * [[Фоторецептурный справочник/Kodak F-24|Kodak F-24 (кислый недубящий)]] * [[Фоторецептурный справочник/Agfa 304|Orwo 304 (быстрый, Agfa 304)]] === Процессы === * [[Фоторецептурный справочник/Обращаемый процесс Kodak|Обращаемый процесс Kodak (для обращаемых киноплёнок Kodak)]] * [[Фоторецептурный справочник/Обращаемый процесс для плёнки Kodak 5246|Обращаемый процесс для плёнки Kodak 5246]] * [[Фоторецептурный справочник/Прямой обращаемый процесс Kodak|Прямой обращаемый процесс Kodak (для обращаемых фотобумаг Kodak)]] * [[Фоторецептурный справочник/Обращаемый процесс Foma|Обращаемый процесс Foma (метол-гидрохиноновый, для обращаемых кинофотоплёнок Fomapan 17/21/24)]] * [[Фоторецептурный справочник/Обращаемый процесс Foma (фенидоновый)|Обращаемый процесс Foma (фенидон-гидрохиноновый, для обращаемых кинофотоплёнок Fomapan 17/21/24 и Fomapan R 17/21/24)]] * [[Фоторецептурный справочник/Foma R-100|Foma R-100 (для обращаемых кинофотоплёнок Fomapan R 100)]] * [[Фоторецептурный справочник/Процесс Orwo-4105|Процесс Orwo-4105 (для чёрно-белых обращаемых пленок Orwo UP)]] == Цветофотографическая обработка == === Составы === {| class="wikitable sortable" style="font-size:80%;" |- ! rowspan="2" | Название || rowspan="2" | Тип || colspan="3" class="unsortable" | Для фотоматериалов || rowspan="2" | Предназначение и особенности || rowspan="2" | Пополнитель |- ! негативных || позитивных || обращаемых |- | [[Фоторецептурный справочник/Проявитель ГОСТ 5554-63 | Проявитель ГОСТ 5554-63]] || ЦПВ-1 || [[Файл:Check icon.svg|20px|center]] || || || [[Фоторецептурный справочник/Процесс ГОСТ 5554-63|Процесс ГОСТ 5554-63]] || |- | [[Фоторецептурный справочник/Допроявитель ГОСТ 5554-63 | Допроявитель ГОСТ 5554-63]] || || [[Файл:Check icon.svg|20px|center]] || || || [[Фоторецептурный справочник/Процесс ГОСТ 5554-63|Процесс ГОСТ 5554-63]] || |- | [[Фоторецептурный справочник/Фиксаж ГОСТ 5554-63 | Фиксаж ГОСТ 5554-63]] || || [[Файл:Check icon.svg|20px|center]] || || || [[Фоторецептурный справочник/Процесс ГОСТ 5554-63|Процесс ГОСТ 5554-63]] || |- | [[Фоторецептурный справочник/Отбеливатель ГОСТ 5554-63 | Отбеливатель ГОСТ 5554-63]] || || [[Файл:Check icon.svg|20px|center]] || || || [[Фоторецептурный справочник/Процесс ГОСТ 5554-63|Процесс ГОСТ 5554-63]] || |- | [[Фоторецептурный справочник/Orwo Orwocolor 07 | Orwo Orwocolor 07]] || фенидон-гидрохиноновый || || || [[Файл:Check icon.svg|20px|center]] || Чёрно-белый проявитель для процесса [[Фоторецептурный справочник/Процесс Orwo-9165|Orwo-9165]] || {{nobr|[[Фоторецептурный справочник/Orwo Orwocolor 07 R| Orwo Orwocolor 07 R]]}}<br>{{nobr|[[Фоторецептурный справочник/Orwo Orwocolor 07 R/1| Orwo Orwocolor 07 R/1]]}} |- | [[Фоторецептурный справочник/Orwo Orwocolor 14 | Orwo Orwocolor 14]] || ЦПВ-1 || [[Файл:Check icon.svg|20px|center]] || || || Цветной проявитель для процесса [[Фоторецептурный справочник/Процесс Orwo-5168|Orwo-5168]] || |- | [[Фоторецептурный справочник/Orwo Orwocolor 17 | Orwo Orwocolor 17]] || ЦПВ-1 || || || [[Файл:Check icon.svg|20px|center]] || Цветной проявитель для процесса [[Фоторецептурный справочник/Процесс Orwo-9165|Orwo-9165]] || |- | [[Фоторецептурный справочник/Orwo Orwocolor 37 | Orwo Orwocolor 37]] || || [[Файл:Check icon.svg|20px|center]] || || [[Файл:Check icon.svg|20px|center]] || Стоп-ванна для процессов [[Фоторецептурный справочник/Процесс Orwo-5168|Orwo-5168]] и [[Фоторецептурный справочник/Процесс Orwo-9165|Orwo-9165]] || |- | [[Фоторецептурный справочник/Orwo Orwocolor 50 | Orwo Orwocolor 50]] || || [[Файл:Check icon.svg|20px|center]] || || [[Файл:Check icon.svg|20px|center]] || Отбеливатель для процессов [[Фоторецептурный справочник/Процесс Orwo-5168|Orwo-5168]], [[Фоторецептурный справочник/Процесс Orwo-9165|Orwo-9165]] и других || |- | [[Фоторецептурный справочник/Orwo Orwocolor 55 | Orwo Orwocolor 55]] || || [[Файл:Check icon.svg|20px|center]] || || || Отбеливатель для процесса [[Фоторецептурный справочник/Процесс Orwo-5168|Orwo-5168]] || |- | [[Фоторецептурный справочник/Orwo Orwocolor 57 | Orwo Orwocolor 57]] || || || || [[Файл:Check icon.svg|20px|center]] || Отбеливатель для процесса [[Фоторецептурный справочник/Процесс Orwo-9165|Orwo-9165]] || |- | [[Фоторецептурный справочник/Orwo Orwocolor 71 | Orwo Orwocolor 71]] || || [[Файл:Check icon.svg|20px|center]] || || [[Файл:Check icon.svg|20px|center]] || Фиксаж для процессов [[Фоторецептурный справочник/Процесс Orwo-5168|Orwo-5168]] и [[Фоторецептурный справочник/Процесс Orwo-9165|Orwo-9165]] || |- |} === Процессы === * [[Фоторецептурный справочник/Процесс ГОСТ 5554-63|Процесс ГОСТ 5554-63 (для цветных негативных пленок ЦНД, ЦНЛ, ДС и ЛН)]] * [[Фоторецептурный справочник/Процесс Orwo-5168|Процесс Orwo-5168 (для цветных негативных пленок Orwo NC-19 и NC-21)]] * [[Фоторецептурный справочник/Процесс Orwo-9165|Процесс Orwo-9165 (для цветных обращаемых пленок Orwo UT, UK и UD)]] * [[Фоторецептурный справочник/C-41 AMA-1|Альтернативный состав для обработки цветных негативных плёнок по процессу C-41]] * [[Фоторецептурный справочник/RA-4 AMA-1|Альтернативный состав для обработки цветных фотобумаг по процессу RA-4]] == Дополнительная обработка == * [[Фоторецептурный справочник/Восстановление засвеченной фотобумаги|Восстановление засвеченной фотобумаги]] * [[Фоторецептурный справочник/Kodak HT-1a|Kodak HT-1a (проверка качества промывки после фиксажа)]] === Дубители и стоп-ванны === * [[Фоторецептурный справочник/Kodak F-1a|Kodak F-1a (кислый алюмокалиевый дубитель)]] * [[Фоторецептурный справочник/Kodak F-5a|Kodak F-5a (кислый алюмокалиевый дубитель)]] * [[Фоторецептурный справочник/Kodak F-6a|Kodak F-6a (кислый алюмокалиевый дубитель)]] * [[Фоторецептурный справочник/Kodak SB-1|Kodak SB-1 (уксусная стоп-ванна для фотобумаг)]] * [[Фоторецептурный справочник/Kodak SB-1a|Kodak SB-1a (уксусная стоп-ванна для фотоплёнок, фотопластинок и фотоматериалов Kodalith)]] * [[Фоторецептурный справочник/Kodak SB-2|Kodak SB-2 (хромокалиевый дубитель для фотоплёнок)]] * [[Фоторецептурный справочник/Kodak SB-3|Kodak SB-3 (хромокалиевый дубитель, для фотоплёнок и фотопластинок)]] * [[Фоторецептурный справочник/Kodak SH-1|Kodak SH-1 (формалиновый дубитель, щелочной)]] === Ослабители, отбеливатели и осветлители === * [[Фоторецептурный справочник/Foma FB-2|Foma FB-2 (бихроматный отбеливатель для чёрно-белых обращаемых кинофотоплёнок)]] * [[Фоторецептурный справочник/Foma FB-3|Foma FB-3 (осветляющая ванна для чёрно-белого обращаемого процесса Foma R-100)]] * [[Фоторецептурный справочник/Kodak CB-1|Kodak CB-1 (осветляющая ванна для чёрно-белых обращаемых фотобумаг)]] * [[Фоторецептурный справочник/Kodak CB-2|Kodak CB-2 (осветляющая ванна для чёрно-белого обращаемого процесса Kodak)]] * [[Фоторецептурный справочник/Kodak R-1|Kodak R-1 (персульфатный сверхпропорциональный ослабитель, для перепроявленных негативов)]] * [[Фоторецептурный справочник/Kodak R-2|Kodak R-2 (перманганатный поверхностный ослабитель, для переэкспонированных негативов)]] * [[Фоторецептурный справочник/Kodak R-3|Kodak R-3 (феррицианидный поверхностный ослабитель Фармера, для перепроявленных негативов)]] * [[Фоторецептурный справочник/Kodak R-4|Kodak R-4 (феррицианидный поверхностный ослабитель Фармера, для любительского использования с негативами)]] * [[Фоторецептурный справочник/Kodak R-9|Kodak R-9 (бихроматный отбеливатель для чёрно-белых обращаемых киноплёнок)]] * [[Фоторецептурный справочник/Kodak R-10|Kodak R-10 (перманганатный отбеливатель для чёрно-белых обращаемых киноплёнок)]] === Пятновыводители === * [[Фоторецептурный справочник/Kodak SS-1|Kodak SS-1 (иодно-цианидный, от жёлтых пятен серебра в желатиновом контрслое)]] * [[Фоторецептурный справочник/Kodak SS-2|Kodak SS-2 (кислый с тиомочевиной, от дихроической вуали)]] * [[Фоторецептурный справочник/Kodak TC-3|Kodak TC-3 (перманганатный очиститель кювет, от пятен серебра, сульфидов и красителей)]] === Сенсибилизаторы === * [[Фоторецептурный справочник/Пинахромовый сенсибилизатор|Пинахромовый сенсибилизатор (жёлтая и оранжевая часть спектра)]] === Тонеры === * [[Фоторецептурный справочник/Тонирование в процессе проявления|Тонирование в процессе проявления]] * [[Фоторецептурный справочник/Синий вираж|Синий вираж]] * [[Фоторецептурный справочник/Kodak T-1|Kodak T-1 (тиосульфатно-квасцовый тонер, для фотобумаг, сепия)]] * [[Фоторецептурный справочник/Kodak T-1a|Kodak T-1a (тиосульфатно-квасцовый тонер, для контактных фотобумаг, сепия)]] * [[Фоторецептурный справочник/Kodak T-8|Kodak T-8 (полисульфидный тонер, сепия)]] * [[Фоторецептурный справочник/Kodak T-19|Kodak T-19 (сульфидный чернитель для обращаемых фотобумаг, сепия)]] === Усилители === * [[Фоторецептурный справочник/Kodak IN-1|Kodak IN-1 (ртутный усилитель Монкховена, для плёнок и фотопластинок)]] * [[Фоторецептурный справочник/Kodak IN-5|Kodak IN-5 (серебряный пропорциональный, для позитивных и негативных плёнок)]] == Альтернативные процессы == * [[Фоторецептурный справочник/Запыливание|Запыливание]] === Бромойль === * [[Фоторецептурный справочник/Бромойль/Способ Франца Фидлера|Способ Франца Фидлера]] [[Категория:Журналистика]] [[Категория:Фотография]] [[Категория:Фотографические процессы]] [[Категория:Химия]] cqkod8cqpe2agbt3m311acy2b4pgxb1 Некоторые сведения о Perl 5/Ссылки 0 30398 270361 270333 2026-10-14T08:21:44Z ~2026-55038-81 79930 /* Сквозные ссылки */ 270361 wikitext text/x-wiki {{Навигация учебника}} Данные программы размещаются в оперативной памяти компьютера. Обычно мы обращаемся к значениям в памяти через переменные. Каждая переменная имеет свой адрес в памяти. ''Ссылка в Perl'' — это скалярная переменная, которая хранит адрес другой переменной в памяти. Основной областью применения ссылок является создание сложных структур, способных изменяться во время исполнения программы. В языках C и C++ существуют понятия ''указателя'' и ''ссылки'', которые в общем не тождественны друг другу, однако, в Perl это одно и то же. В этой главе мы рассмотрим как работать с ссылками в Perl и как ими пользоваться. == Виды ссылок == Ссылки в Perl появились с 5-й версии из-за необходимости создания структур произвольной сложности, которые невозможно определить через простые переменные, например многомерные массивы. Помимо создания сложных структур, ссылки активно используются для создания объектов ООП. В Perl можно создать ссылку на любые данные, таким образом, можно выделить следующие виды ссылок: * ссылка на скаляр; * ссылка на массив скаляров; * ссылка на хеш-массив; * ссылка на функцию; * ссылка на ссылку (так как ссылка по сути является скаляром, то на саму ссылку также можно создать ссылку); * typeglob ссылка. Ссылка в Perl хранит тип данных, на который она ссылается. Для получения типа ссылки используется функция <code>ref()</code>, аргументом которой должна быть ссылка. Эта функция возвращает пустую строку, если аргумент не является ссылкой, либо один из идентификаторов: * <code>REF</code> – ссылка на ссылку; * <code>SCALAR</code> – ссылка на скаляр; * <code>ARRAY</code> – ссылка на массив скаляров; * <code>HASH</code> – ссылка на хеш-массив; * <code>CODE</code> – ссылка на функцию/процедуру; * <code>GLOB</code> – ссылка на typeglob объект. Ссылки в Perl бывают ''жёсткими'' и ''символическими''. Эти термины не являются изобретением Perl, а перешли в него из Unix. Жесткая ссылка в Perl — это скалярная величина, которая является адресом в памяти, при этом сами данные называются ''субъектом'' этой ссылки. Жесткие ссылки — это истинные ссылки. Таким образом, с самого начала главы мы говорили именно о жестких ссылках. Любая жесткая ссылка внутри Perl увеличивает счетчик использования субъекта ссылки. Субъект будет занимать место в памяти до тех пор, пока на него существует по меньшей мере одна ссылка. Ссылка удаляется, когда счетчик её использования достигает нуля. В свою очередь, счетчик опускается, когда её видимость выходит за блок, в котором она определена. В такой системе, как правило, не происходит утечек памяти из-за ''подвисших ссылок''<ref>''Подвисшей'' называется такая ссылка, которая логически больше не будет использоваться в оставшейся части программы, но её счетчик при этом не равен нулю.</ref>, но такие ситуации всё же могут быть созданы при неправильном программировании. Символическая ссылка в Perl — это скалярная переменная, которая хранит имя другой скалярной переменной. == Определение ссылок == Обычным способом определения ссылки является операция <code>\</code>: <source lang="perl"> $scalar_ref = \3; # ссылка на константу $scalar_ref_1 = $scalar_ref; # ссылка на скаляр $ref_to_ref = \$scalar_ref_1; # ссылка на ссылку $array_ref = \@array; # ссылка на массив $hash_ref = \%hash; # ссылка на хеш-массив $func_ref = \&some_func; # ссылка на функцию </source> С ссылками допустимы все операции, доступные для скаляров, однако, по большому счету все они бессмысленны, кроме присваивания. Основной операцией над ссылками является ''разыменовывание'', т.е. получение данных по ссылке. Способы разыменовавания ссылок мы рассмотрим ниже. === Конструирование анонимного массива скаляров === Имя переменной также выражает имя программного объекта. Perl позволяет конструировать объекты минуя создания переменной, т.е. к таким данным можно обратиться исключительно по ссылке. Такие объекты мы называем ''анонимными'', т.е. к таким объектам нельзя обратиться через переменную (не имеют имени). Чтобы создать анонимный массив, нужно использовать квадратные скобки: <source lang="perl"> $array_ref = [1, 2, 3]; # Анонимный массив с ссылкой, сохраняемой в $array_ref # Предыдущий оператор аналогичен следующим двум $array = (1, 2, 3); $array_ref = \@array; </source> Данный способ является единственным для создания анонимного массива. Язык допускает существование конструкций, смысл которых может быть не очевиден с первого взгляда. Так <source lang="perl"> \($a, $b, $c) # НЕ ОЗНАЧАЕТ анонимный массив с тремя переменными, а является краткой записью (\$a, \$b, \$c) </source> === Конструирование анонимного ассоциативного массива === Чтобы создать анонимный хеш-массив, нужно использовать фигурные скобки: <source lang="perl"> $hash_ref = { 'one' => 1, 'two' => 2, }; # Создает анонимный хеш-массив с ссылкой на него в $hash_ref # Предыдущий оператор аналогичен двум %hash = ('one' => 1, 'two' => 2); $hash_ref = \%hash; </source> === Конструирование анонимной функции === Ссылка на анонимную функцию создается, когда используется ключевое слово <code>sub</code> следющим образом: <source lang="perl"> $func_ref = sub { print "Hello", "\n" }; </source> Язык Perl разрешает вам объявить анонимную процедуру без присваивания<source lang="perl"> # Формально не ошибка сделать так sub { print "@_\n"; }; </source> но сам по себе такой код бесполезен, так как невозможно на него сослаться. Зачастую такой прием используется, чтобы объявить и вызвать процедуру на месте, например, когда нужна одноразовая процедура здесь и сейчас: <source lang="perl"> sub { my $c = 0; foreach my $arg (@_) { printf "ARG#%d: %s\n", $c++, $arg; } }->(1,2,3); # Примечание: операция -> рассмотрена ниже. </source> <pre> ARG#0: 1 ARG#1: 2 ARG#2: 3 </pre> === Конструирование ссылки на объект === Начиная с Perl 5, в язык была добавлена поддержка ООП, основой которого являются ''классы'' и ''объекты''. В Perl доступ к объекту реализован исключительно по ссылке, для создания которой используется специальная функция-конструктор, в которой применяется встроенная функция <code>bless()</code>. Функция-конструктор должна всегда возвращать ссылку. Об ООП в Perl мы поговорим в отдельной главе (''см.'' [[{{Root book name}}/Объектно-ориентированное программирование в Perl|Объектно-ориентированное программирование в Perl]]). === Конструирование typeglob ссылок === Имена всех переменных программы компилятор Perl заносит в специальную таблицу символов. Единицей хранения этой таблицы является так называемое ''гнездо идентификатора''<ref>Имя ссылки <code>glob</code> происходит от слова {{lang-en|global}} — ''глобальный''. Исторически это больше связано не с тем, что определяется что-то глобальное, а то, что под одним идентификатором скрывается множество сущностей. В Unix существует функция <code>glob()</code>, от которой и идёт название, которая по шаблону, переданному ей, разворачивает список значений.</ref>, в которое сохраняются адреса программных объектов, сохраненных под этим идентификатором. Например следующие объекты<source lang="perl"> $a = 5; @a = (1, 2, 3); %a = ("one" => 1); sub a { return 0 }; </source> будут занимать одно гнездо с идентификатором <code>a</code>. В Perl есть возможность получить ссылку на некоторый элемент гнезда с помощью typeglob-ссылки, признаком которой является символ <code>*</code>. Так, имея гнездо, объявленное выше, можно получить ссылки на все программные объекты в нем через такие ссылки: <source lang="perl"> # Аналогично $scalar_ref = *a{SCALAR}; # \$a $array_ref = *a{ARRAY}; # \@a $hash_ref = *a{HASH}; # \%a $code_ref = *a{CODE}; # \&a $glob_ref = *a{GLOB}; # \*a </source> <code>typeglob</code>-ссылки могут использоваться для создания псевдоконстант. Например, следующим образом может быть введена константа Пи: <source lang="perl"> *PI = \3.14159265358979; # Тогда $PI; # это разыменовывание ссылки на константу # При этом $PI нельзя изменить. </source> Кроме перечисленных typeglob-ссылок, существует ещё одна, с помощью которой можно обращаться к файловым дескрипторам: <source lang="perl"> $io_ref = *HANDLE{IO}; # то же $io_ref = *HANDLE; # можно, но не обязательно $io_ref = \*HANDLE; </source> Такая форма появилась вместе с модулем <code>IO::Handle</code> и служит для возврата не совсем ссылки на дескриптор, а ссылки на объект класса <code>IO::Handle</code>. Например, для стандартных дескрипторов всегда будет возвращаться ссылка на объект, имитирующий <code>IO::Handle</code>: <source lang="perl"> for (qw { one two three }) { *STDOUT{IO}->print("$_\n"); } # Вывод: # one # two # three </source> Подробнее о <code>IO::Handle</code> будет рассказано далее (см. [[../Объектно-ориентированное программирование в Perl#Интерфейс IO::Handle|Интерфейс IO::Handle]]). == Разыменовывание ссылок == Разыменованием ссылки называется получение данных, хранящихся в памяти по этой ссылке. Для разыменовывания используются различные синтаксические конструкции, подчас достаточно сложные для визуального восприятия, и к ним нужно просто привыкнуть. Разыменовывание в Perl привязано к типу данных, поэтому для разных типов оно выглядит по разному. Если ссылка является простой скалярной переменной, то при разыменовании нужно использовать соответствующую по типу переменную для операции присваивания, а для ссылки нужно использовать соответствующий идентификатор типа: <source lang="perl"> $var = $$scalar_ref; # Разыменовывание ссылки на скаляр @arr = @$array_ref; # Разыменовывание ссылки на массив %hash = %$hash_ref; # Разыменовывание ссылки на хеш-массив &func = &$code_ref; # Разыменовывание ссылки на функцию # Разыменовывание анонимного массива в lvalue выражении с одновременным порождением ссылки $$array_ref_1[0] = 5; # Разыменовывание анонимного хеш-массива в lvalue выражении с одновременным порождением ссылки $$hash_ref_1{"one"} = 1; </source> Первые четыре разыменовывания выглядят понятно и логично, а последние два немного сложны для понимания, поэтому мы рассмотрим их подробнее. Так как ссылка это скаляр, то сначала произойдет разыменовывание (<code>$$array_ref_1</code>, <code>$$hash_ref_1</code>), и только после этого будет использована индексация (в соответствии с правилами для простых и хеш-массивов). При этом если ссылки до этого не существовали (как в примере), то они будут созданы при присваивании, так как эта операция предполагает их существование. Этот побочный эффект при разыменовывании в lvalue-выражении нужно запомнить. Если ссылка не является простым скаляром (например ссылка хранится в элементе массива), то для ее разыменования нужно использовать блок: <source lang="perl"> ${$array[0]} = 5; ${$hash{"one"}} = 2; ${&f()}[1] = 6; </source> В первом примере предполагается, что в <code>$array[0]</code> массива <code>@array</code> хранится ссылка. Для ее разыменования мы помещаем обращение к ней в массиве в блок, а затем разыменовываем как ссылку из скаляра через <code>$</code> перед блоком. Аналогично мы поступаем, если ссылка хранится в хеш-массиве. В последнем примере мы вызываем функцию <code>f()</code> в блоке, которая возвращает ссылку на массив. Затем мы ее разыменовываем и присваиваем второму элементу массива значение 6. Отметим, что блоки можно использовать и с ссылками, хранящимися в скалярах, например <source lang="perl"> $$array_ref_1[0] = 5; # и ${$array_ref_1}[0] = 5; </source> будут работать одинаково. Но в данном случае фигурные скобки визуально перегружают конструкцию и такое лишнее использование блоков следует избегать на практике. === Операция <code>-></code> === Применение вышеописанных правил разыменования может приводить к появлению громоздких конструкций, вложенных друг в друга, и очень сложных для визуального восприятия. Даже достаточно простые конструкции уже требуют определенного усилия, чтобы их понять, например, сравните <source lang="perl"> ${$a[0]}[1] = 5; ${$b[0]}{"one"} = 1; </source> По этой причине в Perl есть отдельная операция разыменования для массивов в виде стрелки <code>-></code>. Похожую операцию вы могли видеть при разыменовывании указателей в языке Си. Данная операция является бинарной. В левом операнде она ожидает ссылку на массив (простой или хеш-массив), а в правом операнде ожидается индекс массива (в зависимости от типа ссылки). Результатом такого разыменовывания является значение элемента массива или хеш-массива. Таким образом, предыдущий пример может быть компактно записан так: <source lang="perl"> $a[0]->[1] = 5; $b[0]->{"one"} = 1; </source> Благодаря такой записи становится очевидней то, что первая ссылка хранится в массиве <code>@a</code> в первом элементе и является ссылкой на простой массив, а в массиве <code>@b</code> в первом элементе хранится ссылка на хеш-массив. Если ссылки на некоторые массивы хранились бы в скалярных переменных, то запись становится следующей: <source lang="perl"> $array_ref->[0]->[1] = 5; $hash_ref->[0]->{"one"} = 1; </source> В этом примере, если ссылки на массивы не были созданы ранее, то они будут созданы неявно. Использование ссылок таким образом является первым шагом к созданию многоуровневых структур данных. В Perl, при обращении к многоуровневым структурам, допускаются следующие упрощения, о которых следует помнить и пользоваться ими. Например, сравните как эволюционирует обращение к некоторому элементу составного массива: <source lang="perl"> ${${$a[$i]}[$j]}[$k] # то же самое $a[$i]->[$j]->[$k] # то же самое $a[$i][$j][$k] # И для хеш-массива ${${$b[$i]}{"key"}}[$j] # то же самое $b[$i]->{"key"}->[$j] # то же самое $b[$i]{"key"}[$j] </source> Другими словами, знак операции <code>-></code> можно опускать в контексте разыменовывания ссылок на массивы. Этой операцией также разыменовываются ссылки на процедуры/функции. В этом случае правый операнд операции ожидает список аргументов функции в круглых скобках. Сравните <source lang="perl"> $procedure = sub { print "Called: @_\n"; }; # Анонимная функция $procedure->('one', 'two', 'three') ; # Разыменовывание через -> &$procedure ('four', 'five'); # Обычным способом </source> Поначалу работа с многоуровневыми структурами может показаться сложной, однако со временем вы научитесь понимать логику разыменования. == Частые ошибки использования ссылок == Некоторые конструкции, использующие ссылки и кажущиеся с виду нормально, могут вас немало удивить, если не знать особенности их интерпретации. Следующий пример демонстрирует неправильное использование ссылки: <source lang="perl"> # Для печати структуры массива. use Data::Dumper qw(Dumper); sub get_array { return qw { a b c }; } for $i (0..2) { @arr_source = get_array; $arr_target[$i] = \@arr_source; # НЕПРАВИЛЬНО } # Печатаем 1-й раз print Dumper(\@arr_target); $arr_target[1]->[1] = 'e'; # Печатаем 2-й раз print Dumper(\@arr_target); </source> В этом примере мы присваиваем каждому элементу массива <code>@arr_target</code> ссылку на массив <code>@arr_source</code>. Здесь мы наивно полагаем, что компилятор <code>perl</code> внутри цикла будет конструировать переменную <code>@arr_source</code> каждый раз заново, из-за чего ссылка на каждой итерации будет уникальной. Но к сожалению это не так, и результат работы будет следующим: <pre> $VAR1 = [ [ 'a', 'b', 'c' ], $VAR1->[0], $VAR1->[0] ]; $VAR1 = [ [ 'a', 'e', 'c' ], $VAR1->[0], $VAR1->[0] ]; </pre> По печати видно, что все три наши ссылки указывают на одну и ту же область памяти, в которой хранится анонимный массив, а значит изменения по любой из этих ссылок внутри массива <code>@arr_target</code> будут применяться к анонимному массиву, а сам <code>@arr_target</code> с тремя ссылками на один и тот же экземпляр анонимного массива теряет смысл. Решить эту проблему можно минимум тремя способами: * В первом способе следует дать переменной <code>@arr_source</code> лексическую область видимости. Тогда переменная действительно будет конструироваться на каждой итерации по-новому:<source lang="perl"> ... for $i (0..2) { my @arr_source = get_array; # ПРАВИЛЬНО $arr_target[$i] = \@arr_source; # ТЕПЕРЬ ПРАВИЛЬНО } ... </source> Отчасти именно поэтому следует всегда включать директиву <code>use strict;</code>, которая бы требовала это. * Можно пойти с другой стороны и конструировать анонимную ссылку самостоятельно во время присваивания:<source lang="perl"> ... for $i (0..2) { @arr_source = get_array; # МОЖНО НЕ ПИСАТЬ my ... $arr_target[$i] = [ @arr_source ]; # ... ЕСЛИ ССЫЛКА КОНСТРУИРУЕТСЯ В МОМЕНТ ПРИСВАИВАНИЯ. } ... </source> * Можно использовать свойство создания ссылки в момент разыменовывания, но такой способ не самый надежный, так как нужно быть уверенным, что такой ссылки не существует, иначе вы рискуете перетереть предыдущие данные:<source lang="perl"> ... # Этот метод ненадежный, так как требует уверенности, что анонимного массива # не существует. for $i (0..2) { @arr_source = get_array; # МОЖНО НЕ ПИСАТЬ my ... @{$arr_target[$i]} = @arr_source; # ... ЕСЛИ ССЫЛКА КОНСТРУИРУЕТСЯ В МОМЕНТ РАЗЫМЕНОВЫВАНИЯ. } ... </source> Все три способа дадут одинаковый ответ: <pre> $VAR1 = [ [ 'a', 'b', 'c' ], [ 'a', 'b', 'c' ], [ 'a', 'b', 'c' ] ]; $VAR1 = [ [ 'a', 'b', 'c' ], [ 'a', 'e', 'c' ], [ 'a', 'b', 'c' ] ]; </pre> Ещё одной неприятной особенностью Perl является то, что префиксные операции имеют повышенный приоритет перед постфиксными, что ломает логику программистам языков C/C++. Например, запись <source lang="perl"> $$ref[$i]; </source> для программиста на C/C++ трактовалась бы как ''пройти по индексу, а потом разыменовать результат'', но в Perl всё происходит с точностью наоборот — ''разыменовать ссылку, а потом пройти по индексу''. По этой причине, чтобы исключить недопонимание в команде, следует договариваться о том, как лучше записывать разыменовывание: <source lang="perl"> # Так ... $$ref[$i]; # ... так ... ${$ref}[$i]; # ... или так $ref->[$i]; </source> === Подвисшие ссылки === Ниже показан наиболее частый пример подвисшей ссылки — ''циклическая ссылка''. Такую ссылку можно создать в кольцевом буфере из двух элементов. <source lang="perl"> use strict; use warnings; # НЕПРАВИЛЬНО. Код создает утечку памяти из-за циклической ссылки. sub memory_leak { my $head = {}; my $tail = {}; $head->{'tail'} = $tail; $tail->{'head'} = $head; } memory_leak; </source> В этом примере мы конструируем две ссылки на хеши: <code>$head</code> и <code>$tail</code>. Внутри каждого хэша создано ещё по одной ссылке, причём в хеше <code>%$head</code> ссылка <code>$head->{'tail'}</code> ссылается на <code>$tail</code>, а в <code>%$tail</code> ссылка <code>$tail->{'head'}</code> ссылается на <code>$head</code>. Таким образом, у <code>$head</code> и <code>$tail</code> к концу блока процедуры счетчик использования ссылки равен 2. При выходе из блока, счетчик использования каждой ссылки опустится до 1, потому что система увидит, что ссылки <code>my $head</code> и <code>my $tail</code> выходят из зоны видимости блока процедуры, но он никогда не опустится до нуля, потому что ссылки в каждом хэше останутся как бы подвисшими из-за взаимного владения. При вызове этой функции один раз ничего страшного происходить не будет, но при очень большом количестве, память программы будет постепенно тратиться, пока в конечном итоге она не вылетит с ошибкой ''Out of Memory''. В больших программах такую ошибку допустить очень просто, но обнаружить её крайне тяжело. По факту утечка памяти может не проявляться до поры до времени. Увидеть её можно только через отладчик, поэтому при работе с ссылками нужно быть крайне внимательным, если они передаются между различными частями программы: нужно контролировать владельца ссылки, чтобы она случайно не подвисла. Чтобы исправить эту ошибку при такой конфигурации исходного кода, нужно разорвать взаимное владение внутри хешей, сделав одну из ссылок ''слабой''. Слабые ссылки на уровне интерпретации не повышают счетчик использования. <source lang="perl"> use strict; use warnings; use Scalar::Util qw(weaken); # ТЕПЕРЬ ПРАВИЛЬНО. sub fixed_memory_leak { my $head = {}; my $tail = {}; $head->{'tail'} = $tail; $tail->{'head'} = $head; weaken($tail->{'head'}); # Теперь ссылка слабая. } fixed_memory_leak; </source> Теперь ссылка <code>$tail->{'head'}</code> слабая, т.е. она не владеет хешем, на который ссылается <code>$head</code>. Таким образом, к концу процедуры счетчик владения у <code>$head</code> будет 1, а у <code>$tail</code> — 2. Сначала освободится ссылка <code>$head</code>, а в это время у <code>$tail</code> счетчик станет 1. Затем при осовбождении памяти от <code>my $tail</code> её счетчик обнулится и память освободится полностью. == Символические ссылки == Символической ссылкой называется переменная, которая хранит имя другой переменной. Разыменовывание символической ссылки происходит аналогично жесткой ссылке: <source lang="perl"> $ref_var = "var"; # Символическая ссылка на переменную 'var' # Разыменовывание ссылки на скаляр $var с присваиванием. Аналогично $var = 5; $$ref_var = 5; # Разыменовывание ссылки на массив @var с присваиванием. @$ref_var = (1, 2, 3); # Операция -> может использоваться с символическими ссылками $ref_var->[3] = 4; # Аналогично $var[3] = 4; # Разыменовывание ссылки на хеш-массив %var %$ref_var = ("one" => 1, "two" => 2); sub var { print "hello" } # Разыменовывание ссылки на функцию &$ref_var(); </source> Символическая ссылка может указывать только на переменную, имя которой хранится в таблице символов пакета. Это означает, что нельзя ссылаться на локальные переменные, создаваемые при помощи <code>my()</code>, по символическим ссылкам, так как такие переменные в эту таблицу не записываются. <source lang="perl"> $ref_a = "a"; $$ref_a = 1; { my $a = "2"; print $$ref_a; # Напечатается 1, так как my $a не видна этому механизму } print $$ref_a; # Напечатается 1 </source> Символические ссылки в большинстве случаев нежелательны, так как они могут запутывать код и создавать неявные ошибки. В больших программах их использование следует запрещать с помощью директивы <code>use strict 'refs';</code>. На практике по символическим ссылкам обычно передаются и разыменовываются только функции. == Примеры использования ссылок == === Многомерные массивы === Простейшим примером использования ссылок являются многомерные массивы, которые могут быть представлены массивом массивов. Простейшим массивом массивов является матрица, которая представляет числа в виде таблицы. Создать матрицу можно так <source lang="perl"> @matrix = ( [1, 2, 3], [4, 5, 6], [7, 8, 9] ); # Цикл печати матрицы foreach (@matrix) { # Конструкция $#$_ вернет последний индекс массива по ссылке for (my $i=0; $i <= $#$_; $i++) { print $$_[$i], " "; } print "\n"; } </source> === Замыкания === ''Замыкание'' ({{lang-en|closure}}) — это особый вид анонимной функции, внутри которой используются переменные, определенные вне тела этой функции. Замыкания используются, когда нужно сгенерировать несколько процедур, начальные статичные данные для каждой из которых нужно сделать своими. Замыкания в Perl создаются через две функции, одна из которых (внешняя) конструирует анонимную функцию, передавая ей свободные переменные. <source lang="perl"> sub build_closure { my $free = shift; # Свободная переменная return sub { my $closure_var = shift; # Аргумент замыкания return $free + $closure_var; # Переменная $free для замыкания статична } } </source> У замыканий бывают самые разные применения: например, если парсится некая структура, в которой есть разные блоки, но при этом принцип парсинга для каждого из них одинаковый, можно было бы генерировать замыкание для каждого типа блока, передавая в свободных переменных только особенности каждого блока, оставив алгоритм парсинга в функции замыкания; функции-колбеки хорошо ложатся под замыкания; различные hook-функции и другие примеры. Ниже приведен пример замыкания, которое печатает элементы массивов столбиком в зависимости от форматной строки, которая передавалась при конструировании замыкания. <source lang="perl"> sub formatter { my $format = shift; return sub { foreach $element (@_) { printf STDOUT $format, $element; } } } @arr = ("apple", "pear", "grapes"); $print_left = formatter("|%-30s|\n"); $print_right = formatter("|%30s|\n"); $print_left->(@arr); $print_right->(@arr); </source> <source lang="bash"> |apple | |pear | |grapes | | apple| | pear| | grapes| </source> === Вычисленный вызов функции === Используя ссылки и таблицу символов пакета, вы можете вычислить ссылку на любую функцию в нём, открывая тем самым простор для абстрактного программирования, т.е. когда реализации ещё нет, но порядок вызова этой реализации понятен. Рассмотрим такой пример. <source lang="perl"> # Файл: callable.pl sub a { print "Called " . __PACKAGE__ . "::a function\n"; } sub b { print "Called " . __PACKAGE__ . "::b function\n"; } sub c { print "Called " . __PACKAGE__ . "::c function\n"; } $glob = __PACKAGE__ . "::" . $ARGV[0]; print "Trying to find procedure: $glob\n"; if ($glob and *{$glob}{CODE}) { $func_ref = *{$glob}{CODE}; $func_ref->(); } else { print STDERR "[WARN]: Cannot find procedure: $glob\n"; } </source> Здесь мы объявили три процедуры с именами <code>a</code>, <code>b</code> и <code>c</code>. В этой реализации пользователь передает первым аргументом имя процедуры, которую он хочет вызвать. Как вы узнаете позже, если функция не была объявлена в явном пакете, она объявляется в пакете <code>main::</code>. Мы используем макрос <code><nowiki>__PACKAGE__</nowiki></code>, чтобы развернуть на месте имя текущего действующего пакета. Затем мы объединяем имя пакета с именем переданной функции, а затем, используя glob-ссылку, вызываем её, если она объявлена в текущем пакете. <source lang="bash"> $ perl ./callable.pl a Trying to find procedure: main::a Called main::a function $ perl ./callable.pl b Trying to find procedure: main::b Called main::b function $ perl ./callable.pl c Trying to find procedure: main::c Called main::c function $ perl ./callable.pl d Trying to find procedure: main::d [WARN]: Cannot find procedure: main::d </source> === Сквозные ссылки === ''Сквозными'' называются такие ссылки, которые передаются в стеке вызовов без лишнего копирования и переименовывания по пути. Это способ передачи данных между процедурами является самым правильным, когда структура, на которую отсылает ссылка, является сложной, тяжёлой и, возможно, данные в ней нужно редактировать на месте. Когда вы передаете ссылку в глубину через несколько процедур, просто передавайте скаляр на неё, используя псевдонимы из массива <code>@_</code>. <source lang="perl"> sub procedure_1 { my ($data) = @_; # Используем псевдоним push @$data, 'procedure_1'; procedure_2($data); } sub procedure_2 { # Или работаем с @_ на месте. push @{$_[0]}, 'procedure_2'; procedure_3($_[0]); } sub procedure_3 { push @{$_[0]}, 'procedure_3'; } my $ref = []; procedure_1($ref); print "$_\n" foreach @$ref; </source> <pre> procedure_1 procedure_2 procedure_3 </pre> Можно написать тот же код с прототипами. <source lang="perl"> sub procedure_1(\@) { my ($data) = @_; # Используем псевдоним push @$data, 'procedure_1'; procedure_2($data); } sub procedure_2(\@) { # Или работаем с @_ на месте. push @{$_[0]}, 'procedure_2'; procedure_3($_[0]); } sub procedure_3(\@) { push @{$_[0]}, 'procedure_3'; } my @array; procedure_1(@array); print "$_\n" foreach @array; </source> <pre> procedure_1 procedure_2 procedure_3 </pre> Можно пойти дальше и заставить каждую процедуру возвращать ссылку так, чтобы одна и та же структура путешествовала бы в стеке вызовов в обе стороны. Ниже показан пример на анонимном массиве только для демонстрации того, что ссылка прошла в обе стороны. <source lang="perl"> sub procedure_1(\@) { my ($data) = @_; # Используем псевдоним push @$data, 'procedure_1'; return procedure_2($data); } sub procedure_2(\@) { # Или работаем с @_ на месте. push @{$_[0]}, 'procedure_2'; return procedure_3($_[0]); } sub procedure_3(\@) { push @{$_[0]}, 'procedure_3'; return $_[0]; } print "$_\n" for @{procedure_1( @{[]} )}; </source> <pre> procedure_1 procedure_2 procedure_3 </pre> Ссылка не обязательно должна конструироваться на стороне клиентского кода: её можно конструировать в теле цепочки вызовов. <source lang="perl"> sub procedure_1 { my $data = procedure_2(); push @$data, "procedure_1"; return $data; } sub procedure_2 { my $data = procedure_3(); push @$data, "procedure_2"; return $data; } sub procedure_3 { my $data = ['procedure_3']; return $data; } print "$_\n" for @{ procedure_1() }; </source> <pre> procedure_3 procedure_2 procedure_1 </pre> Не нужно бояться конструировать ссылку в теле процедуры. Если ссылка возвращается из процедуры, интерпретатор не будет понижать счетчик использования ссылки в момент выхода из неё, как можно было бы подумать. <source lang="perl"> sub procedure { my %data = ( data => "some string" ); return \%data; # Можно было бы подумать, что сконструированная ссылка будет удалена # в момент выхода из процедуры, но нет. Интерпретатор прекрасно видит, # что она используется снаружи. } use Data::Dumper; print Dumper &procedure; $ref = &procedure; # Здесь владение ссылкой передается переменной $main::ref. print Dumper $ref; </source> <pre> $VAR1 = { 'data' => 'some string' }; $VAR1 = { 'data' => 'some string' }; </pre> Если ссылка не может быть сконструирована по логике программы по каким-то причинам, обычно следует возвращать из процедуры <code>undef</code>, а не пустую ссылку. Но если вы конструируете массивы или хэши, то возврат пустой ссылки является приемлемым решением, потому что обычно клиентский код не проверяет, что в ссылке на самом деле вернулось. Если и этот вариант не подходит, то следует выбросить исключение. <source lang="perl"> # Пример с возвратом undef. use feature 'say'; # Возвращает из базы данных данные профиля по идентификатору. sub get_user_data { my $id = shift; if ($id != 42) { return undef; } # Пользователь не найден return { name => 'Larry', role => 'admin' }; } # Принимает на вход идентификатор и выгружает данные профиля из базы. sub process_profile { my $id = shift; my $user = get_user_data($id) // {}; return $user->{role}; } say process_profile(42); # admin say process_profile(99); # В этом случае вернется undef, но программа не упадет. </source> <source lang="perl"> # Пример с возвратом ссылки на пустой массив. use feature 'say'; sub AUTOLOAD { undef } sub find_orders_by_date { my $date = shift; my @orders = db_select($date); # В этом месте будет вызвана AUTOLOAD. if (!@orders) { return []; } # До сюда мы никогда не доберемся. return \@orders; } # В этом примере всегда будет возвращаться ссылка на пустой массив. my $orders_ref = find_orders_by_date('2026-10-09'); # Цикл просто не выполнится, если заказов нет, но код НЕ упадет! foreach my $order (@$orders_ref) { say $order->{id}; } </source> Если <code>undef</code> и пустые ссылки — штатная ситуация, то выброшенное исключение обычно говорит о нарушении API-контракта со стороны клиентского кода. Ниже показан типичный случай с использованием модуля <code>Carp</code>. <source lang="perl"> use Carp qw(croak); sub internal_parser { my ($config_ref) = @_; # Проверяем сквозную ссылку if (!defined $config_ref) { # Сработает как die, но покажет строку в основном скрипте, # где вызвали эту функцию с плохими параметрами! croak "Configuration is not defined."; } return $config_ref->{db_name}; } # --- Основной скрипт --- my $config = undef; # Забыли прочитать файл # Ошибка укажет на ЭТУ строку, а не на строку внутри функции internal_parser my $db = internal_parser($config); </source> <pre> Configuration is not defined. at .\a.pl line 7. main::internal_parser(undef) called at .\a.pl line 19 </pre> == Примечания == {{примечания}} 3wk4it10qk6wou764cooai6vjhvglvv Фоторецептурный справочник/Kodak D-19bR 0 35763 270360 269217 2026-10-13T20:53:00Z Def2010 48479 оформление 270360 wikitext text/x-wiki '''Kodak D-19bR''' — состав пополнителя, добавляющийся к использованному проявителю [[Фоторецептурный справочник/Kodak D-19b|Kodak D-19b]] для восстановления его активности{{sfn|W-1|1944|с=10}}. Как и другие пополнители, обычно применяется при машинной обработке или при ручной обработке большого количества фотоматериалов. == Состав == * [[w:Метол|Метол]] — 4,0 г; * [[w:Сульфит натрия|Сульфит натрия]] крист. — 144 г; : или [[w:Сульфит натрия|сульфит натрия]] безв. — 72 г; * [[w:Гидрохинон|Гидрохинон]] — 16,0 г; * [[w:Карбонат натрия|Карбонат натрия]] крист. — 130,0 г; : или [[w:Карбонат натрия|карбонат натрия]] безв. — 48,0 г; * [[w:Гидроксид натрия|Гидроксид натрия]] — 7,5 г; * Вода (холодная) — до 1 л. == Обработка == При обработке пополнитель добавляют в бак в объёме, поддерживающем постоянный объём раствора проявителя{{sfn|W-1|1944|с=10}}. == Примечания == {{Примечания}} == Литература == * {{книга | заглавие = Kodak publication W-1: Formulary | издательство=Research Laboratories Kodak Limited | место = Wealdstone | год = 1944 | ref = W-1}} [[Категория:Проявители|Kodak D-19bR]] 31ir5lee9f2advm54bpsal07hab0h34 Категория:Кобылье молоко 14 35906 270354 2026-10-13T16:05:30Z ~2026-55058-21 79925 Новая страница: «нуууу эта канча каня» 270354 wikitext text/x-wiki нуууу эта канча каня hossjcq47dliumqybkhavcu21209o3p Фоторецептурный справочник/Процесс Orwo-4105 0 35907 270363 2026-10-14T11:05:12Z Def2010 48479 Стаб по рецептам ORWO 270363 wikitext text/x-wiki '''Процесс Orwo-4105''' — процесс фотографической обработки чёрно-белых обращаемых фотоплёнок, производившихся в ГДР до середины 1990х годов включительно. Сам процесс разработан в 1960-х годах для плёнки Orwo UP 15 вместо более старого процесса [[Фоторецептурный справочник/Процесс Orwo-4100|Orwo-4100]], который продолжал параллельно использоваться до 1970-х для плёнки Orwo UP 22, а ранее использовался и для других обращаемых плёнок, выпускавшихся под брендом Agfa до возникновения бренда Orwo{{sfn|Orwo|1978|с=45—46}}. == Обработка == {| class="wikitable" |- ! № !! Стадия обработки !! Температура, °C !! Продолжительность, мин !! Используемый состав !! Примечание |- | 1 || Первое проявление || 20±0,25 || 5—7 || [[Фоторецептурный справочник/Orwo 829|Orwo 829]] || |- | 2 || Промывка || 13,5±1,5 || 4 || || |- | 3 || Обращение || 20±1 || 2 || [[Фоторецептурный справочник/Orwo 833|Orwo 833]] || |- | 4 || Промывка || 13,5±1,5 || 2 || || |- | 5 || Осветление || 20±1 || 2 || [[Фоторецептурный справочник/Orwo 835|Orwo 835]] || |- | 6 || Промывка || 13,5±1,5 || 2 || || |- | 7 || Засветка || || 2 || Лампа 100 Вт на 50 см || |- | 8 || Второе проявление || 20±0,5 || 2 || [[Фоторецептурный справочник/Orwo 842|Orwo 842]] || |- | 9 || Промывка || 13,5±1,5 || 1 || || |- | 10 || Фиксирование || 20±1 || 2 || [[Фоторецептурный справочник/Orwo 303|Orwo 303]] || |- | 11 || Промывка || 13,5±1,5 || 6 || || |- | 12 || Смачиватель || 20±1 || 0,5 || Orwo F-905 (1+200) || |- | 13 || Сушка || до 40 °C || || || |- |} Первые три стадии проводятся в темноте, но допускается кратковременное освещение со светофильтром Orwo № 108{{sfn|Orwo|1978|с=45—46}}. == Замечания == Orwo F-905 — смачиватель, состоящий из водного раствора ПАВ — тридецилового эфира полиоксиэтилена. Может быть заменён другими фотографическими смачивателями или ПАВами. == Примечания == {{Примечания}} == Литература == * {{книга | заглавие = ORWO Рецепты. Режимы и рецептура для обработки фотографических материалов | ответственный = ред. Хюбнер Г., Краузе В| издательство = VEB Filmfabrik Wolfen | год = 1978 | ref = Orwo}} [[Категория:Фотографические процессы]] sg65741i28k214fmlxg78b0iyagg9sr 270364 270363 2026-10-14T11:39:10Z Def2010 48479 Push/pull 270364 wikitext text/x-wiki '''Процесс Orwo-4105''' — процесс фотографической обработки чёрно-белых обращаемых фотоплёнок, производившихся в ГДР до середины 1990х годов включительно. Сам процесс разработан в 1960-х годах для плёнки Orwo UP 15 вместо более старого процесса [[Фоторецептурный справочник/Процесс Orwo-4100|Orwo-4100]], который продолжал параллельно использоваться до 1970-х для плёнки Orwo UP 22, а ранее использовался и для других обращаемых плёнок, выпускавшихся под брендом Agfa до возникновения бренда Orwo{{sfn|Orwo|1978|с=45—46}}. == Обработка == {| class="wikitable" |- ! № !! Стадия обработки !! Температура, °C !! Продолжительность, мин !! Используемый состав !! Примечание |- | 1 || Первое проявление || 20±0,25 || 5—7 || [[Фоторецептурный справочник/Orwo 829|Orwo 829]] || |- | 2 || Промывка || 13,5±1,5 || 4 || || |- | 3 || Обращение || 20±1 || 2 || [[Фоторецептурный справочник/Orwo 833|Orwo 833]] || |- | 4 || Промывка || 13,5±1,5 || 2 || || |- | 5 || Осветление || 20±1 || 2 || [[Фоторецептурный справочник/Orwo 835|Orwo 835]] || |- | 6 || Промывка || 13,5±1,5 || 2 || || |- | 7 || Засветка || || 2 || Лампа 100 Вт на 50 см || |- | 8 || Второе проявление || 20±0,5 || 2 || [[Фоторецептурный справочник/Orwo 842|Orwo 842]] || |- | 9 || Промывка || 13,5±1,5 || 1 || || |- | 10 || Фиксирование || 20±1 || 2 || [[Фоторецептурный справочник/Orwo 303|Orwo 303]] || |- | 11 || Промывка || 13,5±1,5 || 6 || || |- | 12 || Смачиватель || 20±1 || 0,5 || Orwo F-905 (1+200) || |- | 13 || Сушка || до 40 °C || || || |- |} Первые три стадии проводятся в темноте, но допускается кратковременное освещение со светофильтром Orwo № 108{{sfn|Orwo|1978|с=45—46}}. Время первого проявления может позволить компенсировать недосвет/пересвет при экспозиции — пленки с недостаточной экспозицией можно проявлять 7—8 минут, переэкспонированные — 5—6{{sfn|Orwo|1978|с=45—46}}. == Замечания == Orwo F-905 — смачиватель, состоящий из водного раствора ПАВ — тридецилового эфира полиоксиэтилена. Может быть заменён другими фотографическими смачивателями или ПАВами. == Примечания == {{Примечания}} == Литература == * {{книга | заглавие = ORWO Рецепты. Режимы и рецептура для обработки фотографических материалов | ответственный = ред. Хюбнер Г., Краузе В| издательство = VEB Filmfabrik Wolfen | год = 1978 | ref = Orwo}} [[Категория:Фотографические процессы]] 0vtvkra15wcssnxcxmm7rzepytx6m6z