Поиск и замена значений посредством SQL-запросов

Публикация № 87467

Разработка - Инструментарий разработчика

48
Обработка и хранимая процедура предназначены для поиска и замены значений в SQL-базе посредством прямых sql-запросов. UPD Внимание! Работает только при замене любой аналитики на новую! К сожалению, слияние аналитики не работает. Пишу гибридную версию.
UPD Не прошло и года, как я написал гибридную версию:).

Платформа 8.2.13.219. Конфигурация - БП 2.0.20.10. Версия SQL - 2008.

В процессе работы встала задача замены аналитики без перепроводки документов. Стандартная обработка "ПоискИЗамена" не подходила как по скорости работы, так и по вышеуказанному ограничениям. Решил реализовать алгоритм  со стороны базы данных. Результатом служит указанная хранимая процедура и обработка(обработка, главным образом, для красоты и удобства).

Инструмент получился мощный, использовать с осторожностью, на свой страх и риск. После каждого  применения в начале делал ТИИ, ошибок не находил. По понятным причинам после применения требуется пересчет итогов и переиндексация.

Это моя первая публикация, за любую обратную связь буду благодарен.

UPD. Доработал:) Берем архив, распаковываем. Там два текстовых файла и обработка. В текстовых файлах - код процедур поиска и замены. Берем прямо текст и создаем процедуры у себя на сервере СУБД. Внешний вид обработки не изменился.

Внимание! Не использовать для баз с обменом!(Верней, надо тогда будет проводить замену на всех базах, участвующих в обмене)

После применения обработки ОБЯЗАТЕЛЬНЫМ условием является пересчет итогов(ну и проверка ссылочной целостности).

Проверял на УТ, БП, ссылки заменяет корректно, на УТ остатки сходятся, на БП суммы по счетам сходятся. Все ссылки на предыдущий объект пропадают(кроме ссылки в справочнике). Брал контрагенты, склады, товары.

P.s. Ну и, как всегда, пишите. И прошу прощения по срокам, 2 смены работы, и пр. и пр....

48

Скачать файлы

Наименование Файл Версия Размер
UpdпоискИЗамена
.rar 8,03Kb
22.10.12
70
.rar 8,03Kb 70 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
0. Sorm 53 17.07.11 07:39 Сейчас в теме
Обработка и хранимая процедура предназначены для поиска и замены значений в SQL-базе посредством прямых sql-запросов. UPD Внимание! Работает только при замене любой аналитики на новую! К сожалению, слияние аналитики не работает. Пишу гибридную версию.
UPD Не прошло и года, как я написал гибридную версию:).

Перейти к публикации

1. Ish_2 1044 17.07.11 07:39 Сейчас в теме
Серия N+1.
Хотя , Использование недокументированных возможностей
1. Противоречит интересам фирмы 1с.
2. Нарушает лицензионное соглашение.
Но
1. Соответствуют законодательству РФ
2. Отвечает интересам владельца БД(базы данных).
2. Sorm 53 17.07.11 15:16 Сейчас в теме
Я недавно работаю с 1с, до этого работал с системами, более "близкими" к SQL-серверу, т.е. использующими его функционал гораздо более полно - SP, функции, триггеры, и пр, в т.ч. и интеграцию с другими системами на уровне сервера. Любые "родные" движки этих систем при приближении к объема базы к 1 терабайту(приблизительно) уже не удовлетворяли по быстродействию при выполнении каких=то массовых операций, поэтому все частные задачи решались уже конкретными скриптами. Ну вот я рещил попробовать то же самое с базой 1с. Честно сказать, я не понял, в чем "недокументирование" возможностей - база как база. По поводу нарушения лицензионного соглашения - ну, тут сказать ничего не могу. Но вроде как мое решение некоммерческое и использование связано с определенным риском. Пользуйтесь осторожно или не пользуйтесь - как я и писал.
42. AlexO 128 22.10.12 12:13 Сейчас в теме
(2)
так и по вышеуказанному ограничениям

где вы описали эти вышеуказанные ограничения?
3. Ish_2 1044 17.07.11 17:32 Сейчас в теме
Любые "родные" движки этих систем при приближении к объема базы к 1 терабайту(приблизительно) уже не удовлетворяли по быстродействию при выполнении каких=то массовых операций, поэтому все частные задачи решались уже конкретными скриптами.


Вопрос :
как поставщики решений относились к такому творчеству ?
Из своего опыта скажу , что также как и 1с ,
т.е. резко отрицательно , с угрозами снятия с поддержки.
4. Sorm 53 17.07.11 18:07 Сейчас в теме
Подписки на события и собственные модули ещё никто не отменял, мне кажется. Ну вот подобных принципов придерживаются и все остальные разработчики. И потом, решения для заказчиков с размерами баз терабайт и более, они... "законно" обладают некоторой самостоятельностью. Потому что заказчики не простые.
5. romansun 189 17.07.11 19:46 Сейчас в теме
(4)

А можно чуть подробнее про сферу, где такие базы? Очень интересно, до куда уже дотянулась "рука 1С".
Ну, насколько возможно, разумеется :)

По поводу применения sql в 1С - да, применяется без проблем, можно хоть весь функционал переписать, в 1С оставить только кнопки. Работает только в путь, быстро настолько, что не успеваешь "мама" сказать, когда жмакает F5 в квери аналайзере и в последний момент замечаешь, что мааааааленький косячок-таки закрался в инсерт инто или делейт :D

По поводу недокументированности - да, не даёт 1С из под 1С фунционала прямого доступа. Такая вот позиция. Причина - посмотрите, тут на инфостарте есть несколько топиков, где народу помогают с битыми базами, и в каждом третьем посте - "последний бэкап три месяца назад, памагите!!! что делать????". А если б из под 1С-ных запросов можно было не только select писать, а и delete, то новых интересных топиков на ИС было бы в 10 раз больше ))))


Моё личное мнение - я тоже не восторге от использования sql. Причины - возможная криворукость программистов и плачевные последствия. Плюс - существенное усложнение поддержки. Особенное, если sql используется в постоянно работающих алгоритмах.

На своей базе иногда использую.


(3)
поставщики решений (oracle к примеру) относятся обычно нормально :) - собственно там весь код может быть как раз и есть sql + какая-то интерфейсная приблуда. Примеры: АБС в банках.
6. Ish_2 1044 17.07.11 19:54 Сейчас в теме
(5) У каждого свой опыт.
Поставщики решений (oracle к примеру) относятся именно так : Боже упаси.
Хм.. Имею опыт работы с одним таким "мировым лидером".
Так и не удалось добиться , чтобы в символьное поле комментария(разумеется неключевое) одной таблицы писалась некоторая символьная информация (Update).

Другими словами , поставщики отказались создать хранимую процедуру ,
на вход которой я бы посылал два параметра для модификации таблицы : Ключ и символьное значение.
7. Sorm 53 17.07.11 20:42 Сейчас в теме
А можно чуть подробнее про сферу, где такие базы? Очень интересно, до куда уже дотянулась "рука 1С".

Она пока туда не дотянулась:) Слишком велики объемы данных, чтобы можно было не использовать компиляцию, индексированные временные таблицы и пр. изыски.
По поводу недокументированности - да, не даёт 1С из под 1С фунционала прямого доступа.

И правильно, на мой взгляд. Моя задача и решение - частные, конечно. Просто я вот так вот решил, исходя из опыта и возможностей. А люди делятся на 2 категории - которые делают бэкапы и которые будут их делать.
Так и не удалось добиться , чтобы в символьное поле комментария(разумеется неключевое) одной таблицы писалась некоторая символьная информация (Update).

Это цветочки. Ягодки - это когда ты требуешь не разработки, а соблюдения(!) стандартов ... ну, хотя бы обмена. "Мировые лидеры" класть хотели на какие-то договоренности, и частенько сообщения приходят с другой структурой полей или другими форматами кодов. Так что базу после обмена приходится "причесывать" шаблонами и разборами. В этом отношении, работая с 1с, просто отдыхаешь.
8. boggonzikov 389 17.07.11 23:18 Сейчас в теме
Хорошая вещь, если умеешь этим пользоваться.
Можешь еще сделать, чтобы можно было заменять любой ссылочный тип, а не только справочник ?
9. Sorm 53 17.07.11 23:48 Сейчас в теме
(8) Да. Открою тайну - я как раз сначала написал более общий случай, замену любых ссылочных типов на другие, но потом решил ограничить дело только справочниками, и подстраховался дополнительно проверкой ссылки по коду и значению. Там процедуру надо немного править для работы с любыми ссылочными типами.
10. Trise 128 26.07.11 10:28 Сейчас в теме
Решение похожей задачи наблюдал в 77.
Для полной однозначности заменяеммых значений входными параметрами функции должны быть не код и наименование, а функция УникальныйИдентификатор() ссылки или ЗначениеВСтрокуВнутр смотря как они храняться в SQL.
12. Sorm 53 27.07.11 12:06 Сейчас в теме
(10) "функция УникальныйИдентификатор() ссылки или ЗначениеВСтрокуВнутр смотря как они храняться в SQL." Результат первой ничего не дает, результат второй надо резать...
(11) Что касается текущей базы - она помечает, однако, везде, а вот то самое ЗначениеВСтрокуВнутр() в удаленной базе да, придется менять.
11. Trise 128 26.07.11 10:58 Сейчас в теме
Так же данная обработка может быть смертельной, при использовании РИБ (распределенных информационных баз), так как она дожна помечать объекты для фиксирования их в узлах обмена. А там еще встречается логика, такая как пометить для обмена только для определенной организации.
13. sound 530 24.08.11 16:28 Сейчас в теме
(0) Мне нужно заменить один элемент плана видов характеристик на другой (вид субконто), как мне Ваша обработка может помочь?
15. Sorm 53 22.10.11 00:52 Сейчас в теме
(13) Заменить - можно, но - конкретные значения по этому субконто куда девать? Тоже надо будет менять.
(14) УникальныйИдентификатор() - функция, в базе физически лежит другое значение. Надо менять его.
16. sound 530 22.10.11 11:52 Сейчас в теме
(15) У меня в плане видов характеристик 2 вида субконто, но они ссылаются на один и тот же справочник. Получилось так, что были заведены 2 элемента с одним названием и типом значения, вернее 1 был предопределенный и зачем-то завели еще один точно такой же. На вопрос "а нахрена это было надо?" теперь никто ответить не может. И в плане счетов на одних счетах стоит один вид субконто, а на других другой, соответственно и в бухгалтерском регистре творится такая же хрень. Не знаю чем это может грозить в плане искажения информации, ведь по идее значения этих субконто - это элементы одного справочника, но из-за этого становится невозможным сделать, например, тот же Анализ субконто, и приходится как-то извращаться, чтобы получить то что нужно.
Ссылки на Виды Субконто ведь "живут", как ни странно, только в регистрах бухгалтерии. Попробовал на копии запустить обработку по переделке всего этого безобразия, почти как "Поиск и замена значений" только в режиме "Обмен.Загрузка = Истина", первые 2 раза (по 3 дня каждый раз) она так и не отработала вынося платформу с критической ошибкой "Нехватка памяти". Потом запустил с сервера, она вроде отработала, но ссылки все остались на месте - ничо не понял, возможно криво написана. Вот поэтому все еще думаю как это победить :(
17. Sorm 53 22.10.11 16:03 Сейчас в теме
(16) Тогда можно. Я имел в виду замену разных типов субконто - контрагенты на материалы, к примеру(уж не знаю, зачем такая блажь, но вдруг...) Виды субконто одного типа можно заменить.
18. sound 530 22.10.11 16:08 Сейчас в теме
(17) Подскажите, пожалуйста, порядок действий, просто доселе ничем подобным не занимался. Ну создать хранимую процедуру, допустим осилю, а дальше что? Скопировать туда текст Вашей процедуры, ничего в ней менять не нужно? И в обработке вроде там только справочники? Или я что-то не так понял?
19. Sorm 53 22.10.11 16:21 Сейчас в теме
(18) Мою хранимую процедуру надо упростить. Требуется обойти проверки на то, что это элементы справочника, соотвественно, вот сюда :

--Получаем ссылки
exec ('insert #temp(sourc) select _IDRRef from '+@table_name_exclude+' where _code = '''+@code_sourse+''' and _description = '''+@desc_source+'''')
exec ('insert #temp(dest) select _IDRRef from '+@table_name_exclude+' where _code = '''+@code_dest+''' and _description = '''+@desc_dest+'''')

Надо подсунуть ссылки(т.е. идентификаторы) на указанных видов субконто. Посмотреть, где они хранятся, можно обработкой "Описание метаданных"(вроде, навскидку не помню), короче, обработкой, которая показывает, в каких таблицах(верней, таблице) хранятся виды субконто. Получится нечто вроде:

exec('insert #temp(sourc) select _IDRREF from '+(таблица определения субконто)+' where '(отличительные признаки вида субконто) = конкретные значения для данного вида субконто.
И запустить процедуру.
Это сделать, понятное дело, на тестовой базе+ ВНИМАТЕЛЬНО ПРОСМОТРЕТЬ ЧТО СКАЖЕТ СЕРВЕР! если все ок, сделать ТИИ, пересчитать остатки. Проверить.
20. sound 530 22.10.11 16:49 Сейчас в теме
(19) Жаль что пока, к сожалению, времени нет на эксперименты, потому что чувствую мне долго придется вкуривать это дело. Но пробовал с помощью Вашей обработки заменить в тестовой базе элементы справочников, выдавалась ошибка SQL сервера, что-то вроде "переполнен журнал транзакций" или что-то в этом духе.
14. fit686 21.10.11 22:07 Сейчас в теме
Так же необходимо заменить УникальныйИдентификатор() в одном справочнике на соответствующие из другого,или это лучше делать обработкой синхронизации справочников?
21. boggonzikov 389 11.11.11 15:29 Сейчас в теме
В чем может быть причина ошибки:
Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft SQL Server Native Client 10.0): Недопустимое имя столбца "_code".
CommandSQL.Execute();
по причине:
Произошла исключительная ситуация (Microsoft SQL Server Native Client 10.0): Недопустимое имя столбца "_code".
На некоторых справочниках отрабатывает, на других выдает ошибку
Или подскажи как переписать хранимую процедуру, чтобы работало по УникальныйИдентификатор?
Спб
22. boggonzikov 389 11.11.11 16:48 Сейчас в теме
(21) Нашел в чем причина, не верно определяется таблица хранения
Строка = ТЗ.Найти("Справочник."+строка(тип));
заменить на
Строка = ТЗ.Найти("Справочник."+ СтарыйОбъект.Метаданные().Имя, "ИмяТаблицы");
23. Sorm 53 12.11.11 23:55 Сейчас в теме
24. kr_andr 23.11.11 10:30 Сейчас в теме
25. garcevis 6 16.12.11 14:35 Сейчас в теме
Спасибо. Стоит примерно такая же задача. Сейчас скачаю теект процедуры и попробую
26. maxsoft83 02.02.12 18:31 Сейчас в теме
Доброго дня. Загнал процедуру в свою базу под 2005 SQL, запускаю замену одного элемента на другой (причем не из 1С, а на прямую в SQL) крутиться бесконечно долго и никаких результатов. В чем может быть проблемма, есть какиенибуть мысли?
27. maxsoft83 03.02.12 11:59 Сейчас в теме
И так в продолжении справочник номенклатуры 312 тыщ записей, конфа УПП 1.2, запустил на ночь свертку 2 х позиций. Через 1С'овскую обработину глянул сколько ссылок на объекты на каждый было не больше 50 ссылок. Время выполнения свертки 3,40 минут и в итоге вывалились ошибки:

Сообщение 2601, уровень 14, состояние 1, строка 1
Невозможно вставить повторяющуюся ключевую строку в объект "dbo._ReferenceChngR2461" с уникальным индексом "_Refere2461_ByDataKey_RR".
Выполнение данной инструкции было прервано.
Сообщение 2601, уровень 14, состояние 1, строка 1
Невозможно вставить повторяющуюся ключевую строку в объект "dbo._AccRgAT21549" с уникальным индексом "_AccRg21549_ByPeriod_TRRRRRN".
Выполнение данной инструкции было прервано.
Сообщение 2601, уровень 14, состояние 1, строка 1
Невозможно вставить повторяющуюся ключевую строку в объект "dbo._AccRgAT21549" с уникальным индексом "_AccRg21549_ByPeriod_TRRRRRN".
Выполнение данной инструкции было прервано.
Сообщение 2601, уровень 14, состояние 1, строка 1
Невозможно вставить повторяющуюся ключевую строку в объект "dbo._AccRgAT21579" с уникальным индексом "_AccRg21579_ByPeriod_TRRRRRN".
Выполнение данной инструкции было прервано.
28. Sorm 53 03.02.12 17:10 Сейчас в теме
(27) maxsoft83, Будем разбираться. Спотыкается об уникальный индекс, понятно... У меня такого не вылезало.
29. maxsoft83 03.02.12 17:48 Сейчас в теме
(28) а что по поводу производительности? ... получается что сама 1С все это сделает ну так раз 12-15 быстрее. либо 10-20 минут либо почти 4 часа, по идее все должно быть на оборот. в чем может быть загвоздка? может я что-то сделал не так?
30. maxsoft83 08.02.12 12:08 Сейчас в теме
(28)
Еще я просмотрел количество таблиц получаемых на одну позицию .. получается больше 30000 таблиц ... по моему многовато

я не настолько хороший знаток SQL, но может быть проблема в этом запросе

Select column_name,table_name from
(Select
source.name as column_name
, tables_name.name as table_name
from
(select * from sys.columns where system_type_id = 173) source
inner join
(select object_id,name from sys.objects where type = 'U') tables_name
on
source.object_id = tables_name.object_id) source2

все ли ограничения наложены ... или если у меня более 10 БД на SQL он выбирает ссылки по всем таблицам в этих БД?
31. Sorm 53 08.02.12 12:27 Сейчас в теме
(30) maxsoft83, Каких 30 тысяч таблиц в сеансе??
Select distinct table_name from
(Select
source.name as column_name
, tables_name.name as table_name
from
(select * from sys.columns where system_type_id = 173) source
inner join
(select object_id,name from sys.objects where type = 'U') tables_name
on
source.object_id = tables_name.object_id) source2
Выдает 1072 строки таблиц, содержащих ссылки. Бухия 2.0. Дальше смотри по процедуре - там идет отсечка таблиц, не имеющих в какой-либо колонке данного типа упомянутого значения замены. Я прошу прощения, просто занят сильно последнее время, не могу взяться за процедуру и сесть в профайлер. Процедуру придется менять, то ли таблицы остатков отсекать с обязательным пересчетом по окончании работы процедуры, то ли апдейтить их через временные таблицы с группировкой по индексу. Все задачи решаемы, просто времени пока нет.
32. maxsoft83 08.02.12 12:58 Сейчас в теме
(31) Ну как бы у меня УПП))) там таблиц в принципе больше .. ладно попытаю порыть в редбуке, а какое время замены одной позиции на бухе??
33. Sorm 53 08.02.12 13:07 Сейчас в теме
(32) maxsoft83, Ну не в 10 раз же... Размер базы какой? У меня такая вот фихня отрабатывала 15 минут на базе порядка 20 ГБ.
34. maxsoft83 08.02.12 14:33 Сейчас в теме
У меня база 104 Gb .... так что видимо 15 минут для меня не светят, да и собственно тоже самое что через саму эску ..... потому как бы не вижу смысла заходить со стороны сиквела. если бы это процесс занимал хотябы 5 минут, а так получается то на то и выходит. у меня через эску слегка модифицированная обработка эсовская как раз сворачивает порядка 3 позиций в час.
35. Sorm 53 08.02.12 15:45 Сейчас в теме
(34) maxsoft83, Можно отловить процедуру в профайлере, которой отыскиваются все ссылки на указанный элемент, разобрать её ответ и уже работать от неё. Попробую.
36. maxsoft83 08.02.12 15:56 Сейчас в теме
(35) будем ждать результатов))) в свою очередь попытаюсь осилить тоже самое со своей стороны, может что получиться)
37. Sorm 53 20.02.12 11:46 Сейчас в теме
Да, господа, поправил публикацию. К сожалению, механизмы 1с в части модификации остатков трансцедентны и непознаваемы(в реальности просто очень сложны , в сумме потратил 2-е суток на профайлер). В настоящий момент изменил заголовок темы, процедура и скрипт остаются рабочими, но, к сожалению, работать будут только при замене аналитики на полностью новую. Т.е. как если бы вам нужно перекинуть остатки с одного контрагента на нового(только что введенного). Или на новую статью затрат, к примеру. "Слияния" аналитики реализовать не удалось, в настоящий момент пишу гибридную версию, которая в части работы работы с остатками и регистрами будет использовать механизм 1с, а в части работы с документами - механизмы SQL.
38. Sorm 53 22.10.12 09:52 Сейчас в теме
Доработал, тестируйте. Движок теперь сам считает итоги, остальное делается скриптом.
39. tango 484 22.10.12 11:19 Сейчас в теме
Как оказалось, я уже плюсовал это дело, так что респект еще раз без +.

А теперь как-то возник вопрос по поводу
В процессе работы встала задача замены аналитики без перепроводки документов. Стандартная обработка "ПоискИЗамена" не подходила


мне и в голову не пришло бы использовать П&З для задачи, поскольку очевидно, что для "без перепроведения" надо менять не только реквизиты, но и аналитику в движениях. Но и в СКЛ бы не полез - пять минут, как говорится, в конфигураторе.
И раз уж все равно пересчитывать итоги в 1ске, то нафига огород городить? Неужели настолько существенен выигрыш по времени? По комментам судя, выигрыша-то и нет...
40. Sorm 53 22.10.12 11:57 Сейчас в теме
(39) tango, предполагалось, что все манипуляции с базой данных будут выполнены "за движком" 1с, причем минимальным числом запросов. Т.е. я отпишу Update на таблицу документа по условию, а не сделаю миллион запросов на тот же самый апдейт через движок. Идея была такова. Совсем "за движком" не получилось, приходится анализировать структуру метаданных + исключать итоги(ибо не уверен, что хорошо переводить базу в режим разделения итогов, а без него модифицировать итоги не хочу, ибо не знаю результата), но принцип остался тот же.
"пять минут, как говорится, в конфигураторе. " Какой примерно алгоритм для замены одного контрагента другого "везде" через конфигуратор?
41. tango 484 22.10.12 12:08 Сейчас в теме
Какой примерно алгоритм для замены одного контрагента другого "везде" через конфигуратор?


"везде" как правило, ограничено - это какой-то конкретный, небольшой, список видов документов

1 запрос - получаем список доков, где реквизит = Контрик
2. ползем по списку, подставляем реквизит - записываем без проведения. в движениях подставляем контрика. это можно не торопясь в фоновом режиме
3. если РИБ - записываем состояния изменения

ну, и итоги, если надо

весь трабл - в скорости. практически эта задача не требует "реалтайма", лишь бы дошла до конца (за день - другой - нормально)
43. AlexO 128 22.10.12 12:17 Сейчас в теме
(41) tango,
Михаил, опять очередной студент ринулся править 1С через SQL :)
Не отыскав типовую обработку по поиску и замене (или доработанные от типовой же).
Плюсики вы свои, конечно, вольны расставлять кому угодно, но любые действия в 1С минуя 1с-платформу - чреваты рассылочностью базы.
И всегда предупреждаю - не лазить через SQL в 1с8 базу, плохо кончится.
Но каждый месяц - один-два студента с обработкой "как я ускорил 1С через SQL" ... :)
45. tango 484 22.10.12 12:48 Сейчас в теме
(43) AlexO, дык автор же пишет - граната, абезианов не беспокоиться
47. AlexO 128 22.10.12 16:19 Сейчас в теме
(45) tango,
ну хорошо, минус ставить не будем, раз предупредил :))
44. Sorm 53 22.10.12 12:31 Сейчас в теме
(41) tango, "весь трабл - в скорости. практически эта задача не требует "реалтайма", лишь бы дошла до конца (за день - другой - нормально". Честно сказать, постепенный рост , к примеру, кредитового сальдо на 60 счете у одного контрагента и уменьшение у другого, как-то слабо себе представляю. Но возможно, возможно. Только бухгалтерам будет странно, достанут.
(42) AlexO, выше.
(43) AlexO, условия использования я описал, алгоритм описал. Если обработка кому-то поможет, я буду рад.
"И всегда предупреждаю - не лазить через SQL в 1с8 базу, плохо кончится. " - полностью согласен. Если был отрицательный опыт - зачем себя пересиливать?
Irwin; Andre32; +2 Ответить
46. AlexO 128 22.10.12 16:19 Сейчас в теме
(44)
(42) AlexO, выше.

где выше? номер сообщения тогда укажите
48. AlexO 128 22.10.12 16:21 Сейчас в теме
(44)
Если был отрицательный опыт - зачем себя пересиливать?

а, т.е. вы считате - что если вот так залезли и база сразу не рухнула, то все нормально? :)
косяки вылезают как раз в данных, когда они не совпадают по регистрам там или документам.
49. integragirl 20.02.13 07:57 Сейчас в теме
(48) AlexO,
а, т.е. вы считате - что если вот так залезли и база сразу не рухнула, то все нормально? :)
косяки вылезают как раз в данных, когда они не совпадают по регистрам там или документам.

а почему не может быть все нормально? Если мы заменяем ссылки во всех таблицах (справочники, документы, регистры... и т.д.), какие могут быть косяки? Плюс пересчитываем регистры.
Если Вы имеете какой-то опыт опишите его нам.
50. kauksi 206 16.05.16 12:03 Сейчас в теме
Как бороться с ситуацией: Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Не удается вставить повторяющуюся строку ключа в объект "dbo._InfoRg35761" с уникальным индексом "_InfoR35761_ByDims_R". Повторяющееся значение ключа: (0x9e63c92e28a321ad47e4c3d6b82747a7).
51. Sorm 53 17.05.16 23:08 Сейчас в теме
(50) kauksi, аналитику заменяете?
53. script 208 20.01.17 00:56 Сейчас в теме
Ответьте пожалуйста.
Поможет ли мне обработка, если мне нужно заменить одну организацию на другую везде.
Есть база с 4-мя организациями - нужно все слить на одну новую, 5-ю организацию.
54. Sorm 53 20.01.17 07:12 Сейчас в теме
55. Irwin 330 10.03.17 14:38 Сейчас в теме
Поиск в таблице справочника идет по коду и наименованию, а потом берется максимальный элемент (хотя есть ссылка, по которой можно получить GUID). В итоге могут быть ошибки - подберется не тот элемент.
56. taki_zuka 27.04.18 14:40 Сейчас в теме
Как справиться с ошибкой: Невозможно вставить повторяющуюся ключевую строку в объект "dbo._InfoRg17321" с уникальным индексом "_InfoRg17321_ByDims_RN" ?
57. Sorm 53 28.04.18 15:20 Сейчас в теме
(56)
_ByDims_RN
Вы пытаетесь заменить один уже существующий элемент на другой? Сожалею, можно только заменить на новый(т.е. грубо говоря, на элемент, по которму ещё не было записи в данном регистре)
Оставьте свое сообщение

См. также

Модель объекта 10

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    4636    1    vadim1980    0       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Быстрый запрос 42

Отчеты и формы Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Можно ли дать пользователю "удочку", а не "рыбу"? До сих пор ответ на этот вопрос был отрицательным. Всякий инструмент, который мог бы делать с базой данных все или почти все (или хотя бы многое), отвергался пользователями, как слишком сложный. Вспомните тот же SQL, который изначально разрабатывался именно как пользовательский инструмент. "Быстрый запрос" - это попытка устранить сложность, но сохранить при этом универсальность.

1 стартмани

29.04.2019    7472    15    mkalimulin    28       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 562

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    31267    281    bonv    117       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

Редактор объектов информационной базы 8.3 44

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.35 от 25.11.2019

2 стартмани

23.01.2019    12047    155    ROL32    28       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 178

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    24950    228    informa1555    187       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Сравнение pdf-файлов актов сверки 1

Инструменты и обработки Бухгалтер Внешняя обработка (ert,epf) v8 v8::БУ БП2.0 Россия БУ Дебиторская и кредиторская задолженность Абонемент ($m) Универсальные обработки

Обработка сравнивает два pdf-файла, в которых находятся стандартные печатные формы актов сверки, и показывает на экране совпадающие и/или отличающиеся по суммам документы взаиморасчетов.

1 стартмани

19.12.2018    7702    4    Torin99    2       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Обнуление остатков регистров бухгалтерии и накопления 42

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m) Универсальные обработки Чистка базы

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    11492    186    morozov.sv    30       

Навигатор по конфигурации базы 1С 8.3 107

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.47 от 25.11.2019

3 стартмани

28.10.2018    18468    200    ROL32    47       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 65

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    17387    23    informa1555    26       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Просмотр, изменение реквизитов объекта. Сравнение двух одинаковых объектов метаданных ИБ 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Универсальные обработки

Показывает реквизиты объекта (ов) или сравнивает два одинаковых объекта конфигурации справочники, документы.

1 стартмани

26.04.2018    10235    18    Vin_Tik    0       

Работа со схемой запроса 176

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    30376    75    kalyaka    34       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Регистры правил [Расширение] 14

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права УТ11 Абонемент ($m) Инструментарий разработчика Информационная безопасность

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    11851    28    33lab    0       

Построение маршрута доставки с расчётом расстояния для любой базы УФ 57

Инструменты и обработки Руководитель проекта Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Оптовая торговля Абонемент ($m) Универсальные обработки WEB

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    21816    36    KorotkovRV    16       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Программное формирование форматированной строки в стиле html+inline CSS 53

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    21217    25    bonv    6       

Инструменты бухгалтера: Виджеты рабочего стола 126

Инструменты и обработки Бухгалтер Расширение (cfe) v8 v8::БУ БП3.0 Windows Абонемент ($m) Универсальные обработки Рабочее место

Настраиваемые виджеты на начальной странице, своеобразная панель для быстрого доступа к объектам. Виджеты это элементы интерфейса в виде цветных прямоугольников со ссылками на объекты конфигурации. Использование виджетов позволяет сконцентрировать на начальной странице часто используемые функции, например, варианты отчетов, списки документов, или используя виджет вводить новый документ прямо из начальной страницы.

2 стартмани

28.08.2017    27659    162    Bazil    22       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Набор подсистем "Умные таблицы" 64

Инструменты и обработки Системный администратор Программист Архив с данными v8 Беларусь Россия Казахстан Абонемент ($m) Инструментарий разработчика

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    25350    99    Silenser    33       

Поиск и отключение зависших сеансов на сервере 1С: Предприятия 11

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные обработки

Обработка предназначена для мониторинга и отключения спящих (зависших) сеансов на сервере 1С: Предприятия.

1 стартмани

14.09.2016    23921    67    wowchik_85    9       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора. 24

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Обработка документов Универсальные обработки Обмен через XML

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    30717    150    Aphanas    4       

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID) 8

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Поиск данных Универсальные обработки

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    25055    101    Dzenn    8       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Конструктор-тестер http запросов в 1С 215

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) WEB Инструментарий разработчика

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    35250    299    hlopik    16       

Hello world на metadata.js 249

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Инструментарий разработчика WEB Мобильная разработка

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    49666    115    unpete    205       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Оптимальный способ расчета контрольной суммы объекта/записи регистра (CRC32, MD5, SHA1, SHA256) 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные обработки

Была задача сравнить документы в распределенных базах и пометить на выгрузку измененные. Но сравнение изменений документов методом перебора реквизитов - долгоиграющий процесс, особенно если общее количество сравниваемых данных переваливает за миллион. Был найден выход, который ускоряет процесс сравнения - расчет контрольной суммы объекта и сравнение ее с другой контрольной суммой. Скорость сравнения увеличивается во много раз.

1 стартмани

01.08.2016    23243    5    hakerxp    9       

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен) 8

Инструменты и обработки Системный администратор Программист Бухгалтер Конфигурация (md, cf) v8 1cv8.cf Беларусь БУ НДС Абонемент ($m) Внешние источники данных WEB Инструментарий разработчика

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    27158    28    c1nil    4