arefaste/1C_Forums huggingface dataset:
Как их показывать в меню?
---
Платформа на том компьютере, где нет пунктов, какая?
Проведение и отмена проведения в списках УФ появилась только в 8.3.8
---
Такой конфигурации нет, но тут два варианта. Либо нет прав (что маловероятно). Либо просто они убраны оттуда, как вариант по причине: видимо есть процедуры проведения в форме и необходимо обязательно открыть документ.
---
Такой конфигурации нет
А >ЭТО< что?
---
Имеется ввиду у меня нет, как и у многих наверняка (что бы открыть и посмотреть, что там же у Вас). А утверждать что в принципе нет конфигурации, будет только дурак. Ибо их бесчисленное множество как типовых, так и самописок под фирму.
---
видимо есть процедуры проведения в форме и необходимо обязательно открыть документ.
Я эту базу загружал у себя, там эти два пункта есть в контекстном меню. Выгрузил у себя, загрузил на другом ПК и нет их.
---
Если заходили под одним пользователем, то у меня идей нет.
---
Да, пользователь тот же, он там один
---
Платформа на том компьютере, где нет пунктов, какая?
Проведение и отмена проведения в списках УФ появилась только в 8.3.8
При сравнении/объединении с базой сохранил изменения, но не обновил базу (F7). Если сейчас сделать бекап, будет ли разница по сравнению с не сохраненными изменениями?
---
У вас в бэкапе также будет не обновлена конфигурация базы данных. и будет активна кнопка "обновить базу".
---
Еще нет. Можешь так сделать бэкап или нажать Конфигурация - конфигурация базы данных - вернуться к конфигурации базы данных. В этом случае изменения в конфигурацию придется будет еще раз внести.
---
У вас в бэкапе также будет не обновлена конфигурация базы данных. и будет активна кнопка "обновить базу".
---
Это понятно. А это сохранение на что-нибудь влияет? Куда это все сохраняется? Т.е. если сейчас выгрузить, то эти сохранения уже будут там?
---
Да. будут там.
Есть по сути три конфигурации
1) Конфигурация базы данных - с которой работает сама база.
2) Конфигурация поставщика - тут я не подскажу как и для чего.
3) Конфигурация - с которой работаю через конфигуратор, так вот сохранив, вы заменили только её. Пока не нажмете обновить, то на конфигурацию базы данных это ни как не повлияет и всегда можно будет вернутся к конфигурации базы данных.
---
Разница будет в таблице configsave. Но вы всегда сможете откатиться, заменив данные конфигурации (configsave) на данные конфигурации из базы данных (config).
---
Вопрос: для чего сейчас делать сейчас делать бекап базы?
Можно вернуться к предыдущим данным и на этом шаге.
---
Тут может быть разные варианты. Например не хочется каждый раз вносить изменения в конфигурацию, если после обновления что то пойдет не так.
Можно загрузить бэкап и исправить, только то что надо, и не заморачиваться очередным сравнением.
---
Потому что до этих действий бекап не был сделан. Вот и думаю все пропало или еще нет.
---
Еще нет. Можешь так сделать бэкап или нажать Конфигурация - конфигурация базы данных - вернуться к конфигурации базы данных. В этом случае изменения в конфигурацию придется будет еще раз внести.
---
может документы нужны
---
Очень долго именно сравнение конфигураций.
---
Пока не нажали кнопку F7 вы можете отдельно сохранить
1) конфигурацию, которую дорабатывали (конфигурация - сохранить),

2) конфигурацию базы данных - Конфигурация базы данных - сохранить в файл

3) конфигурацию поставщика - Конфигурация - поддержка - настройка поддержки - сохранить в файл

 и все вместе с данными любым бакапом - выгрузить данные или скопировать файл.
Добрый день!
Подскажите, если кто в курсе, как добавить идентификаторы объектов расширений в справочник? Документы и регистры сведений.
1С:Предприятие 8.3 (8.3.11.2867)
Управление торговлей, редакция 11 (11.4.1.241)
---
Да, действительно. Ограничение БСП сказывается. Ничего не поделаешь, надо ждать когда БСП допилят похоже.
---
идентификаторы объектов расширений
так они создаются при создании расширения, или уточните вопрос более подробно
---
Справочник не заполняется идентификаторами документов и регистров сведений, которые созданы в расширении. Я не знаю - это ошибка платформы или конфигурации?
---
Как я понял это зависит от версии БСП и поддерживаемых в ней объектов расширений. У Вас при этом выдает ошибку при запуске?
---
Никаких ошибок при запуске не выдает. Я смотрел в коде, в коде справочника "Идентификаторы объектов метаданных" есть место, где собирается структура для добавления объектов расширений, вручную добавил для документов и регистров сведений, но потом вышла другая ошибка, что эти объекты содержат изменяемые данные и нужно добавить их как источники в подписки на события - их там несколько, они перечислены. Такого сделать не удалось, так как подписка на событие в конфигурации не видит объектов расширений, которые и нужно подключить.
---
Я пробовал добавлять регистр сведений и документ для конфигурации ЗиКГУ 3.1.3.274, используемая версия БСП 2.4.2.124. Там тоже нет в идентификаторах объектов расширений ни справочников ни документов, т.е. не поддерживается по идее. Режим совместимости для конфигурации был 8.3.10, пришлось убрать для эксперимента. Документы и регистр добавленный через расширение создаются и записываются, никаких ошибок нет. Не понятно, почему нет ошибок если версия БСП их не поддерживает.
---
Ошибка возникает при обновлении конфигурации. Так то добавляются - согласен. Как только запускаю с ключом /С ЗапуститьОбновлениеИнформационнойБазы - сразу падает
---
Да, действительно. Ограничение БСП сказывается. Ничего не поделаешь, надо ждать когда БСП допилят похоже.
---
Вот так я и думал. Должна выйти 6 декабря новая УТ 11.4.2. Будем надеяться, в ней поправят :)
---
Также столкнулась с данной проблемой. У меня УТ 11.3.4.93 на платформе 8.3.12.1685

Пробовала отключить после установки обновления на эту версию расширение, но запуск с ключом /С ЗапуститьОбновлениеИнформационнойБазы вылетает. Обработка обновления идентификаторов не отрабатывает. Причем, когда принудительно удалила созданный в расширении документ, все отлично зашевелилось. но как-то не гуд...
Подскажите, нашлось ли решение проблемы, как поступить?
Есть 2 таблицы,
одна с фактом отпусков, вторая с планом отпусков.
Надо (по условию) получить данные в одну таблицу, чтобы вывести на форму.

Получить такую структуру:

Сотрудник ДатаНачала ДатаОкончания
Николай 01-10-18 05-10-18
Николай 10-10-18 13-10-18

В одной исходной таблице первая строка, во второй - вторая.

Таблицы:

ВЫБРАТЬ
 Отпуска.Сотрудник КАК Сотрудник,
 Отпуска.ПланНач КАК ПланНач,
 Отпуска.ПланКон КАК ПланКон
ПОМЕСТИТЬ ВТ_План
ИЗ
 Справочник.Отпуска КАК Отпуска
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 Отпуска.Сотрудник КАК Сотрудник,
 Отпуска.ФактНач КАК ПланНач, // здесь не ошибка, надо получить данные по плану в одну колонку с фактом
 Отпуска.ФактКон КАК ПланКон
ПОМЕСТИТЬ ВТ_Факт
ИЗ
 Справочник.Отпуска КАК Отпуска
;
---
либо основная таблица сотрудники и 2 левых соединения. Либо через объединить потом Вт и группировка.
---
либо основная таблица сотрудники и 2 левых соединения. Либо через объединить потом Вт и группировка.
---
Вариант с ОБЪЕДИНИТЬ дает нужный результат:

ВЫБРАТЬ
 ВТ_План.Сотрудник КАК Сотрудник,
 ВТ_План.ПланНач КАК ПланНач,
 ВТ_План.ПланКон КАК ПланКон
ИЗ
 ВТ_План КАК ВТ_План

ОБЪЕДИНИТЬ

ВЫБРАТЬ
 ВТ_Факт.Сотрудник,
 ВТ_Факт.ПланНач,
 ВТ_Факт.ПланКон
ИЗ
 ВТ_Факт КАК ВТ_Факт

Получается 2 строки.

А что имелось ввиду под <потом Вт и группировка> ?
---
ну если там много записей их же нужно сгруппировать. Поэтому нужно результат объединения во временную таблицу.
---
да, ясно.
Как раз группировкой убрал дубли строк
---
так а чем простое объединение не устраивает ?

```1c
    ВЫБРАТЬ
    Отпуска.Сотрудник КАК Сотрудник,
    Отпуска.ПланНач КАК ПланФактНач,
    Отпуска.ПланКон КАК ПланФактКон
    ИЗ
    Справочник.Отпуска КАК Отпуска

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Отпуска.Сотрудник,
    Отпуска.ФактНач,
    Отпуска.ФактКон
    ИЗ
    Справочник.Отпуска КАК Отпуска
```

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

```1c
    ВЫБРАТЬ
    Отпуска.Сотрудник КАК Сотрудник,
    Отпуска.ПланНач КАК ПланФактНач,
    Отпуска.ПланКон КАК ПланФактКон,
    "План" КАК ВидДанных
    ИЗ
    Справочник.Отпуска КАК Отпуска

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Отпуска.Сотрудник,
    Отпуска.ФактНач,
    Отпуска.ФактКон,
    "Факт"
    ИЗ
    Справочник.Отпуска КАК Отпуска
```
---
смысла в этом нет. Потому что нужен конечный результат, а не промежуточный с помеченными таблицами.
Товарищи, в конфигураторе встретился с такой переменной НДСпоСтавкам4и2. Кто сможет объяснить её значение? Дело в том, что если ндс 18%, то коэффициент 0.4, если ндс 10% то коэффициент 0.2. Что 0.4 и 0.2 значат? А если 20% ндс, то тогда какой коэффициент будет?

```1c
    Если СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10")
    ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10_110") Тогда

    Возврат ?(НДСпоСтавкам4и2, 0.02, 0.1);

    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18")
    ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18_118") Тогда

    Возврат ?(НДСпоСтавкам4и2, 0.04, 0.18);
```
---
Это для Крыма делали.
---
НДСпоСтавкам4и2
НДС по ставкам 4% и 2%
---
Это для Крыма делали.
---
Так понимаю вкручиваете НДС 20% без полного обновления? И как успехи? В данный момент тоже решаю этот вопрос.
---
Да, всё верно. Пока успешно. В тестовой версии проверил(но не всё), работает. У нас собственно ндс фигурирует в документах продажи, но по факту нигде не используется. Чисто для галочки меняем. Пришлось кучу документов править, но вроде ничего сложного.

Обновление ставить, очень сложно, потому что то что используется в программе, половина самописная.
---
понял. у меня тоже нежелательно обновление. пока процентов 30 перелопатил. надеюсь все взлетит.
---
когда выпустят обновление УТ ответ можно будет дать без фантазий.

пока что 11.4.6 не взлетает, наверное будет подарком под елочку
---
можно подробнее про не взлетает? обновление не проходит? а то я на одной базе напоролся уже на необходимость отката к бэкапу, не проходили процедуры обновления при запуске. и думаю, или я дурак, или лыжи таки не едут.
Добрый!
Бухгалтерия 3.0
Вопрос простой, но чет сообразить не могу.
Нужно выбрать материалы, по которым нет движения между двумя датами(к примеру между 01.01.18 и 31.12.18), т.е. нет поступления, перемещения, расхода.

Сделал так:

```1c
    ВЫБРАТЬ
    *
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
    ГДЕ
    ХозрасчетныйДвиженияССубконто.Период >= &НачПериод
    И ХозрасчетныйДвиженияССубконто.Период <= &КонПериод
    И ХозрасчетныйДвиженияССубконто.СчетДт = &СчетДт
    И ХозрасчетныйДвиженияССубконто.СубконтоДт2 = &СубконтоДт2
    И НЕ(ХозрасчетныйДвиженияССубконто.Регистратор.Дата МЕЖДУ НачалоПериода(&НачПериод, День) И КонецПериода(&КонПериод, День))
```

ничего не показывает.....
если без НЕ, то только то что между датами.
---
ну ищем же, где нет движений
как можно искать в движениях товары, у которых движений нет. Их же там нет? Надо где-то в другом месте поискать, наверное...
И почему это вопрос простой? если он простой, его каждый решить может, так ведь. Наверное, не такой уж он и простой....
---
ищите без не то по чему есть движения, а другим запросом выберите всю номенклатуру, которая не в списке найденной.
---
ну ищем же, где нет движений
как можно искать в движениях товары, у которых движений нет. Их же там нет? Надо где-то в другом месте поискать, наверное...
И почему это вопрос простой? если он простой, его каждый решить может, так ведь. Наверное, не такой уж он и простой....
---
Возможно...
---
как правило Регистратор.Дата = Период !
когда использует Не получается взаимоисключающее условие
а это значит что у вас нет проводок за Период(ы) который отличается от Даты документа!
---
Код написал, но при правильном изучении 1С оказалось, что такое и обычная оборотка с определённым отбором показывает.
В документе Прекращение прав пользования при нажатии на Договоры появляется ошибка Недостаточно прав для просмотра.
Какие именно права нужны?
---
Главное меню --> Сервис --> Параметры --> "отладка в текущем сеансе" = Разрешена (протокол TCP/IP). Жмем на договоры. Выйдет сообщалка с кнопкой "Подробно". В описании должно быть видно на что нет прав. В конфигураторе у объекта на который нет прав смотрим (вкладка права) в какой роли есть разрешение на этот объект и добавляем эту роль пользователю
---
Главное меню --> Сервис --> Параметры --> "отладка в текущем сеансе" = Разрешена (протокол TCP/IP). Жмем на договоры. Выйдет сообщалка с кнопкой "Подробно". В описании должно быть видно на что нет прав. В конфигураторе у объекта на который нет прав смотрим (вкладка права) в какой роли есть разрешение на этот объект и добавляем эту роль пользователю
Надо переименовать контрагентов с ООО Контрагент на Контрагент ООО. Я получил первые 4 символа наименования, но не могу понять как мне выбрать наименование, которые начинаются на ООО. Помоги плиз.

```1c
    &НаСервере
    Процедура ЗаполнитьНаСервере()

    Если Объект.ООО= Истина Тогда
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Контрагенты.Наименование КАК Наименование,
    | Контрагенты.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.Контрагенты КАК Контрагенты";

    Результат = Запрос.Выполнить().Выгрузить();

    Для Каждого ТЗ из Результат цикл

    Контрагент = ТЗ.Наименование;

    Контора = Сред(Контрагент, 1, 4);

    КонецЦикла;

    КонецЕсли;

    КонецПроцедуры
```
---
ТО есть, а где код замены наименования?:

```1c
    КонтрагентОбъект = ТЗ.Ссылка.ПолучитьОбъект();
    КонтрагентОбъект.Наименование = Контрагент + Контора ;
    КонтрагентОбъект.ЗАписать();
```
---
Наименование подобно "ООО%"
---
Переименовывать так контрагентов - чревато не сдачей отчетности.
Наименования контрагентов необходимо заполнять из ЕГРЮЛ для корректной отчетности по ним
Рабочие (Полное ) наименования могут быть любыми
---
```1c
    Если Лев(Контрагент,3)="ООО" Тогда
```
---
```1c
    ГДЕ ПОДСТРОКА(Контрагент.Наименование, 0, 4) ПОДОБНО "ООО"
```

Но лучше как сказал Подводник, не придетесь проверять запрос в СКД
---
```1c
    Для Каждого ТЗ из Результат Цикл

    Контрагент = ТЗ.Наименование;

    Контора = Сред(Контрагент, 1, 4);

    Если Лев(Контрагент,4)="ООО " Тогда
    Контрагент = СтрЗаменить(Контора, "_", ");
    Контора = Прав(Контора, " ООО");

    КонецЕсли;
    КонецЦикла;
```

Вот, что получилось, но почему то не меняет название(
---
ТО есть, а где код замены наименования?:

```1c
    КонтрагентОбъект = ТЗ.Ссылка.ПолучитьОбъект();
    КонтрагентОбъект.Наименование = Контрагент + Контора ;
    КонтрагентОбъект.ЗАписать();
```
---
КонтрагентОбъект = ТЗ.Ссылка.ПолучитьОбъект();
КонтрагентОбъект.Наименование = Контрагент + Контора ;
КонтрагентОбъект.ЗАписать();
Спасибо, заработало!)

```1c
    Если Объект.ООО = Истина Тогда
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Контрагенты.Наименование КАК Наименование,
    | Контрагенты.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.Контрагенты КАК Контрагенты";
    Результат = Запрос.Выполнить().Выгрузить();
    Для Каждого ТЗ из Результат Цикл

    КонтрагентОбъект = ТЗ.Ссылка.ПолучитьОбъект();

    Если Лев(КонтрагентОбъект.Наименование,4)="ООО " Тогда
    Контора = " ООО" ;
    КонтрагентОбъект.Наименование = СтрЗаменить(КонтрагентОбъект.Наименование, "ООО ", ") + Контора;
    КонтрагентОбъект.Записать();

    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
```
---
нужно нажимать "Это решение", иначе на суде мне это не зачтется.
Добрый день! Есть РС независимый, в пределах дня. Нужно добавить еще одно поле на форму записи. Не знаю куда безопаснее. Если добавить в ресурс, то это не повлечет каких то негативных последствий? Поле нужно просто для дополнительной аналитики, не обязательной.
---
Добавление ресурса никаких негативных последствий не повлечет. Если добавить реквизит, то он не будет доступен при срезе последних или первых записей, а ресурс будет.
---
Добавление ресурса никаких негативных последствий не повлечет. Если добавить реквизит, то он не будет доступен при срезе последних или первых записей, а ресурс будет.
---
Это с измерением надо быть осторожным?
---
измерение отвечает за уникальность записей. Если вы добавите измерение, могут появится дубли. Т.к. в старом коде не будет проверяться новое измерение
---
И если будет нужно получать срез последних на опеределенную дату, то количество измерений также будет влиять на результат - может выводить больше чем одну строку, когда нужно получить из строки одно конкретное значение
---
Будут и ресурсы и реквизиты в рег.свед. в рег. накопления не будет
---
Не поняла вас.
---
Я писал человеку user834357, он правильно написал, что последствий не будет если добавить в ресурс или реквизит.
В (2) написано "Если добавить реквизит, то он НЕ БУДЕТ доступен при срезе последних или первых записей, а ресурс будет."
Я говорю, что будет доступен в срезе последних. В регистрах сведений нет разницы между Ресурсом и Реквизитом. Это скорее логическое разделение.
Добрый день. Помогите пожалуйста решить задачку. Создал журнал документов "ДокументыПродаж" в который входят реализации и счет фактуры. Создал на форме динамический список. Устанавливаю отбор по контрагенту

```1c
    &НаКлиенте
    Процедура ОбновитьЖурнал()
    Для Каждого ЭлементОтбора Из ЖурналПродаж.Отбор.Элементы Цикл
    Если ЭлементОтбора.Представление = "Программный отбор" Тогда
    ЖурналПродаж.Отбор.Элементы.Удалить(ЭлементОтбора);
    КонецЕсли;
    КонецЦикла;

    ГруппаОтбора = ЖурналПродаж.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ГруппаОтбора.Использование = Истина;
    ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
    ГруппаОтбора.Представление = "Программный отбор";

    Если НЕ Объект.КонтрагентРеализация.Пустая() Тогда
    ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = Объект.КонтрагентРеализация;
    ЭлементОтбора.Представление = "Программный отбор";
    КонецЕсли;
```

Не могу разобраться как установить отбор по менеджеру. В реализации реквизит имеет наименование "Менеджер" а в счет фактуре "Ответственный"
---
Так динамический список это Запрос. На выходе вы должны получить одно название и не придумывать велосипеды.
Вот самый глупый вариант решения

```1c
    ЕстьNULL(Реализации .Менеджер, СФ.Ответственный) КАК Ответственный
```
---
Можно попробовать сделать группу "Или" и добавить туда второй элемент по аналогии с контрагентом
---
Пробовал, тогда отборы не работают вместе.
---
Так динамический список это Запрос. На выходе вы должны получить одно название и не придумывать велосипеды.
Вот самый глупый вариант решения

```1c
    ЕстьNULL(Реализации .Менеджер, СФ.Ответственный) КАК Ответственный
```
---
В запросе через выбор можно сделать например. Примерно так:

```1c
    Выбор Когда ТипЗначения(Вт.Ссылка) = ТИП(Документ.Реализация) Тогда Вт.Менеджер Иначе Вт.Ответственный Конец КАК Менеджер.
```
---
в журнале данные из разных реквизитов сводятся с одну колонку, посмотрите в списке ее наименование
и на это Имя(элементотбора) добавляйте отбор
Добавляю проводку с помощью нижеприведенного кода.
Но сумму почему-то всегда кидает на дебет, функция ДобавитьКредит() не работает почему-то или я не понял ее сути....
В чем моя ошибка?

```1c
    ДвижениеКорректировки = Движения.Хозрасчетный.ДобавитьКредит();

    ДвижениеКорректировки.Регистратор = Ссылка;
    ДвижениеКорректировки.Организация = Организация;
    ДвижениеКорректировки.Период = Дата;
    ДвижениеКорректировки.СчетДт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладе;
    ДвижениеКорректировки.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСОтечественнымиПоставщиками;
    ДвижениеКорректировки.Сумма = элемент.ИзменениеСуммы * ЭтотОбъект.КурсВзаиморасчетов/100;
    ДвижениеКорректировки.СубконтоДт.Номенклатура = элемент.Номенклатура;
    ДвижениеКорректировки.СубконтоДт.Склады = элемент.Склад;
    ДвижениеКорректировки.СубконтоДт.Партии = Ссылка;

    ДвижениеКорректировки.СубконтоКт.Контрагенты = Контрагент;
    ДвижениеКорректировки.СубконтоКт.ДокументыРасчетовСКонтрагентами = Ссылка;
    ДвижениеКорректировки.СубконтоКт.Договоры = ДоговорКонтрагента;
```
---
сумму кидает на дебет товары но на кредит расчеты с поставщиками, а вам как надо, зачем вы в коде так пишите - функция добавить кредит ставит только признак вида движения
---
сумму кидает на дебет товары но на кредит расчеты с поставщиками, а вам как надо, зачем вы в коде так пишите - функция добавить кредит ставит только признак вида движения
---
Все спасибо, разобрался. Вопрос поставил не совсем в корректной формулировке, ибо изначально не понимал принцип формирования проводок.
Поменял счета местами и все заработало как нужно!
Спасибо!
---
```1c
    ДвижениеКорректировки = Движения.Хозрасчетный.Добавить()
```
---
Так уже пробовал, тоже всегда на дебет бросает.
Привет ребятки! Такая ситуевина, Артикул имеет несколько ссылок на справочники, если ты выбрал изначально например справочник "Артикул" и потом решил поменять данный справочник например на "Материалы" вылазит ошибка... может знаете как ее устранить:(

```1c
    Процедура ТоварыАртикулПриИзменении(Элемент)
    //
    ТекСтрока = ЭлементыФормы.Товары.ТекущаяСтрока;
    //

    //Если ТипЗнч(ТекСтрока.Артикул) = Тип("СправочникСсылка.Материалы") Тогда
    Запрос = Новый Запрос;
    Запрос.Текст =
    //"ВЫБРАТЬ
    //| Склад44801ЦентральныйОстатки.НоменклатурныйНомер
    //|ИЗ
    //| РегистрНакопления.Склад44801Центральный.Остатки КАК Склад44801ЦентральныйОстатки
    //|ГДЕ
    //| Склад44801ЦентральныйОстатки.Артикул.Артикул = &Артик";

    "ВЫБРАТЬ
    | Склад43000Центральный.НоменклатурныйНомер
    |ИЗ
    | РегистрНакопления.Склад43000Центральный КАК Склад43000Центральный
    |ГДЕ
    | Склад43000Центральный.Артикул.Код = &Артик";
    //ругается тут
    Запрос.УстановитьПараметр("Артик", СокрЛП(ТекСтрока.Артикул.Код));
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
    НоменкНом = Результат.НоменклатурныйНомер;
    КонецЦикла;
    ТекСтрока.НоменклатурныйНомер = НоменкНом;
    //КонецЕсли;

    // Если Ответственный = Справочники.Пользователи.НайтиПоНаименованию("Тюлькина Людмила Николаевна") ИЛИ
    Если Ответственный = Справочники.Пользователи.НайтиПоНаименованию("Хаметзянов Р.Р.") Тогда
    ТекСтрока.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("166").Ссылка;
    иначе
    ТекСтрока.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("796").Ссылка;
    КонецЕсли;
    ТекСтрока.НДС = Перечисления.СтавкиНДС.НДС18;
    ТекСтрока.КоличествоАнализ = 0;
    //ТекСтрока.Обозначение = ТекСтрока.Артикул.Наименование;

    Если ТипЗнч(ТекСтрока.Артикул) = Тип("СправочникСсылка.Материалы") Тогда
    ТекСтрока.Обозначение = СокрЛП(ТекСтрока.Артикул.Наименование);
    //Женя1
    ТекСтрока.МаркаМатериала = СокрЛП(ТекСтрока.Артикул.МаркаМатериала);
    ТекСтрока.Стандарт = СокрЛП(ТекСтрока.Артикул.Стандарт);
    //Женя1
    Иначе
    ТекСтрока.Обозначение = СокрЛП(ТекСтрока.Артикул.Обозначение);
    ТекСтрока.Вид = 1;
    КонецЕсли;

    Если Не ЗначениеЗаполнено(Основание) ИЛИ Не ЗначениеЗаполнено(Контрагент) Тогда
    Комментарий = "Ввод остатков";
    КонецЕсли;

    КонецПроцедуры
```
---
Надо бы проверять, что в артикуле перед установкой параметра со значением "ТекСтрока.Артикул.Код"
---
В ошибке нажмите "Подробно", потом "Конфигуратор" там увидите в какой строке ошибка. Начать нужно с этого.
---
Надо бы проверять, что в артикуле перед установкой параметра со значением "ТекСтрока.Артикул.Код"
---
Всё, спасибо :)