|  27.04.2004, 15:19 | #1 | 
| Участник |  Редактирование записи 
			
			Подскажите что не так, вроде делаю все правильно.  В Сериях документов создаю серию для Личности, пример, ЛИЧ. В модуле Управление персоналом в Параметрах на вкладке Номерные серии выбираю из списка серию документов ЛИЧ, система плюется такой вот ошибкой: "Невозможно отредактировать запись в 'Ссылки на серии' ('NumberSequenceReference'). Вы пытаетесь оперировать с одной записью, но затрагивается большее количество записей, проверьте индексы, запустите синхронизацию, либо что-то эквивалентное" Пробовал запускать Синхронизацию и Обновление данных после синхронизации, не помогает. ????????????? | 
|  | 
|  27.04.2004, 17:57 | #2 | 
| Administrator | 
			
			Попробуйте запустить проверку данных (Администрирование - Периодические операции - SQL Администрирование; Таблицы - Проверить/Синхронизировать). Лучше запускайте сразу для всех таблиц.
		 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  05.05.2004, 10:50 | #3 | 
| Участник | 
			
			Пробовал запускать Синхронизацию таблиц, не помогает
		 | 
|  | 
|  25.01.2005, 13:11 | #4 | 
| Участник |   
			
			Здравствуйте, у меня возникла аналогичная ошибка при сохранении записей: "Невозможно сохранить запись. Вы пытаетесь оперировать с одной записью, но затрагивайте большее количество записей..." По данной проблеме нашла две темы на ахфоруме, однако нигде не было найдено решение проблемы в переписке. Темы довольно старые и я подумала, может,  все же вам удалось побороть ошибку и узнать, с чем она была связана? Можете помочь советом?
		 | 
|  | 
|  25.01.2005, 13:14 | #5 | 
| Модератор | 
			
			Имхо, одинаковые имена у кодов - серий документов. Попробуйте переименовать. С Уважением, Георгий | 
|  | 
|  25.01.2005, 13:26 | #6 | 
| Участник | 
			
			Спасибо за ответ, правда, вряд ли в моем случае это поможет. Дело в том, что подобной ошибки я добиваюсь несколько иным путем. К примеру, создала подряд несколько записей в справочнике "Счетов главной книги" (или в другой таблице), далее перемещаюсь между записями, обновляю то в одной поле, то в другой. Затем пытаюсь сохранить запись, и система радует таким сообщением....
		 | 
|  | 
|  25.01.2005, 13:32 | #7 | 
| Модератор | 
			
			Ключевое поле должно быть уникальным... Такая ошибка может быть, если Вы, допустим, забила два одинаковых номера счета (Допустим, 62.2.2 и 62.2.2). Если же она возникает просто при переходе по записям...   ? То тогда-к программистам. Они должны подсказать, откуда возникает ошибка (посмотрев стек вызовов) С Уважением, Георгий | 
|  | 
|  25.01.2005, 13:42 | #8 | 
| Участник | 
			
			С уникальностью ключевых полей понятно, конечно. Но изменяю  я далеко не ключевые. :-(  И это не плод наших трудов, поскольку ошибка возникает также и на чистом репозитарии SP3. Хорошо,  посмотрим еще: есть ли в хотфиксах упоминания какие-либо данной ошибки... спасибо
		 | 
|  | 
|  31.01.2017, 16:59 | #9 | 
| Участник | 
			
			Добрый день. Хочу возобновить обсуждение этой темы. В некоторых случаях на разных таблицах при сохранении записи стало появляться сообщение "Вы пытаетесь оперировать с одной записью, но затрагивается большее количество записей. Проверьте индексы, запустите синхронизацию базы данных, или что-либо эквивалентное." Аксапта работала 10 лет без подобных ошибок, а на днях разные пользователи при разных действиях на разных таблицах стали получать такое сообщение. Ошибка появляется, как при двухуровневом подключении, так и при трехуровневом. Синхронизация не помогает, Проверка/синхронизация никаких ошибок не выявила. Может, кто-нибудь понял, в чем причина или как это можно поправить? Ax 3.0, SP3, SQLServer. | 
|  | 
|  31.01.2017, 20:53 | #10 | 
| ---------------- | 
			
			Ax3.0... 10 лет А проверьте-ка какие у вас RecId создаются | 
|  | 
|  31.01.2017, 23:42 | #11 | 
| Участник | 
			
			С RecId у нас отдельная история.  Сейчас у нас отрицательные RecId, причем мы проходим отрицательные значения уже во второй раз. Т.е. мы прошли положительные, отрицательные, опять положительные и снова перешли на отрицательные. У нас организовано "хитрое" получение RecId из незанятых значений. И дублей у нас нет. Это я к тому, что отрицательные значения не должны были повлиять на внезапное появление этой ошибки. Хотя у меня были сомнения насчет появившихся записей с дублирующимися RecId, которые теоретически могли вызвать подобную ошибку. | 
|  | |
| За это сообщение автора поблагодарили: mazzy (2). | |
|  01.02.2017, 07:32 | #12 | 
| Участник |   вот здесь пишут что это ещё из-за глюков с DataAreaId может быть. Ошибка при сохраниении записи Вы используете несколько компаний? Может у вас каким-то образом DataAreaId из какого-нибудь индекса выпала? | 
|  | 
|  01.02.2017, 08:49 | #13 | 
| Участник | Цитата: 
		
			Сообщение от magnetica
			   Спасибо за ответ, правда, вряд ли в моем случае это поможет. Дело в том, что подобной ошибки я добиваюсь несколько иным путем. К примеру, создала подряд несколько записей в справочнике "Счетов главной книги" (или в другой таблице), далее перемещаюсь между записями, обновляю то в одной поле, то в другой. Затем пытаюсь сохранить запись, и система радует таким сообщением.... select count(*), RecId, DataAreaId from LEDGERTABLE group by DataAreaId, RecId having count(*) > 1 Запрос не должен возвратить ни одной записи. Вместо LEDGERTABLE можно использовать любую таблицу, на которой у вас выскакивает ошибка. | 
|  | 
|  01.02.2017, 09:53 | #14 | 
| Участник | 
			
			2 S.Kuskov: Одна компания с двумя присоединенными виртуальными. Виртуальные подключены уже достаточно давно. Про dataareaId в индексах - не могу понять, как это можно проверить? Если только перестраивать индексы заново. 2 Ace of Database: Т.к. одна компания, то dataareaId в одной таблице одна, а RecId уникальны во всей базе (как я писала выше). | 
|  | 
|  01.02.2017, 10:48 | #15 | 
| Участник | Цитата: 
		
			Сообщение от Alenka
			   2 S.Kuskov: Одна компания с двумя присоединенными виртуальными. Виртуальные подключены уже достаточно давно. Про dataareaId в индексах - не могу понять, как это можно проверить? Если только перестраивать индексы заново. 2 Ace of Database: Т.к. одна компания, то dataareaId в одной таблице одна, а RecId уникальны во всей базе (как я писала выше). | 
|  | 
|  01.02.2017, 10:52 | #16 | 
| Участник | 
			
			И еще одно, если у вас таблица LedgerTable входит в табличную коллекцию,то проверьте что в базе данных для нее есть только те записи, у которых DataAreaId равна коду виртуальной компании. Не должно быть записией с DataAreaId, равными кодам обычных компаний, которые входят в виртуальные. Например, если виртуальная компания называется vir, а в нее входит обычная компания dat и таблица LedgerTable входит в табличную коллекцию, привязанную к данной виртуальной компании, то 1) Это запрос не должен вернуть ни одной записи select * from LedgerTable where DataAreaId = 'dat' 2) Это запрос вернет те записи, которые видны в Аксапте: select * from LedgerTable where DataAreaId = 'vir' Это надо делать в SQL Management Studio Последний раз редактировалось Ace of Database; 01.02.2017 в 11:00. | 
|  | 
|  01.02.2017, 11:00 | #17 | 
| Участник | 
			
			Во-первых, спасибо, что вникаете в проблему. Во-вторых, по пунктам: 1. Нет, я не пробовала выполнить ваш запрос, т.к. утверждение про отсутствие дублей RecId в базе - не голословное утверждение, а проверенное. 2. У нас нет проблем с таблицей LedgerTable. Проблемы возникали как со стандартными таблицами, типа PurchTable или SalesLine, так и с созданными нами таблицами. В табличные коллекции, соответствующие виртуальным компаниям, входят созданные нами таблицы, с которыми проблем пока не возникало. Про dataareaId в таблицах - проверю, результат напишу попозже. | 
|  | 
|  01.02.2017, 11:04 | #18 | 
| Участник | 
			
			И еще по поводу быстрой проверки виртуальной компании. Проверку можно упростить. Этот запрос не должен вернуть ни одной записи: select * from LedgerTable where DataAreaId <> 'vir' | 
|  | 
|  01.02.2017, 12:05 | #19 | 
| Участник | 
			
			В обычных таблицах проблем с dataareaId нет. В паре таблиц из табличной коллекции, соответствующей виртуальной компании, были записи с неправильным dataareaId. Сейчас их удалила. Но эти записи были старые, четырехлетней давности.
		 | 
|  | 
|  01.02.2017, 13:27 | #20 | 
| Участник | Цитата: 
		
			Сообщение от Alenka
			   С RecId у нас отдельная история.  Сейчас у нас отрицательные RecId, причем мы проходим отрицательные значения уже во второй раз. Т.е. мы прошли положительные, отрицательные, опять положительные и снова перешли на отрицательные. У нас организовано "хитрое" получение RecId из незанятых значений. И дублей у нас нет. В идеале, надо бы поймать момент, когда происходит ошибка и посмотреть RecId изменяемых записей, сравнив с RecId уже существующих --------- Кстати, если при повторной попытке сохранения тех же самых данных (или при нескольких повторных попытках) все-так сохранение выполняется, значит проблема точно в генераторе RecId. Точнее, в тех полях, содержимое которых формируется автоматически. Причем при каждой новой попытке сохранения формируются новые значения. Как правило, это характерно только для RecId, но, может быть, у Вас реализовано еще что-то свое. 
				__________________ - Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 01.02.2017 в 13:32. | 
|  | 
|  | 
| 
 |