arefaste/1C_Forums huggingface dataset:
Добрый день.

Вопрос такой. Есть база УТ 10.3 (сильно дописана) - Источник, есть База БП 3.0 (типовая) - Приемник. Делаю обмен поступлениями ТМЦ в одну сторону, так же выгружаю все данные по документу которые ему нужны. При этом так же хочу выгружать данные по контрагентам т.е. его банк счет. В новой БП 3.0 у контрагента нет реквизита банк.счет, они связаны чисто по владельцу в банк счете. Если включить правило выгрузки для банк счета то грузятся вообще все банк счета из УТ 10.3, можно ли как то выгружать данные банк. счета только по контрагентам которые указаны в документам поступления ?
---
Разобрался в проблеме, получается если счет забит но не установлен как основной счет (выделен жирным цвето) в карточке контрагента то он не перенесется. Вроде так просто было и я знал об этом, но забыл. Тема закрыто, спасибо кто помогал.
---
Либо в правилах регистрации (что более правильно) в обработчике события контрагента "Перед обработкой" написать что то подобное

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | 1 КАК Поле1
    |ИЗ
    | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    |ГДЕ
    | ДоговорыКонтрагентов.Владелец = &Владелец";

    Запрос.УстановитьПараметр("Владелец", Объект.Ссылка);

    Если Запрос.Выполнить().Пустой() Тогда

    Отказ = Истина;

    КонецЕсли;
```

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

```1c
    Запрос.УстановитьПараметр("Владелец", Источник.Ссылка);
```
---
Вы хотите предложить отсеивать контрагентов. Но у меня и так грузятся только нужные контрагенты. У меня не получается указать (не знаю как) конвертации, какие именно мне нужны банк.счета.
---
При выгрузке контрагента использовать "выгрузить по правилу" и грузить только нужный банковский счет. В самой конвертации 2 в справке есть похожий пример.
---
Не совсем понятно, что значит грузить нужный банк.счет ? Его же нет в реквизитах контрагента.
---
Балиииин походу я затупил, щя гляну секунду.
---
А нет все равно не грузит, банк.счет.
---
Разобрался в проблеме, получается если счет забит но не установлен как основной счет (выделен жирным цвето) в карточке контрагента то он не перенесется. Вроде так просто было и я знал об этом, но забыл. Тема закрыто, спасибо кто помогал.
Приветствую всех:) Пытаюсь создать макет для ТабДока. Макет готов. Получения макета проходит успешно. Но на строке "ТабДок.Вывести("Шапка");" выходит ошибка "Несоответствие типов (параметр номер '1')". Подскажите пожалуйста,в чем может быть беда?

```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Очистить();
    МакетОбработки = Обработки.СЭГЗ_СравнениеОстатков.ПолучитьМакет("ОтчетExcelПоИзделие");
    ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
    ТабДок.Вывести("Шапка");
```
---
ТабДок.Вывести(ОбластьШапки )
---
ТабДок.Вывести(ОбластьШапки )
---
Блин... точно...Очень глупая ошибка...:D проглядел. Спасибо большое:D
Конвертация данных 2.0
Источник -- > Приемник
Иванов Иван -- > Иванов Иван Иванович

Как искать, когда нет точного совпадения?
---
Спасибо, получилось!

```1c
    Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Пользователи ГДЕ Наименование ПОДОБНО &Наименование");
    Запрос.УстановитьПараметр("Наименование", СвойстваПоиска["Наименование"] + "%");

    //Выборка = Запрос.Выполнить().Выбрать();
    //Если Выборка.Следующий() Тогда
    // Результат = Выборка.Ссылка; //Ура мы все нашли
    //КонецЕсли;

    Попытка
    Результат = Запрос.Выполнить().Выгрузить()[0].Ссылка;
    Исключение
    КонецПопытки;

    Если НЕ Результат = Неопределено Тогда
    СсылкаНаОбъект = Результат;
    КонецЕсли;
```
---
Если нет других свойств, то залить фотки и сверять через фейс-айди-апи
---
теоретически - мы делаем допущение что, если отчество не заполнено, то ищем только по имени и фамилии.
практически - никак. лучше сделать регистр с соответствием объектов, где кожаные мешки с мясом руками проставят значения
---
то ищем только по имени и фамилии.
Это не два реквизита, а строка.
---
либо искать не по имени, а по номеру паспорта например или типа того (нужно чтото более уникальное чем имя)
---
в ПКО обрабочик событий поля поиска:

Запрос = Новый Запрос(
выбрать ссылка из справочник.Сотрудник где Наименование подобно &Наименование)

Запрос.УстановитьПараметр("Наименование","%"+СвойстваПоиска["Наименование"] + "%")

СсылкаНаОбъект = Запрос.Выполнить.Выгрузить()[0];
---
7.7.
---
если 7.7 источник а 8х приёмник то не имеет значения.
---
Спасибо, получилось!

```1c
    Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Пользователи ГДЕ Наименование ПОДОБНО &Наименование");
    Запрос.УстановитьПараметр("Наименование", СвойстваПоиска["Наименование"] + "%");

    //Выборка = Запрос.Выполнить().Выбрать();
    //Если Выборка.Следующий() Тогда
    // Результат = Выборка.Ссылка; //Ура мы все нашли
    //КонецЕсли;

    Попытка
    Результат = Запрос.Выполнить().Выгрузить()[0].Ссылка;
    Исключение
    КонецПопытки;

    Если НЕ Результат = Неопределено Тогда
    СсылкаНаОбъект = Результат;
    КонецЕсли;
```
По кнопке на форме документа открывается произвольная форма.
В модуле произвольной формы предусмотрен диалог с пользователем через ОПОВЕЩЕНИЕ

```1c
    .............
    Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаПерезаписать", ЭтотОбъект, ДопПараметр);
    ПоказатьВопрос(Оповещение, "Расчет с таким имененм уже существует. Перезаписать расчет?", РежимДиалогаВопрос.ДаНетОтмена);

    &НаКлиенте
    Процедура ПослеЗакрытияВопросаПерезаписать(Результат, Параметры) Экспорт
    .......
```

но, программа не попадает в процедуру "ПослеЗакрытияВопросаПерезаписать".
Не помогает перенос процедуры в общий клиентский модуль и указание этого модуля вместо ЭтотОбъект.
Этот же код, в форме документа работает без ошибок.
Как обработать ответ пользователя на вопрос?
---
да там контексты перепутали "получает" либо сервер, либо фоновое, либо форма которая закрылась и уничтожена, т.е. никто не получает
---
Потому что ПослеЗакрытияВопросаПерезаписать должна быть тут же рядом с вопросом.
А вот из нее вызывайте все что угодно и откуда угодно...
---
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаПерезаписать", ЭтаФорма, ДопПараметр); Может так?
---
ЭтаФорма - не помогает
---
должно помочь
---
Так процедура то рядом лежит?

Может оповещение вот так оформить?
У меня так заходит прекрасно

```1c
    Оповещение = Новый ОписаниеОповещения("ОбработчикВопросаОПереРегистрации", ЭтотОбъект, Новый Структура("Результат", Результат));
    ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
```
---
YannikAlx
должна быть тут же рядом с вопросом - насколько близко?
---
ну так в том же модуле, удобнее вообще по соседству -виднее
---
Процедура здесь же в модуле формы.
И "форме документа" тоже прекрасно заходит, но это - "произвольная форма"
---
Не совсем ясно тогда в чем же проблема?
Если прекрасно заходит?
Поясните все же для ясности...
---
Там где вопрос - там же должна быть и процедура обработки этого вопроса (я никак не пойму что у вас не получается...)
---
Вы понимаете разницу между Формой документа, Формой списка документа, Формой выбора документа и Произвольной формой?
---
ПослеЗакрытияВопросаПерезаписать лежит в произвольной форме? (вот что хочет спросить "YannikAlx".)
---
да там контексты перепутали "получает" либо сервер, либо фоновое, либо форма которая закрылась и уничтожена, т.е. никто не получает
---
Если это УНФ, то можете сказать в микрофон: "Даша, памаги".
 - должен возникнуть диалог с пользователем.
---
Всё в модуле произвольной формы, обе процедуры &НаКлиенте
---
ПослеЗакрытияВопросаПерезаписать(Результат, Параметры) - ужасная процедура.
Первое есть ключевая переменная "Параметры".
Результат - Часто тоже пересекается.
Переименуйте все включая имя процедуры и протестируйте снова.
---
VmvLer прав!
Форма закрывается раньше, чем идет обращение к процедуре. Спасибо!
Как установить цвет авто?
ЭлементыФормы.Номенклатура.ЦветФонаПоля.Вид =ВидЦвета.АвтоЦвет;

ругается
{ВнешнийОтчет.ВО1.Форма.Ф1.Форма(58)}: Поле объекта недоступно для записи (Вид)
                ЭлементыФормы.Номенклатура.ЦветФонаПоля.Вид =ВидЦвета.АвтоЦвет;
---
```1c
    // вариант 1
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = ЦветаСтиля.ЦветФонаПоля;
    // вариант 2
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = Новый Цвет();
```
---
```1c
    // вариант 1
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = ЦветаСтиля.ЦветФонаПоля;
    // вариант 2
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = Новый Цвет();
```
---
Оба варианта рабочих, попробовал

P.S. Так получилось что быстро изменились начальные условия и проблема трансформировалась, по этому не сразу ответил :(
---
Заморачивался когда-то этой темой. Я только не пойму, вы не отметили (1) и (2) (3) потому что они неправильные или вас не устраивают?

Если не устраивают, том можно цвета по умолчанию брать из палитры windows, прямо из реестра или есть соответствующие API функции, которые можно прикрутить к 1С и брать напрямую из Windows.
---
ТС, если верить движку, после того, как задал вопрос, на форум пока больше не заходил. Надеюсь, когда зайдет, пометит один из ответов как верный.
---
```1c
    Цвет = Новый Цвет();
    Цвет.Вид = ВидЦвета.АвтоЦвет;
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = Цвет;
```

Если у нового цвета вид уже авто, тогда можно сразу в строке новый цвет определять.
---
Цвет = Новый Цвет();
    Цвет.Вид = ВидЦвета.АвтоЦвет;
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = Цвет;

Не работает, выдает:
"
{ВнешняяОбработка.ВнешняяОбработка_ЦветПоУмолчанию.Форма.Форма.Форма(28)}: Поле объекта недоступно для записи (Вид)
    Цвет.Вид = ВидЦвета.АвтоЦвет;
"
---
не нужно автоцвет принудительно выставлять. Достаточно:
ЭлементыФормы.Номенклатура.ЦветФонаПоля = Новый Цвет();

Новый Цвет() автоматически использует автоцвет.
---
Все верное
если закомментировать

```1c
    Цвет = Новый Цвет();
    //Цвет.Вид = ВидЦвета.АвтоЦвет;
    ЭлементыФормы.Номенклатура.ЦветФонаПоля = Цвет;
```

то работает
спасибо
Добрый день. Хочу сформировать отчет (не на СКД) о продажах товара за период в разрезе месяцев. 1с8 (УТ10 не УФ). Делаю запрос, группирую продажи по товару и периоду. Создаю макет. Мне надо, чтобы товар шел в строках, а месяцы в столбцах. Пишу вот такой код и у меня выводятся во всех столбцах одинаковые суммы... подскажите, как исправить. Спасибо большое!!!

ТЗМесяцы = Данные.Скопировать();
ТЗМесяцы.Свернуть("Месяц");

ОбластьВидТовара = Макет.ПолучитьОбласть("СтрокаПродажи|Показатели");
Для каждого Строка из Данные Цикл
 ОбластьВидТовара.Параметры.ВидТовара = Строка.ВидТовара;
 ЭлементыФормы.ТабДок.Вывести(ОбластьВидТовара);
 ОбластьСтрокаПродажи = Макет.ПолучитьОбласть("СтрокаПродажи|Месяц");
 Для КолМесяцев = 1 По ТЗМесяцы.Количество() Цикл

 ОбластьСтрокаПродажи.Параметры.СуммаПродаж = Строка.СуммаПродаж;
  ЭлементыФормы.ТабДок.Присоединить(ОбластьСтрокаПродажи);
 КонецЦикла;
 КонецЦикла;
---
```1c
    ТЗМесяцы = Данные.Скопировать();
    ТЗМесяцы.Свернуть("Месяц");

    тзВидыТоваров = Данные.Скопировать();
    тзВидыТоваров.Свернуть("ВидТовара");

    ОбластьВидТовара = Макет.ПолучитьОбласть("СтрокаПродажи|Показатели");
    ОбластьСтрокаПродажи = Макет.ПолучитьОбласть("СтрокаПродажи|Месяц");

    Для каждого Строка из тзВидыТоваров Цикл
    ОбластьВидТовара.Параметры.ВидТовара = Строка.ВидТовара;
    ЭлементыФормы.ТабДок.Вывести(ОбластьВидТовара);

    Для каждого стрМесяц из ТЗМесяцы Цикл
    стрДанные = Данные.НайтиСтроки(Новый Структура("ВидТовара, Месяц", Строка.ВидТовара, стрМесяц.Месяц));
    Если стрДанные.Количество() > 0 Тогда
    ОбластьСтрокаПродажи.Параметры.СуммаПродаж = стрДанные[0].СуммаПродаж
    Иначе
    ОбластьСтрокаПродажи.Параметры.СуммаПродаж = "
    КонецЕсли;
    ЭлементыФормы.ТабДок.Присоединить(ОбластьСтрокаПродажи);
    КонецЦикла;
    КонецЦикла;
```
---
Делайте на СКД - она умеет так делать. То, что вы пытаетесь сделать - это изврат )
---
не могу на скд, т.к. мне потом еще с другой базы сюда данные тянуть.
---
```1c
    ТЗМесяцы = Данные.Скопировать();
    ТЗМесяцы.Свернуть("Месяц");

    тзВидыТоваров = Данные.Скопировать();
    тзВидыТоваров.Свернуть("ВидТовара");

    ОбластьВидТовара = Макет.ПолучитьОбласть("СтрокаПродажи|Показатели");
    ОбластьСтрокаПродажи = Макет.ПолучитьОбласть("СтрокаПродажи|Месяц");

    Для каждого Строка из тзВидыТоваров Цикл
    ОбластьВидТовара.Параметры.ВидТовара = Строка.ВидТовара;
    ЭлементыФормы.ТабДок.Вывести(ОбластьВидТовара);

    Для каждого стрМесяц из ТЗМесяцы Цикл
    стрДанные = Данные.НайтиСтроки(Новый Структура("ВидТовара, Месяц", Строка.ВидТовара, стрМесяц.Месяц));
    Если стрДанные.Количество() > 0 Тогда
    ОбластьСтрокаПродажи.Параметры.СуммаПродаж = стрДанные[0].СуммаПродаж
    Иначе
    ОбластьСтрокаПродажи.Параметры.СуммаПродаж = "
    КонецЕсли;
    ЭлементыФормы.ТабДок.Присоединить(ОбластьСтрокаПродажи);
    КонецЦикла;
    КонецЦикла;
```
---
спасибо большое!!!
---
все данные собрать сначала можно, потом эту таблицу СКД скормить
---
спасибо за подсказку) а где можно почитать как это сделать?
---
тут и здесь
День добрый!
Понимаю, что туплю, но я уже в отчаянии. Нужна помощь профи из зала )

При выполнении запроса:

ВЫБРАТЬ
 dbo_Street.Name КАК Name1,
 dbo_Dom.Name КАК Name2,
 dbo_Pribor.Name КАК Name3
ИЗ <ЧЕГО-ТО ТАМ>

выводится таблица с тремя полями Name1,Name2,Name3 и n-ым количеством записей.

Что нужно добавить в запрос, чтобы получить перечень значений поля Name1?
---
а, понял, вам надо соединить таблицы в запросе.

ВЫБРАТЬ
dbo_Street.Name КАК Name1,
dbo_Dom.Name КАК Name2,
dbo_Pribor.Name КАК Name3
ИЗ
 dbo_Street КАК dbo_Street
  ЛЕВОЕ СОЕДИНЕНИЕ dbo_Dom КАК dbo_Dom
   ЛЕВОЕ СОЕДИНЕНИЕ dbo_Pribor КАК dbo_Pribor
   ПО dbo_Dom.СвязующееПоле = dbo_Pribor.СвязующееПоле
  ПО dbo_Street.СвязующееПоле = dbo_Dom.СвязующееПоле
---
ВЫБРАТЬ
dbo_Street.Name КАК Name1,
dbo_Dom.Name КАК Name2,
dbo_Pribor.Name КАК Name3,
dbo_Street.Name + " " + dbo_Dom.Name + " " + dbo_Pribor.Name КАК FullName
ИЗ <ЧЕГО-ТО ТАМ>
---
(3) (4)
Прошу прощения, что выразился туманно. Сейчас поясню.

У меня есть данные по улицам, домам и приборам. Нужно создать иерархический справочник Улица (группа) -> Дом (группа) -> прибор (как элемент). Сам механизм создания справочника есть и он работает, но для случая когда в каждом доме есть прибор. На практике прибор есть не в каждом доме, соответственно создавать в справочнике пустую группу "дом" не имеет смысла, а если на улице нет домов, то и улицу тоже не имеет смысла создавать.
Я создал запрос, в котором поля Name1,Name2 и Name3 все заполнены. Теперь мне нужно получить перечень улиц(name1), домов(name2) и приборов(name3). Далее я уже пропущу их через свой алгоритм и создам справочник.
---
Не много не понял задачи, вам нужны все значения Name1, которые есть в запросе?
Тогда

ВЫБРАТЬ РАЗЛИЧНЫЕ
dbo_Street.Name КАК Name1
ИЗ <ЧЕГО-ТО ТАМ>

Получите таблицу со всеми значениями Name1 без повторений
---
Не совсем понятно, что Вы имеете в виду. Где вы пытаетесь получить перечень значений и для чего?
---
ВЫБРАТЬ
dbo_Pribor.Name КАК Name3,

dbo_Street.Name КАК Name1,
dbo_Dom.Name КАК Name2,

dbo_Street.Name + " " + dbo_Dom.Name + " " + dbo_Pribor.Name КАК FullName
ИЗ dbo_Pribor как dbo_Pribor
левое соединение dbo_Street как dbo_Street по dbo_Street.СвязующееПоле = dbo_Pribor.СвязующееПоле
левое соединение dbo_Domкак dbo_Domпо dbo_Dom.СвязующееПоле = dbo_Pribor.СвязующееПоле
---
Name1 Name2 Name3
ул.Комарова д.2 п. 1
ул.Комарова д.2 п. 2
ул.Капитонова д.3 п. 1
ул.Капитонова д.3 п. 2
ул.Капитонова д.4 п. 1
ул.Капитонова д.4 п. 2
ул.Тверская д.1 п. 10
ул.Тверская д.1 п. 11
ул.Тверская д.1 п. 12
ул.Тверская д.1 п. 13
ул.Тверская д.1 п. 14
---
это должен быть массив/перечисление/структура/тз? Какого вида информация должна подаваться на вашу процедуру заполнения справочника?
---
а, понял, вам надо соединить таблицы в запросе.

ВЫБРАТЬ
dbo_Street.Name КАК Name1,
dbo_Dom.Name КАК Name2,
dbo_Pribor.Name КАК Name3
ИЗ
 dbo_Street КАК dbo_Street
  ЛЕВОЕ СОЕДИНЕНИЕ dbo_Dom КАК dbo_Dom
   ЛЕВОЕ СОЕДИНЕНИЕ dbo_Pribor КАК dbo_Pribor
   ПО dbo_Dom.СвязующееПоле = dbo_Pribor.СвязующееПоле
  ПО dbo_Street.СвязующееПоле = dbo_Dom.СвязующееПоле
Нужно сделать так, чтобы при проведении документа Поступление Товаров создавался документ установки цен, в него нужно передавать реквизиты цена, артикул и наименование товара.
Написала вот такую функцию:
Документ Установка цен не создается. Помогите понять, почему?
---
Помогите понять, почему?
Потому что приведенная в (1) процедура написана в модуле документа "ДокументУстановкиЦен" и Поступление товара про эту процедуру не знает.

Во-вторых, вот это что за конструкция:
```1c
    Если ЭтотОбъект.ПослуплениеТоваров = Истина Тогда
```

Вы что с чем сравниваете?

Далее,
Если ЭтотОбъект.ПослуплениеТоваров = Истина Тогда
  Объект = Ссылка.ПолучитьОбъект(); // для чего получать объект, тут будет достаточно ссылки
  цДок = Документы.ДокументУстановкиЦен.СоздатьДокумент(); // Вы в модуле проведения документа "ДокументУстановкиЦен" создаёте ещё один
  цДок.Артикул= Объект.Артикул;
  цДок.Наименование = Объект.Наименование;
  цДок.Цена= Объект.Цена;
  цДок.Записать(РежимЗаписиДокумента.Запись); // для чего записывать, если потом проводите?
  цДок.Записать(РежимЗаписиДокумента.Проведение);
 КонецЕсли;
---
Помогите понять, почему?
Потому что приведенная в (1) процедура написана в модуле документа "ДокументУстановкиЦен" и Поступление товара про эту процедуру не знает.

Во-вторых, вот это что за конструкция:
```1c
    Если ЭтотОбъект.ПослуплениеТоваров = Истина Тогда
```

Вы что с чем сравниваете?

Далее,
Если ЭтотОбъект.ПослуплениеТоваров = Истина Тогда
  Объект = Ссылка.ПолучитьОбъект(); // для чего получать объект, тут будет достаточно ссылки
  цДок = Документы.ДокументУстановкиЦен.СоздатьДокумент(); // Вы в модуле проведения документа "ДокументУстановкиЦен" создаёте ещё один
  цДок.Артикул= Объект.Артикул;
  цДок.Наименование = Объект.Наименование;
  цДок.Цена= Объект.Цена;
  цДок.Записать(РежимЗаписиДокумента.Запись); // для чего записывать, если потом проводите?
  цДок.Записать(РежимЗаписиДокумента.Проведение);
 КонецЕсли;
---
Объект = Ссылка.ПолучитьОбъект();
Да, конечно, модули перепутала! Спасибо большое!
---
чего спасибо-то. Это только начало решения задачи. Что будем делать, когда исходный документ меняется или удаляется?
---
```1c
    ЭтотОбъект.ПослуплениеТоваров
```

не здесь ли собачка порылась?
---
А как должно быть?
---
Не, дело не в этом :(
---
Делайте подпиской на событие. При обновлении спасибо себе скажете.
---
я не знаю какая у вас конфа, но в некоторых документы поступления и сами устанавливают цены номенклатуры. Т.е. вам не надо будет делать отдельный документ и код дописывать, для начала поищите в вашем поступлении галочку Устанавливать цены (или типа того)

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

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

Может кто поделиться рабочим кодом по такому решению.
---
почитайте https://infostart.ru/public/696547/
---
то всю текущую печать (по одному документу) переносить на следующую страницу. - а если не помещается на страницу ?
---
вероятность что не поместится не велика, но для этого случая тоже можно проверку сделать, чтобы в таком случае выводить на 2-х страницах в виде исключения
---
почитайте https://infostart.ru/public/696547/
---
похожее решение, но немного не то. Пробовал использовать такой алгоритм, но все равно не получается или я возможно что-то упускаю.
---
что не получается ?
---
В итоге удалось добиться нужного эффекта, использовал примерный алгоритм как по ссылке + кое что еще.
Спасибо.
Привет Всем
Уважаемые форумчане помогите с проблемой, есть две базы с единой конфигурацией 8.3 (обычные формы), при попытке переноса данных с одной базы в другую (обработка ЗагрузкаВыгрузкаДанныхXML) данные переносятся , вот только после переноса у справочника с предопределенными элементами создаются копии предопределенных элементов с данными базы источника, по идее он должен был просто присвоить значения этим элементам а не создавать дубли, при чем в другой похожей конфигурации эта обработка работает как положено присваивает значения не создавая дублей, из-за не достатка моего опыта и знаний ума не приложу где мне "копать"? пробывал использовать обработку ВыгрузкаЗагрузкаJSON_1.2.1, через JSON тоже самое переносит и создает дубли
С Уважением Дамир
---
У меня тоже такое было.
не помню разбирался ли и как долго разбирался, но в конечном итоге просто поудалял их, сделав через обработку одни из предопределенных элементов непредопределенными.
---
возможно в 1 случае у вас наименования элементов одинаковые, а гуиды разные (это может быть в ситуации, когда элементы руками создавались отдельно в каждой базе). А во 2 ситуации, когда обмен прошел без дублей, эти элементы сначала были созданы, а потом база копировалась и гуиды у них одинаковые
---
У меня тоже такое было.
не помню разбирался ли и как долго разбирался, но в конечном итоге просто поудалял их, сделав через обработку одни из предопределенных элементов непредопределенными.
---
так как предопределенные не даст удалить программа
Доброго времени суток, ребята!

Помогите пожалуйста разобраться, где я накосячил?
Есть основная форма - ФормаДокумента и дополнительная форма - ФормаВыбора.
Из ФормаДокумента вызываю ФормаВыбора. В ФормаВыбора ПриЗагрузкеНаСервере загружается динамический список с данными. У ФормаВыбора есть кнопка с обработчиком, в котором прописана процедура ОповеститьОВыборе, а в основной форме ФормаДокумента прописана процедура, которая по идее должна принимать значения передаваемые из ФормаВыбора - ОбработкаВыбора, которая присвоена событию формы ОбработкаВыбора.
Процедура ОповеститьОВыборе срабатывает и передает данные, а вот процедура ОбработкаВыбора в форме документа не срабатывает. Не пойму почему.

Модуль ФормаДокумента:

```1c
    &НаКлиенте
    Процедура ЗаполнитьРеквизитыДиалог(Команда)

    ПараметрыЗапроса=Новый Структура("Ссылка", Объект.Ссылка);
    ОткрытьФорму("Документ.рбсДоговор.Форма.ФормаВыбораИТС",ПараметрыЗапроса);
    //ОткрытьФормуМодально("Документ.рбсДоговор.Форма.ФормаВыбораИТС",ПараметрыЗапроса);

    КонецПроцедуры

    //Обработчик приема данных из формы выбора функции ОповеститьОВыборе
    &НаКлиенте
    Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)

    ДанныеСтроки = Новый Структура("ДатаНачала, ДатаОкончания"); //имя заполняемого реквизита
    ВыбранныйПериодИТС=ВыбранноеЗначение;
    Модифицированность = Истина;

    КонецПроцедуры
```

Модуль ФормаВыбора:

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Параметры.Свойство("Ссылка") Тогда
    СписокПериодовИТС.Параметры.УстановитьЗначениеПараметра("Ссылка",Параметры.Ссылка);
    КонецЕсли;
    КонецПроцедуры

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

У метода "ОткрытьФорму" третьим параметром укажите саму форму документа: вставьте "ЭтотОбъект".
---
потому что не указали у каких объектов.
---
потому что не указали у каких объектов.

Подскажите пожалуйста, где и что нужно указать/прописать?
Новичок, плохо ориентируюсь пока
---
Вы не указали, кто должен принимать оповещения о выборе от формы выбора, т.е. владельца формы выбора. Поэтому то оповещения и уходят "в никуда".

У метода "ОткрытьФорму" третьим параметром укажите саму форму документа: вставьте "ЭтотОбъект".