Здравствуйте,

Клиент обратился с проблемой, над которой размышляю уже пару дней и не могу найти концов...

Открываем список клиентов - Продажи -> Клиенты. По умолчанию состав полей следующий: Наименование, Дата регистрации, Код. Для того что бы добавить в список ИНН/КПП как обычно, захожу Все действия -> Изменить форму, И ТУТ, в дереве доступных полей нет ни ИНН ни КПП.

смотрю запрос формирования дин. списка:

КодВЫБРАТЬ
   СправочникПартнеры.Ссылка,
   СправочникПартнеры.ПометкаУдаления,
   СправочникПартнеры.Предопределенный,
   СправочникПартнеры.Родитель,
   СправочникПартнеры.Код,
   СправочникПартнеры.Наименование,
   СправочникПартнеры.БизнесРегион,
   СправочникПартнеры.ГруппаДоступа,
   СправочникПартнеры.ДатаРегистрации,
   СправочникПартнеры.Клиент,
   СправочникПартнеры.Комментарий,
   СправочникПартнеры.Конкурент,
   СправочникПартнеры.НаименованиеПолное,
   СправочникПартнеры.ОсновнойМенеджер,
   СправочникПартнеры.Поставщик,
   СправочникПартнеры.Перевозчик,
   СправочникПартнеры.ПрочиеОтношения,
   СправочникПартнеры.ДополнительныеРеквизиты.(
      Ссылка,
      НомерСтроки,
      Свойство,
      Значение,
      ТекстоваяСтрока
   ),
   СправочникПартнеры.КонтактнаяИнформация.(
      Ссылка,
      НомерСтроки,
      Тип,
      Вид,
      Представление,
      ЗначенияПолей,
      Страна,
      Регион,
      Город,
      АдресЭП,
      ДоменноеИмяСервера,
      НомерТелефона,
      НомерТелефонаБезКодов
   ),
   Контрагенты.Ссылка КАК Контрагент,
   Контрагенты.ЮрФизЛицо,
   ВЫБОР
      КОГДА Контрагенты.ОбособленноеПодразделение
         ТОГДА Контрагенты.ГоловнойКонтрагент
      ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
   КОНЕЦ КАК ГоловнойКонтрагент,
   ВЫБОР
      КОГДА Контрагенты.ОбособленноеПодразделение
         ТОГДА &ПредставлениеОбособленногоПодразделения
      ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Контрагенты.ЮрФизЛицо)
   КОНЕЦ КАК ВидКонтрагента,
   Контрагенты.ОбособленноеПодразделение,
   Контрагенты.ИНН КАК ИНН,
   Контрагенты.КПП КАК КПП,
   Контрагенты.КодПоОКПО КАК КодПоОКПО
ИЗ
   Справочник.Партнеры КАК СправочникПартнеры
      {ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
      ПО (Контрагенты.Партнер = СправочникПартнеры.Ссылка)}
ГДЕ
   ВЫБОР
         КОГДА НЕ &ОтборПоСегментуУстановлен
            ТОГДА ИСТИНА
         ИНАЧЕ СправочникПартнеры.Ссылка В (&ОтборПоСегменту)
      КОНЕЦ
   И ВЫБОР
         КОГДА НЕ &ОтборПоПолнотекстовомуПоискуУстановлен
            ТОГДА ИСТИНА
         ИНАЧЕ СправочникПартнеры.Ссылка В (&ОтборПоПолнотекстовомуПоиску)
      КОНЕЦПоказать полностью
поля ИНН/КПП есть!

смотрю форму - поля ИНН/КПП есть. Открываю форму списка - полей ИНН/КПП нет... Независимо вести партнеров и контрагентов = Ложь. База типовая, платформа и релиз последние. В демо базе - такой проблемы нет т.е. проблема в данных. Им кто-то перенес НСИ из 7.7, подозреваю, что причина в этом, но где ее искать? Кто сталкивался с такой проблемой?
---
так и есть, кому нужно - ищем процедуру ТекстЗапросаДинамическогоСпискаПартнеры, в ней как раз таки и формируется запрос дин. списка (а не на форме списка). Проверяем запросом:

Код
ВЫБРАТЬ ПЕРВЫЕ 1
         КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) КАК Ссылка,
         Контрагенты.Партнер КАК Партнер,
         Контрагенты.Партнер.Код КАК Код
      ИЗ
         Справочник.Контрагенты КАК Контрагенты

      СГРУППИРОВАТЬ ПО
         Контрагенты.Партнер

      ИМЕЮЩИЕ
         КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) > 1
Показать полностью

видим партнера у которого более одного контрагента и чистим (предварительно включив "Не зависимо вести партнеров и контрагентов"). проверяем опять - чистим, до момента пока не получим пустой результат. Далее ставим "Не зависимо вести партнеров и контрагентов" в Ложь и должно все работать нормально.
---
видим партнера у которого более одного контрагента и чистим (предварительно включив "Не зависимо вести партнеров и контрагентов"). проверяем опять - чистим, до момента пока не получим пустой результат. Далее ставим "Не зависимо вести партнеров и контрагентов" в Ложь и должно все работать нормально.

совет дельный, но есть одно но: в базе есть 38 контрагентов, с видом ФизЛицо, и у всех стоит предопределенный Партнер "Неизвестный партнер", удалить его из карточки Контрагента нельзя.

поэтому сделали так:
В общем модуле ПартнерыИКонтрагенты поставили переменной ЗапросСИнформациейПоКонтрагенту признак Истина.

```1c
    Процедура ПартнерыФормаВыбораСпискаПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

    Форма.УпрощенныйВводДоступен = УпрощенныйВводДоступен();
    Форма.ТекущийПользователь = Пользователи.АвторизованныйПользователь();
    Форма.ДоступноДобавлениеПартнеров = ПравоДоступа("Добавление", Метаданные.Справочники.Партнеры);
    Форма.ИспользоватьБизнесРегионы = ПолучитьФункциональнуюОпцию("ИспользоватьБизнесРегионы");
    Форма.ИспользоватьПартнеровКакКонтрагентов = ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов");
    ИспользоватьПроверкуКонтрагентов = ПроверкаКонтрагентов.ПроверкаКонтрагентовВключена();

    Если Не СтрНайти(Форма.ИмяФормы, "Контрагенты") > 0 Тогда

    ЗапросСИнформациейПоКонтрагенту = Истина;

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

УТ 11.2.3.83
---
InWith, Все действия -> Изменить форму.. там наверно есть или контрагент или клиент. Ставим курсор на него. Сверху становится доступна кнопка "Добавить поле". Тыркаем добавить и выбираем нужное поле.

Или ..Все действия -> Изменить форму справа вверху "Все действия"..установить стандартные настройки
---
первым делом это пробовал - установка стандартных настроек не помогает, в форме списка контрагента нет:
---
InWith, а клиент?
---
vovan_victory, клиент это признак с типом булево, ссылка - это ссылка на партнера.
---
InWith, а поставщик тогда какой тип имеет? Есть подозрение, что контрагент
---
тоже булево
---
InWith,
Смотрите в конфигураторе видимость полей для этого динамического списка Партнеров
---
paul_freedom,база то типовая
---
в том то и дело - ТИПОВАЯ!
---
InWith, значит нужно почистить кэш. На клиенте и если клиент\сервер ,то на сервере тоже.
---
InWith,
ётижи-пасатижи, реиндексацию может?
---
Делал ТиИ полностью - не помогло
---
InWith, не путайте теплое с мягким. В УТ 11 2 справочника: партнеры и контрагенты. И в списки вы видите именно справочник партнеров, в котором нет ни ИНН ни КПП.
Эти поля выбираются для быстрого поиска, то есть если вводить в поле ввода инн, то система по нему найдет партнера и контрагента.
---
в типовом запросе формирования дин. списка есть соединения контрагентов с партнерами. это соединение выводит ИНН/КПП для списка Клиентов (партнеров). В настройках 1 партнер = 1 контрагент.
---
InWith, Текст запроса к списку партнеров формируется динамически, а не задан в форме.
Поля ИНН/КПП доступны лишь в случае, если включена функциональная опция "Использовать партнеров как контрагентов" И нет партнеров, по которым введено более одного контрагента.
В случае, если для одного партнера может быть несколько контрагентов, то поля ИНН/КПП просто не имеют смысла, так как они могут быть разные для одного и того же партнера.
---
как добавить ИНН в форме- выбрать "Ссылка", после этого станет активна кнопка "Добавить поля", в списке выбрать нужное поле, в том числе ИНН, КПП
---
Проблема в том, что есть Партнеры к которым привязалось несколько Контрагентов, а в случае выключенной настройки "Независимо вести партнеров и контрагентов" в Администрирование/CRM и продажи связь между партнерами и контрагентами должна быть один к одному.

В вашем случае скорее всего есть Партнер которому соответствует более одного контрагента. Когда таких партнеров не будет, то появятся ИНН и КПП.

Была аналогичная ситуация при переносе данных из другой конфигурации. После того как связь между партнерами и контрагентами осталась один к одному - ИНН и КПП появились в настройках списка.
---
так и есть, кому нужно - ищем процедуру ТекстЗапросаДинамическогоСпискаПартнеры, в ней как раз таки и формируется запрос дин. списка (а не на форме списка). Проверяем запросом:

Код
ВЫБРАТЬ ПЕРВЫЕ 1
         КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) КАК Ссылка,
         Контрагенты.Партнер КАК Партнер,
         Контрагенты.Партнер.Код КАК Код
      ИЗ
         Справочник.Контрагенты КАК Контрагенты

      СГРУППИРОВАТЬ ПО
         Контрагенты.Партнер

      ИМЕЮЩИЕ
         КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) > 1
Показать полностью

видим партнера у которого более одного контрагента и чистим (предварительно включив "Не зависимо вести партнеров и контрагентов"). проверяем опять - чистим, до момента пока не получим пустой результат. Далее ставим "Не зависимо вести партнеров и контрагентов" в Ложь и должно все работать нормально.
---
тнер КАК Партнер,
         Контрагенты.Партнер.Код КАК Код
      ИЗ
         Справочник.Контрагенты КАК Контрагенты

      СГРУППИРОВАТЬ ПО
         Контрагенты.Партнер

Спасибо за ответ ! Очень помог.
---
Спасибо! Помогло!
---
СПАСИБО !!!
---
СПАСИБО!!!
---
Пожалуйста!
---
видим партнера у которого более одного контрагента и чистим (предварительно включив "Не зависимо вести партнеров и контрагентов"). проверяем опять - чистим, до момента пока не получим пустой результат. Далее ставим "Не зависимо вести партнеров и контрагентов" в Ложь и должно все работать нормально.

совет дельный, но есть одно но: в базе есть 38 контрагентов, с видом ФизЛицо, и у всех стоит предопределенный Партнер "Неизвестный партнер", удалить его из карточки Контрагента нельзя.

поэтому сделали так:
В общем модуле ПартнерыИКонтрагенты поставили переменной ЗапросСИнформациейПоКонтрагенту признак Истина.

```1c
    Процедура ПартнерыФормаВыбораСпискаПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт

    Форма.УпрощенныйВводДоступен = УпрощенныйВводДоступен();
    Форма.ТекущийПользователь = Пользователи.АвторизованныйПользователь();
    Форма.ДоступноДобавлениеПартнеров = ПравоДоступа("Добавление", Метаданные.Справочники.Партнеры);
    Форма.ИспользоватьБизнесРегионы = ПолучитьФункциональнуюОпцию("ИспользоватьБизнесРегионы");
    Форма.ИспользоватьПартнеровКакКонтрагентов = ПолучитьФункциональнуюОпцию("ИспользоватьПартнеровКакКонтрагентов");
    ИспользоватьПроверкуКонтрагентов = ПроверкаКонтрагентов.ПроверкаКонтрагентовВключена();

    Если Не СтрНайти(Форма.ИмяФормы, "Контрагенты") > 0 Тогда

    ЗапросСИнформациейПоКонтрагенту = Истина;

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

УТ 11.2.3.83
---
спасибо! помогло!
ЗЫ: надо после этих процедур перезайти в базу.
---
а что значит чистим? на удалении помечаем?
---
пометка на удаление не поможет, т.к. в запросе нет на это условия. Только полное удаление или очищать ссылку.
---
Братья ТОВАРИЩИ!!!!! У меня такая же проблема в УТ прочитал Ваши комменты, нихрена не понял так как просто обычный юзер, а компания и горе спецы которые пришли от поставщика ещё тупее меня оказались. Помогите решить проблему с колонкой ИНН. Есть 500р. Спасайте пож-та.
---
Спасибо, помогло!
В консоли запросов пишем запрос:

```1c
    ВЫБРАТЬ
    Партнеры.Ссылка КАК Ссылка,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) КАК КОЛИЧЕСТВО
    ПОМЕСТИТЬ ВременнаяТаблица
    ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
    ПО (Контрагенты.Партнер = Партнеры.Ссылка)

    СГРУППИРОВАТЬ ПО
    Партнеры.Ссылка

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) <> 1
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Партнер КАК Партнер

    ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВременнаяТаблица КАК ВременнаяТаблица
    ПО (Контрагенты.Партнер = ВременнаяТаблица.Ссылка)
```

Выдаётся табличка с контрагентами у которых одинаковые партнеры.
У меня вышло два задвоенных контрагента
Далее через поиск и удаление дублей удалил (пометил на удаление) лишний
Выполнил удаление помеченных на удаление.
И всё стало хорошо.
---
https://infostart.ru/1c/tools/1845356/

Всем в помощь данного вопроса.