Для решения проблемы отправляемся в раздел Настройки магазина – Типы плательщиков, путь имя_сайта/bitrix/admin/sale_person_type.php?lang=ru и удалить там типы плательщиков привязанные к тому сайту который мы удаляем. Перед удалением, возможно, потребуется удаление заказов связанных с этим плательщиком, путь имя_сайта/bitrix/admin/sale_order.php?lang=ru
реклама на этом сайте
Постоянная ссылка: http://bxapi.ru/src/?id=176441
// CSocNetGroup::OnBeforeLangDelete()
// /bitrix/modules/socialnetwork/classes/general/group.php:1233
public static function OnBeforeLangDelete($lang)
{
global $APPLICATION, $DB;
$r = $DB->Query("
SELECT GROUP_ID
FROM b_sonet_group_site
WHERE SITE_ID='".$DB->ForSQL($lang, 2)."'
ORDER BY GROUP_ID
");
$arSocNetGroups = array();
while($a = $r->Fetch())
$arSocNetGroups[] = $a["GROUP_ID"];
if(count($arSocNetGroups) > 0)
{
$APPLICATION->ThrowException(GetMessage("SONET_GROUP_SITE_LINKS_EXISTS", array("#ID_LIST#" => implode(", ", $arSocNetGroups))));
return false;
}
else
return true;
}
‘;
Ситуация
Битрикс, пытаюсь удалить тип инфоблока — получаю ошибку:
«Ошибка удаления. Возможно есть ссылающиеся объекты.»
Решение
Захожу в редактирование типа инфоблока.
Переключаюсь на вкладку «Торговый каталог»
Снимаю галочки «Является торговым каталогом» и «Инфоблок имеет торговые предложения».
После этого получилось удалить тип инфоблока.
Источник
Помогла тема форума
http://dev.1c-bitrix.ru/support/forum/forum26/topic35556/1
Ошибка Fatal error: Class «CSocNetGroup» not found является стандартной системной ошибкой CMS 1C-Bitrix. Она возникает на странице при вызове методов не подключенного класса.
Поскольку невозможно держать в памяти десятки модулей Битрикса, сотни их классов и связи между ними, часто при обнаружении ошибки Fatal error: Class «CSocNetGroup» not found возникает вопрос, какой модуль надо подключить?
Ошибка Fatal error: Class «CSocNetGroup» not found возникает из-за того, что не найден класс CSocNetGroup модуля socialnetwork.
Для исправления ошибки подключите в коде модуль socialnetwork до вызова методов класса CSocNetGroup.
Для подключения модуля socialnetwork используйте следующий код.
if(CModule::IncludeModule("socialnetwork")) { //здесь можно использовать функции классов модуля socialnetwork }
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
1 |
|
23.07.2020, 10:32. Показов 2231. Ответов 44
Вопрос вам основной ! Есть класс https://dev.1c-bitrix.ru/api_h… update.php вам с методом Update ! Этот метод где нибудь прописывается — и описывается? Где он описывается в самом модуле установленном на битрикс? Прям укажите путь — если он в классе в установленном по пути — /bitrix/modules/socialnetwork/classes/general — в каком файле?
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
23.07.2020, 10:32 |
44 |
439 / 406 / 113 Регистрация: 15.02.2012 Сообщений: 1,760 |
|
24.07.2020, 13:38 |
2 |
в плане найти метод очень полезно использовать IDE с возможностью заводить проекты, обычно по ним можно искать нужное. Кроме того есть полезный ресурс — вот ващ метод https://bxapi.ru/src/?module_i… up::Update
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
24.07.2020, 15:11 [ТС] |
3 |
А внутри можно ли эти методы переписывать? Добавлено через 18 минут
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
24.07.2020, 16:31 |
4 |
Это будет грубейшая ошибка.
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
24.07.2020, 19:53 [ТС] |
5 |
Что никакую зашлушку на это изменение не поставишь на этот метод чтобы обновление не касалось его? Добавлено через 7 минут Добавлено через 2 часа 29 минут Мне вот нужно чтобы метод delete в csocnetgroup — чтобы срабатывал при определенных условиях (например отсутсвие активности в добавлении новых пользователей, новых сообщений , новых файлов?) Как условия на мои изменения поставить?
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
25.07.2020, 00:55 |
6 |
Поищите в документации где то рядом с описанием этого класса события, которые он генерирует. Наверняка там есть событие типа BeforeDelete. Делаете обработчик в котором проверяете необходимые условия, и, если необходимо прекращаете выполнение удаления.
0 |
Dorofej -35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
||||
25.07.2020, 08:05 [ТС] |
7 |
|||
Да там полно условий — а вот — $db_events = GetModuleEvents(«socialnetwork», «OnBeforeSocNetGroupDelete»); НАПРИМЕР
А как вот сделать именно обработчик на мои события например отсутсвие активности в добавлении новых пользователей, новых сообщений , новых файлов? покажите прям пример по моим условиям я не разу не делал?
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
25.07.2020, 19:45 |
8 |
Согласно документации обработчик должен вернуть false если надо остановить. Ну так вот выясняете была ли активность по тем критериям, которые считаете нужными и возвращаете либо false либо true.
0 |
Dorofej -35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
||||
25.07.2020, 20:05 [ТС] |
9 |
|||
Как добавить в этот участок условие удаления — прям напишите кодом — в отсутствии активности в добавлении новых пользователей, новых сообщений, новых файлов? Или удаления просто хотя бы отсутствия активности?
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
25.07.2020, 20:13 |
10 |
Зачем вы этот код приводите? Этот код (код из ядра) править не надо совсем. Еще раз повторюсь. Вам необходимо: В обработчике проверяете свои условия. И возвращаете true или false. Вот ссылка на статью про обработчики событий (правда устаревший подход) в курсе. Вот статья где расписано различие в подключении обработчиков между старым и новым ядрами. (Новое это D7) Который я вам очень настоятельно рекомендую прочитать. Значительная часть ответов на ваши вопросы в этом курсе есть.
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
25.07.2020, 21:29 [ТС] |
11 |
Хорошо напишите условие удаления хотя бы отсутствия активности?
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
26.07.2020, 05:48 [ТС] |
12 |
Ваши статьи я прочитал. Напишите прям условие IF то удалить. Отсутствия активности. ЧТо в условии IF будет
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
26.07.2020, 13:07 |
13 |
Нет. Писать готовый код я точно не буду с этим во фриланс Помочь найти решение могу. И для этого четко сформулируйте критерии отсутствия активности.
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
26.07.2020, 13:11 [ТС] |
14 |
Вместо if ($GLOBALS[‘USER’]->GetID() == 2) что в условии поставить? Для группы условие удаления хотя бы отсутствия активности?Из статьи https://dev.1c-bitrix.ru/learn… ON_ID=3395 по методу delete . Что в If скобки поставить? Добавлено через 1 минуту Добавлено через 1 минуту
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
26.07.2020, 13:17 |
15 |
Итак. Начнем с первого.
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
26.07.2020, 13:29 [ТС] |
16 |
Там есть в методе update — вариант active условие Y and N . Просто в самой документации не написано в каких случаях прописывается active Y и active N. — вот это бы понять КАК??? ( просто соц сети как модулю нет и полугода) А так отсутствие новых пользователей получается— если текстом не выполнялись добавление пользвоателей то не выполянлись добавления в таблицы базы данных в течении месяца — каких также выяснить (поддержка вообще молчит). Для начала в каких случаях прописывается active Y и active N в методе update класса https://dev.1c-bitrix.ru/api_h… ocnetgroup (еще active есть в getbyid ) в delete его не видно?
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
26.07.2020, 13:37 |
17 |
Вам зачем вообще метод update. Для начала забудьте вообще про код. Вы сами себя загоняете в угол, т.к. не можете сформулировать четко задачу. Что значит не добавлялись? Подержка на такую ерунду вообще не должна реагировать. Если вы уж взялись за работу разработчика то вы должны изучить и программирование вообще и продукт в целом. Вам ведь надо понять не было ли в этой группе за определенный промежуток времени пользователей. Так?
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
26.07.2020, 16:29 [ТС] |
18 |
Не пользователей а не было добавлено новых пользователей например за год? Добавлено через 1 минуту Добавлено через 1 час 49 минут
0 |
2218 / 1146 / 230 Регистрация: 16.03.2008 Сообщений: 5,494 Записей в блоге: 2 |
|
26.07.2020, 18:28 |
19 |
Ну вот видите. Все крутится вокруг пользователей. значит и надо заходить через них. Т.е. надо найти пользователей которые были довлены в группу в определенный период. Если список получится пустой — значит ни кого не доавляли.
0 |
-35 / 3 / 0 Регистрация: 20.06.2011 Сообщений: 876 |
|
26.07.2020, 20:12 [ТС] |
20 |
Тогда какие таблицы базы данных в битрикс будут участвовать в добавлении пользователей, какие в публикации сообщений и файлов? Хотя бы в одном случае знаете?
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
26.07.2020, 20:12 |
Помогаю со студенческими работами здесь Где находится html-код в ASP.NET Visual Studio Вывести название музея и страну, где он находится, в коллекции которых находится наибольшее кол-во картин Гойи Поменять местами строку , в которой находится максимальный элемент со строкой, где находится минимальный элемент матрицы Где находится голова и где хвост у односвязного списка Update, где ошибка? Вот такой скрипт для обновления актуальных дат и статусов в таблице: <?php Где ошибка? (UPDATE) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 20 |