Табличная часть имеет записи не относящиеся ни к одной записи главной таблицы 1с

Обновлено: 03.07.2024

Друзья, начал изучать 1С 8,3 и столкнулся с рядом проблем. Какие-то я решил (кажется коряво, но тем не менее работает), а какие-то не очень.
Собственно задача проста и тривиальна:
Есть Справочники:

Справочник объект состоит из данных об объекте (эта информация располагается в реквизитах и проблем не вызывает) и есть так же табличная часть с этапами работы. Получается что на каждый ОБЪЕКТ есть своя табличная часть. Но на каждый этап работы нужна еще табличка с материалами для работы. Получается табличная часть табличной части. 1С этого не может (да видимо и не нужно, просто руки у меня из Ж, поэтому и требуется)

Мои действия дальше - Я создаю справочник Этапы Работы, в нем создаю табличную часть. То есть тут все окейно, есть реквизит с номером объекта (может и должен повторяться), и остальные параметры.

Я добавляю через динамический список этот справочник в форму элемента ОБЪЕКТА. И все отображается. Именно ВСЕ, а не только то, что относится к конкретному объекту.

Собственно вопрос: как заставить этот динамический список работать так же как и Табличную Часть справочника Объекты? То есть чтобы он выдавал только относящиеся к конкретному объекту строки с этапами? Другого решения я не вижу, как связывать реквизиты между собой пока не разобрался. А задачу выполнить как-то нужно (((

И может быть есть иное решение? Куда более правильное и умное? Повторюсь, изучать только начал, читаю Радченко, но как то пока вот так (((

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

При выборе реквизита справочника выводить табличную часть другого справочника
Помогите пожалуйста сделать выборку. Есть справочник с реквизитами сотрудника и табличной частью с.


Как заполнить табличную часть справочника данными регистра сведений?
Здравствуйте! Столкнулась с такой проблемой. Платформа 1С 8.2. Есть справочник.

Данные из справочника в табличную часть документа
Здравствуйте. Ситуация следующая: Существует справочник "Маршруты" с реквизитами ПунктЗагрузки и.

Получение реквизита из справочника в табличную часть документа
Доброе время суток!Скорее всего мой вопрос очень глупый , но прошу помочь. имеем справочник.

Либо создать вторую табличную часть Объекта, отвечающую за материалы, но как тогда связать этапы выполнения и материалы? Либо создать вторую табличную часть Объекта, отвечающую за материалы

Как работает:
1. в первую ТЧ добавил запись, к ней же добавляешь уник. идентиф. строки
2. после добавления записи в первую ТЧ, добавляешь записи в подчиненую таблицу, с тем же УИДом что в первой.
3. юзаешь "ПриАктивацииСтроки" и пишешь там

Спасибо огромное. Реально работает. не без косяков, но работает. Но не совсем решает проблемы. Значение отбора меняется лишь тогда когда я кликаю на другой строке и ОБЯЗАТЕЛЬНО по другой колонке (другому реквизиту). Если же я двигаюсь по одному столбцу, но по разным строкам сметная часть остается прежней. ID я так понимаю это просто число, которое я самостоятельно проставляю, а не число с типом данных УИД, потому что выставив этот тип данных у меня в столбце одни нули через черточку. Они одинаковы, не меняются (

Но это не самая главная проблема (в конце концов в качестве ID можно использовать номер этапа, это даже корректнее будет), а вот то, что я не могу вывести итоги по каждому этапу - это проблема.

В то же время можно сделать новый справочник, в котором можно ввести поле объект, добавить в форму этот список смет, но как сделать автоматически отбор отображаемых смет по полю ОБЪЕКТ? У меня тупо выводятся все сметы, и в пользовательском режиме я могу сделать нужный отбор. А в конфигураторе никак ( Просто в случае с справочником я могу вывести сумму по этапу (каждая запись в справочнике имеет поле объект и поле этап)

в моем примере именно так. но если вы поставите обработчик на "ПроектыПриАктивизацииСтроки" тогда будет работать при переходе между строк.
ID я так понимаю это просто число, которое я самостоятельно проставляю может быть любым типом. Главное чтобы в основной ТЧ выбранный объект как ИД был уникальным (Что не всегда бывает) . это да, есть такое. можно сделать финт ушами - налету формировать итог и выводить его в специальное поле. но ИМХО - не надо. В то же время можно сделать новый справочник, в котором можно ввести поле объект, добавить в форму этот список смет, но как сделать автоматически отбор отображаемых смет по полю ОБЪЕКТ? У меня тупо выводятся все сметы, и в пользовательском режиме я могу сделать нужный отбор. А в конфигураторе никак ( Просто в случае с справочником я могу вывести сумму по этапу (каждая запись в справочнике имеет поле объект и поле этап)

Смотрите, я создаю новый справочник. Называю его ЗатратнЧасть. Ввожу два реквизита - Объект (беру из справочника Объекты) и Этап (либо ввожу ручками, либо, в идеале беру из формы объекта (текущие данные ТЧ) и ТабличнуюЧасть, собственно сама смета, где будет наименование, колличество, стоимость, и можно посчитать Итог по сумме, например

1. Возвращаюсь в редактирование формы элемента справочника ОБЪЕКТ. Добавляю новый Реквизит (РЕКВИЗИТ 2). Тип - Динамический список. Основная таблица динамического списка - Справочник.ЗатратнЧасть
2. Добавляю в новую страницу (СметаСправочник) этот динамический список
3. Список отображает мне ВСЕ имеющиеся сметы, открыв каждую из которых можно увидеть номер объекта, этап и что туда входит.
4. В пользовательском режиме можно сделать отбор и получить нужный мне результат, то есть чтобы отображались лишь те строки, в которых Реквизит Объект(Объект34 в моем случае) ЗатратнЧасти совпадает с наименованием (лучше с кодом) Объекта, форма которого в данный момент открыта.
5. Как сделать так чтобы этот отбор происходил автоматически? При открытии формы нужно как то организовать выборку смет, но как я не знаю.

6. Вопрос на опережение ) Я из этой формы открою другую форму - форму создания новой сметы. Как автоматически ввести в нее данные объекта и этапа? На скрине видно, что в таблице ЭтапыВыполнения я добавил реквизит Смета, тип которого - Ссылка на Справочник ЗатратнЧасть.


Надеюсь с скринами станет понятнее. Еще раз огромная Вам благодарность за то, что вы помогаете.

Для решения этой проблемы я использовал сервер PostgreSQL, PgAdmin4, Excel и самописную обработку на 1С (находится во вложении к статье).

1. Первым делом требуется развернуть поврежденную базу на SQL сервере.

2. Нужно сопоставить имя таблиц базы на SQL с именами метаданных конфигурации 1С.

Делал я это с помощью своей обработки. Обработка тестировалась на платформе 8.3.12 и выше.

Проверка логической целостности. Документы. ИзменениеПлановыхНачислений. Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Количество - 1.

скрин 1

Запускаем базу в пользовательском режиме. Запускаем обработку и получаем наименования таблиц в БД PostgreSQL и наименования полей "Ссылка".

3. Требуется найти в базе PostgreSQL записи не относящиеся ни к одной записи главной таблицы с помощью SQL запросов.

Я вообще не знаток запросов SQL. Быстрым гуглежом выработал для себя следующий алгоритм действий. Если в комментариях предложите вариант получше, то я буду благодарен.

Открываем PgAdmin, запускаем Query Tool.

Query Tool скрин

С помощью следующих запросов выбираем все ссылки и сохраняем их в csv.

FieldName замените на имя поля ссылки. TableName замените на имя таблицы.

Скрин. Выполнение запросов в PgAdmin

С помощью Экселя или средствами 1С, или вообще как вам удобнее - найдите битые ссылки. То есть такие ссылки, которые присутствуют во вспомогательных таблицах, но отсутствуют в основной таблице документа.

4. SQL запросом удаляем некорректную строку.

TableName замените на имя таблицы. FieldName замените на имя поля ссылки. '00000000000000000000000000000000' замените на найденную некорректную ссылку. Апострофы должны остаться.

5. Проверить внутренним тестированием 1С, что проблема решена.

6. Выгрузить базу обратно в файловый вариант.

Дополнение от kosmo0.

С помощью консоли запросов и запроса к табличным частям документа тоже можно найти эти строки, которые не относятся ни к одному документу в базе. В поле "Ссылка" у них будет либо "Объект не найден", либо пустая ссылка на документ. Если "Объект не найден", то проблема решается ТиИ с созданием объекта по битой ссылке, либо программным созданием объекта с помощью следующего кода:

Затем, можно удалить этот объект программно, что решит проблему.

Если в поле "Ссылка" находится пустая ссылка на документ, то ошибка исправляется только описанным выше способом.

При обновление конфигурации, может появиться ошибка «Записи регистра сведений стали не уникальными».

Эта ошибка не позволяет принять изменения в конфигурации и завершить обновление.

Обычно, причиной ошибки является изменение состава измерений регистра. Например, если в новом релизе удалили измерение регистра.

Иногда измерения регистра совпадают до и после обновления, но ошибка все равно возникает. Это означает, что у измерения изменился внутренний идентификатор, и при обновлении измерение очищается.


Способ решения.

Эта обработка позволяет обойти ошибку следующим образом:

Перед обновлением регистр выгружается в файл и очищается.

После обновление регистр заполняется из файла.


Если обновление не удается завершить из-за ошибки "Записи регистра сведений стали не уникальными", запускаем программу в режиме предприятия и запускаем обработку (Главное меню – Файл - Открыть).

Выбираем имя регистра и файл для выгрузки.

Нажимаем кнопку «1. Выгрузить регистр в файл перед обновлением».

Данные регистра будут перенесены в файл, а регистр очищен.

После обновления запускаем обработку, выбираем те же регистр и файл.

Нажимаем кнопку «2. Загрузить регистр из файла после обновления».

Данные регистра будут заполнены из файла.

Если имена измерений до и после обновления совпадают, то регистр загрузится в первоначальном виде.

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

Обработка предназначена для использования с платформой 1С 8.3 и выше. Код обработки открыт.

Перед обновлением не забывайте делать архивную копию базы.

[13.11.2019] Исправлена ошибка, возникающая при работе с регистров, подчиненным регистратору.

Исправление ошибки "Записи регистра сведений стали не уникальными":

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

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Автор запретил комментарии

Просмотры 17454

Загрузки 244

Рейтинг 19

Создание 02.06.19 13:00

Обновление 13.11.19 16:18

№ Публикации 1070807

Конфигурация Конфигурации 1cv8

Операционная система Не имеет значения

Страна Россия

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Да


См. также

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014 63465 397 GusevNA 78

Групповая обработка справочников и документов 8.3 на СКД

Работает на платформе версии не ниже 8.2.16! Работает в интерфейсе "Такси"

3 стартмани

22.10.2021 986 9 serovmsk 0

Проверка настройки заполнения для скриптов 1С:Документооборот

Доброго времени суток, коллеги. После обновления базы 1С:Документооборот , при проверке заполнения файла по шаблону вылезла ошибка "Следующие реквизиты или скрипты настройки заполнения файла заданы не корректно. ". Захотел узнать, какие ещё скрипты заполнены не корректно. Написал обработку для проверки и исправления всех скриптов.

1 стартмани

19.09.2021 1187 4 Andrei_Ivanov 6

Превращение доработанной конфигурации в типовую или исправление ошибки "Имеются записи с одинаковыми измерениями"

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

1 стартмани

12.02.2021 9077 84 pyrkin_vanya 36

Восстановление битой ссылки на раз-два Промо

Простой способ восстановить битую ссылку типа " (20:94b81c6f65428d5911e2a8bebc48d793)".

1 стартмани

26.04.2013 37394 709 Vin_Tik 36

Восстановление базы 1С из бэкапа SQL при помощи Python

Скрипт для создания копии базы на сервере SQL и добавления базы в кластер 1С.

1 стартмани

16.12.2020 4994 2 user1287977 1

Принудительное выполнение отложенного обновления информационной базы для БП 3.0

Обработка выполняет отложенное обновление информационной базы.

1 стартмани

19.11.2020 5157 17 300_po_vstrechke 4

Просмотр и восстановление любых таблиц БД для компоненты 1CDLib + Быстрая очистка регистра "Замеры времени"

Доработанная обработка для компоненты 1CDLib для просмотра и восстановления любых таблиц БД из БД донора. Тестировалось на версии платформы 8.3.17.1549.

1 стартмани

09.11.2020 5748 70 sxp 2

Поиск, восстановление битой ссылки, 8.3, v 0.2 Промо

Обработка для работы с битой ссылкой, 8.3, v 0.1 Позволяет быстро найти и восстановить битую ссылку.

1 стартмани

24.10.2014 40399 323 infostart user 14

Тестирование любых конфигураций

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

1 стартмани

29.10.2020 3442 18 ManyakRus 20

Универсальная корректировка регистров

Универсальная корректировка регистров (обработка для заполнения документа "Корректировка регистров")

3 стартмани

06.08.2020 4504 37 Pashka_SV 7

Поиск и замена значений в 1С (обычные и управляемые формы)

Внешняя обработка Поиск и замена значений в 1С (аналог типовой обработки) - позволяет сделать поиск и замену ссылочных значений в базе

1 стартмани

04.08.2020 4992 34 Denr83 0

Лекарство на случай, если перестала работать форма списка для сделок. (ERP). Промо

Форма списка справочник сделки стала выпадать с ошибкой? Или все еще в порядке, но хочется спокойно съездить в отпуск, без паники, что менеджеры устроят бунт.

1 стартмани

28.07.2016 26128 0 milkers 2

Установка имени предопределенных данных

Обработка для установки имени предопределенных данных для исправления ошибки "Предопределенный элемент отсутствует в данных".

1 стартмани

20.06.2020 4819 3 simon_sidoruk 0

Информация при запуске в БП 3.0 - ошибка кодировки

Расширение для БП 3.0, исправляет использование неверной кодировки при выводе в форму htm файла. Такое бывает, когда ОС сервера и клиента на разных языках.

1 стартмани

01.05.2020 5747 1 JorjKrut 1

2 стартмани

28.04.2020 7174 5 Ион 3

Замена конфигурации в правилах переноса данных. Промо

Те, кто часто занимается созданием правил конвертации данных в конфигурации «Конвертация данных” (речь о редакции 2.1 (2.1.5.1)), знают, что после замены в правилах конвертации одной конфигурации (приемник или источник) все правила конвертации свойств и объектов закрашиваются красным цветом и требуют утомительной ручной правки.

1 стартмани

24.01.2012 48560 561 milkers 68

Длина ключа индекса превышает максимально допустимую. Решение с использованием технологического журнала

При разработке конфигурации в клиент-серверном варианте могут возникнуть проблемы при загрузке конфигурации в файловый вариант. В статье описан один из вариантов решения проблемы.

1 стартмани

28.01.2020 6819 3 newtraveller 0

Исправление ошибки "Для одного ссылочного кода существует более одной таблицы в базе данных" в БД SQL

3 стартмани

23.01.2020 17044 196 rokhin 58

Поиск и Восстановление битых ссылок (Объект не найден) (обычные и управляемые формы)

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

1 стартмани

21.12.2019 7281 94 Denr83 0

Свертка 60, Свертка 62, Исправление ошибок взаиморасчетов, Исправление 60, Исправление 62 Промо

Исправляет все возможные ошибки по счетам расчетов с контрагентом, делает дебетовое сальдо на активном счете и кредитовое на пассивном. кроме того зачитывает все суммы по контрагенту и договору. Сворачивает 60 и 62 счета. Умеет работать с документами взаиморасчетов или без них.

1 стартмани

21.10.2010 41586 681 GoodWinSpr 37

Исправление ошибки платформы 8.3.16 - разворота группы подписей в формах документов. ЗУП 3.1

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

1 стартмани

02.12.2019 19450 12 skudnovv 11

Исправление ошибки в ЗУП 3.1 "Удаление сторнирующей записи невозможно" через расширение

Решение вопроса по ЗУП 3.1 "Удаление сторнирующей записи невозможно" - решение с помощью расширения, чтобы можно было удалять по кнопке "Delete".

1 стартмани

23.11.2019 8154 17 Klinov 6

Ошибка при обновлении "Для одного ссылочного кода существует более одной таблицы в базе данных"

После перехода на новую платформу поменялась (появилась) проверка на дублирование внутренних идентификаторов объектов метаданных. Возможная ошибка при обновлении "Для одного ссылочного кода существует более одной таблицы в базе данных". Лечится изменением идентификатора объекта метаданных.

1 стартмани

30.10.2019 12948 19 user646807_kazako.a911 15

ЧеКист (Чистка Кэша) - универсальное средство очистки локального кэша 1С Промо

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

1 стартмани

08.08.2013 89047 614 mbreaker 58

Списание зависших сумм без количества со счета на счет

Списание сумм без количества со счета на счет через документ операция

1 стартмани

22.10.2019 11259 19 Dmitryflagman 2

Должно быть NULL в регистре бухгалтерии Хозрасчетный

Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.

2 стартмани

21.10.2019 18776 75 sapervodichka 33

Табличная часть имеет записи, не относящиеся ни к одной записи главной таблицы. Файловая база 1С. Исправление ошибки

Памятка-инструкция по исправлению этой ошибки.

1 стартмани

16.10.2019 10597 6 Dipod 14

С помощью этой обработки можно зарегистрировать объекты (документы и их движения, справочники, <Объект не найден>) на узлах обмена.

1 стартмани

15.02.2013 34837 99 logarifm 6

Ошибка SDBL: Ожидается имя таблицы (pos=6). Причины, лечение, обход. Поиск отсутствующих таблиц изменений

Получили ошибку Ошибка SDBL: Ожидается имя таблицы (pos=6) ? Надеюсь, мой опыт борьбы с этим явлением Вам поможет.

1 стартмани

04.09.2019 15671 62 burmsergey 6

Проверка работы расширений после обновлений

Иногда бывает, что после обновления конфигурации некоторые расширения перестают работать и часто такие ошибки выявляются только в процессе тестирования или рабочем режиме. При правильной разработке и проектировании расширения можно свести к минимуму такие ошибки, но иногда их не избежать. Если в базе расширений не более 5-10, то проверить каждое после обновления не составляет труда, а вот если их больше 50 - проверка отнимает слишком много времени Поэтому была написана обработка, которая в автоматическом режиме проверяет расширения, подключенные в программе. Обработка универсальная и будет работать в любой программе, в которой есть расширения.

3 стартмани

19.07.2019 19395 31 77dream77 4

Поиск и удаление "битых" ссылок () в регистрах (сведений/накоплений)

Иногда случается так, что в движениях регистров, подчиненных регистратору, теряется ссылка на регистратор "".

1 стартмани

24.06.2019 9602 44 Vyacheslide 5

Открывашка (для отладки) Промо

Упрощает отладку и экономит время - позволяет открыть отлаживаемый объект конфигурации путем пары кликов (Файл - Последний файл №N) или пары нажатий клавиш (Alt - Стрелка вниз - N последнего открытого файла на клаве).

1 стартмани

12.12.2012 24940 73 nastrou1c 11

Проверка обновления. Автоматический поиск ошибок

Мы обновляем конфигурацию, и у нас более 100 пользователей. Конфигурация сильно переписана, обновление нетривиальное. Если после обновления находится критическая ошибка, приходится выгонять всех пользователей и исправлять. Поэтому перед выпуском в рабочую базу, обновление тестируют наши специалисты. Большинство ошибок находится при открытии форм. Появилась идея написать программу, которая бы автоматически открывала формы всех объектов, а найденные ошибки записывала в журнал регистрации. Получилась программа простейшего сценарного тестирования. Не требует настройки. Запускать в тестовой базе. Чтобы найти реквизиты, не добавленные на форму в процессе обновления или синтаксические ошибки, достаточно запустить тест под полными правами. Тестировали на УТ 11.4.1.271, должно работать на всех программах УФ. У нас тест работает пять минут.


Выбрать значения, которых нет в другой таблице
Добрый день. Есть данные в двух таблицах. Требуется выбрать данные из первой таблицы, которые не.

Выбрать все ид(внешний ключ) которых нет во второй таблице
Есть две таблицы. Таб_1: т1_1. 1 2 // . 3 Таб_2: т2_1, т1_1. 1 1

Сравнить 2 столбца и вывести только те 2 которых нет в первой таблице
Здравствуйте фуромчани, впервые в жизни сталкиваюсь с Аксесом т.к. на программирование только.


Запрос отображающий данные из таблицы, только те, которых нет в другой таблице
Здравствуйте! Помогите, пожалуйста, составить запрос. Есть таблица-справочник материалов (SprMat) и.

Решение

Dethmontt, Спасибо, отработало корректно. Можете объяснить, пожалуйста, как вы к этому пришли?

Добавлено через 5 минут
Dethmontt, Просто на первый взгляд отработать не должно -- у нас ведь сначала выполняется соединение, из которого получаются дни те же, в которые записи в регистре, а потом уже отрабатывает условие, которое не находит ничего, т.к. у нас все записи не null. Или я неправ и это работает иначе?

Vortex___, соединение фильтрует "не основную" таблицу в результате чего появляется нулл (за счет этого так же можно строить условия), а секция ГДЕ, отрабатывает после соединения, значит можно поймать где появился нулл, то нам и нужно по сути выбрать.

Выбрать значения с пустым дополнительным полем в первой таблице, которого нет во второй?
Подскажите, пожалуйста, Как выбрать страховые номера организаций в таблице firms, у которых поле.

Найти строки в таблице, которых нет в другой таблице
Здравствуйте! Помогите, пожалуйста, составить запрос. Думаю думаю, никак не могу сообразить.

Запрос в 1С: если нет в одной таблице, выбрать из другой
Подскажите совет, а то не могу сообразить. Есть у меня пакетный запрос, который ищет цену на.

Как в таблице выбрать записи, строки которых пустые?
Как в таблице выбрать записи, строки которой пустые mysql_query(&quot;select * from `table` where.

Выбрать запись из таблицы, если нет записи в другой таблице
Мутновато назвал тему но по другому никак. Есть две таблици users и members. Поля такие users.

Как в mysql выбрать случайный и уникальный ID, которого еще нет в таблице?
В таблице есть поле orders_id в нём хранятся числовые id заказов в таком виде: 29 457 3467844.

Читайте также: