arefaste/1C_Forums huggingface dataset:
Добрый день. Мучаюсь уже 2 день . Вопрос куда копать при ошибке Требуемая операция не может быть выполнена, т.к. установлены не все разделители ИБ.
Делаю обновление в БП 3.0 3.0.76.73 на последнею версию . Платформа 8.3.16.1148 SQL . В файловым варианте все нормально проходит , а вот в клиент серверном ошибка. И ошибка именно при принятии изменений
---
Вопрос снят . Решение было на поверхности. Надо было "Обновить конфигурацию баз данных на сервере" , а не на клиенте . Хотя до этого все прекрасно обновлялось.
---
Расширения в базе есть?
https://forum.infostart.ru/forum9/topic191359/
---
Есть , но я пробывал их удалять эффект такой же.
---
Вопрос снят . Решение было на поверхности. Надо было "Обновить конфигурацию баз данных на сервере" , а не на клиенте . Хотя до этого все прекрасно обновлялось.
Здравствуйте. Подскажите,пожалуйста, в 1С 7.7 для документа есть процедуры, которые обрабатывают Сохранение или Редактирование, Отмену проведения документа? Если нет, то как вы обрабатываете такие процедуры?
---
Наконец нашел информацию - существуют предопределенные процедуры.
---
Наконец нашел информацию - существуют предопределенные процедуры.
---
причем не только в форме документа но и в ГМ
Добрый день.
Есть в БП3.0 Хочу все доработки конфигурации перетащить в расширение, чтобы обновлять без проблем.
Есть документ ИнвентаризацияТоваровНаСкладе/
Необходимо, чтобы при нажатии кнопки "Заполнить остатки" кроме стандартной функции выполнялась и моя личная функция.

Раньше делал так.

```1c
    В конце функции
    &НаКлиенте
    Процедура ЗаполнитьДокументНаКлиенте(НазваниеДействия)
```

Добавлял строчки

```1c
    Если НазваниеДействия="Заполнить" тогда
    ЗаполнитьМоюИнформацию();
    КонецЕсли;
```

В расширении так и не смог добиться, чтобы после/вместо функции ЗаполнитьДокументНаКлиенте запускалась моя функция
Подскажите, пожалуйста. Заранее спасибо.
---
Установить курсор в теле процедуры. Нажать Alt+Shift+F2. В появившемся окне выбрать "После" и в расширении сделать все, что необходимо
---
Установить курсор в теле процедуры. Нажать Alt+Shift+F2. В появившемся окне выбрать "После" и в расширении сделать все, что необходимо
---
Alt+Shift+F2
Большое спасибо
А возможно при помощи расширения добавлять в список "вводится на основании"
Не могу понять почему ничего не получается, постоянно проблемы с получением макета.
Решил проблему вот так вот, но все равно ничего не получается...
База тестовая
,
```1c
    &НаСервере
    Функция ПолучитьМакетНаСервере()
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
    Макет = ОтчетОбъект.ПолучитьМакет("Макет");
    Возврат Макет;
    КонецФункции

    Процедура Команда1(Команда)

    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакетНаСервере();
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗаказКлиента.Номер КАК Номер,
    | ЗаказКлиента.Дата КАК Дата,
    | ЗаказКлиента.Контрагент.Наименование КАК КонтрагентНаименование,
    | ЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
    | ЗаказКлиента.Менеджер.Наименование КАК МенеджерНаименование
    |ИЗ
    | Документ.ЗаказКлиента КАК ЗаказКлиента";

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

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

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

Выдает ошибку невозможно осуществить вывод результата.
Мне нужен просто отчет, чтобы его потом отправить на почту.
---
формировать табличный документ надо в функции на сервере, результат вернуть на клиент для отображения
---
формировать табличный документ надо в функции на сервере, результат вернуть на клиент для отображения
---
Процедура "Команда1" на сервере надеюсь выполняется? Если нет, то переделать на серверную, если же на сервере, то что передается в параметр "Команда"?
Здравствуйте! у меня вопрос простой, кто-нибудь настраивал синхронизацию между ут 11.3 и сайтом на wordpress? ну соответственно нужно чтобы выгружались заказы, номенклатура (обмен в два направления). Если кто сталкивался подскажите наиболее простой путь?
---
wordpress - это система управления контекстом сайта, движок. Что у вас там за сайт наворотили при его помощи, и какой архитектуры - это только разработчику сайта известно. Вот с ним вам и нужно общнуться, и согласовать протоколы обмена между базой 1С и сайтом.
По мимо протоколов обмена, еще и о параметрах синхронизации необходимо позаботится, дабы не зас...ть вашу базу 1С, задвоенной номенклатурой и заказами.
Это не простой вопрос, а целый проект.
Думаю без доработок базы в любом случае не обойтись.

Когда поймете каким транспортом будет происходить обмен, - будете думать достаточен ли функционал программы.
В принципе, более-менее стандартизированный обмен с сайтами в программе есть. Там даже правила обмена какие-то зашиты.
Зайди в синхронизацию, там галка обмен данными с сайтами,
можно выгружать только туда. Можно и заказы оттуда засасывать, способы поиска контрегентов задать можно....
но это только в сильно общем случае.
---
wordpress - это система управления контекстом сайта, движок. Что у вас там за сайт наворотили при его помощи, и какой архитектуры - это только разработчику сайта известно. Вот с ним вам и нужно общнуться, и согласовать протоколы обмена между базой 1С и сайтом.
По мимо протоколов обмена, еще и о параметрах синхронизации необходимо позаботится, дабы не зас...ть вашу базу 1С, задвоенной номенклатурой и заказами.
Это не простой вопрос, а целый проект.
Думаю без доработок базы в любом случае не обойтись.

Когда поймете каким транспортом будет происходить обмен, - будете думать достаточен ли функционал программы.
В принципе, более-менее стандартизированный обмен с сайтами в программе есть. Там даже правила обмена какие-то зашиты.
Зайди в синхронизацию, там галка обмен данными с сайтами,
можно выгружать только туда. Можно и заказы оттуда засасывать, способы поиска контрегентов задать можно....
но это только в сильно общем случае.
---
буду узнавать, спасибо.
---
Очень интересно, спасибо
Здравствуйте. Установил демобазу ERP 2.1. При отражении в регл учете документа Выпуск товаров и работ вылазит ошибка:
Ошибка SQL: Поле не входит в группу 'T115._Q_001_F_001_00'
http://prntscr.com/s696of
Подскажите пожалуйста, как решить?
---
Выше в тексте ошибки LogForm. Такие ошибки массово одно время сыпались на старых версиях платформы.
Попробуйте сменить релиз конфы и платформы.
---
Почему 2.1, если уже давно 2.4 вышла, и скоро 2.5 будет?
---
Здравствуйте. Мне надо на демобазе протестить закрытие себестоимости в 2.1. У заказчика 2.1 стоит.
---
Какая у Вас СУБД?
---
Файловая
---
у клиента тоже файловая? По-моему, файловая ERP просто не работает
---
Я такое на PostgreSQL наблюдал при попытке выполнить сложный многоэтажный запрос. Помогала реиндексация таблиц. На какое-то время. Потом всё сначала.
---
У меня файловая
---
У меня файловая
ERP не рассчитана на работу в файловом режиме.
Я думаю, что ее в таком режиме даже не тестируют, т.к. медленно очень.
---
Выше в тексте ошибки LogForm. Такие ошибки массово одно время сыпались на старых версиях платформы.
Попробуйте сменить релиз конфы и платформы.
---
релиз конфы и платформы Если у Вас сложности с обновлением ERP, то хотя бы платформу попробуйте обновить.
Я написал отчет, который считает задолженность по счетам клиентов. Когда по счету 1 оплата тогда все хорошо строиться, но когда две у меня в итоге выходит не та сумма которую нужно(Должен быть ноль). Я уже голову сломал. Как настроить чтобы итог считал не просто сумму колонки, а например по формуле которую я задам? Как мне это реализовать?
---
попробуйте задать формулу в выражение для поля в ресурсах и указать Рассчитывать по...
---
плохой отчет который считает долги по документам, поэтому не буду рассказывать :)
---
а Откуда сведения как считает отчет, вдруг там внутри все в шоколаде , остался только последний стришок с итогами?
---
попробуйте задать формулу в выражение для поля в ресурсах и указать Рассчитывать по...
В расширении есть документ, у него есть макет.
Общий модуль УправлениеПечатьюПереопределяемый добавил в расширение написал

```1c
    &После("ПриОпределенииОбъектовСКомандамиПечати")
    Процедура КООП_ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов)

    СписокОбъектов.Добавить(Документы.<ИмяМоегоДокумента>);

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

На форме добавил подменю печать

В модуле менеджера документа прописал процедуру "ДобавитьКомандыПечати" и процедуру "Печать"

Что ещё надо сделать, чтобы появилась типовая кнопка "Печать" на формах документа?
Что надо прописать в процедурах ПриОткрытии и ПриСозданиНаСервере форм документа?
---
Там важно наименование панели печати на форме. Может наименование отличается. Я бы скопировал панель как есть из любой формы существующего документа. На сколько помню в БСП поиск панели ведется по наименованию.
---
Собственно печать в модуле менеджера определена?
---
да
---
Там важно наименование панели печати на форме. Может наименование отличается. Я бы скопировал панель как есть из любой формы существующего документа. На сколько помню в БСП поиск панели ведется по наименованию.
---
это приблизило меня к истине. Ключевое слово БСП. Там ещё на форму надо добавить процедуры выполнения подключаемых команд
Здравствуйте. Подскажите в какую сторону копать.

Есть таблица значений с данными для отчета. В таблице значений все колонки прописаны с описанием типов.
Эта таблица передается, как набор данных "объект" в СКД.

В СКД прописаны все поля также с описанием типов. Наименования полей в СКД дублируют наименования колонок таблицы значений.

В итоге всё выводится и работает в табличный документ "Результат".
Но все данные в отчете строкового типа. Т.е. если в таблице в группировке "Ссылка" должна быть ссылка на документ (её представление), то по двойному щелчку на это поле перехода в документ не осуществляется, а открывается строка редактирования текста.

Возможно не работают расшифровки.

Код "подсовывания" ТЗ в СКД:

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

    Если ТЗРезультат <> Неопределено Тогда
    Ответ = Вопрос("Пересчитать данные?", РежимДиалогаВопрос.ДаНет, 0);
    Если Ответ = КодВозвратаДиалога.Нет Тогда
    Иначе
    ТЗРезультат = ПолучитьТаблицуРазузлования(ТипСпецификаций, ТипЦены);
    КонецЕсли;
    Иначе
    ТЗРезультат = ПолучитьТаблицуРазузлования(ТипСпецификаций, ТипЦены);
    КонецЕсли;

    //ПРОПИСЫВАЕМ НАСТРОЙКИ СКД
    //Связь между таблицей значений и именами в СКД
    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("ТаблицаРезультат", ТЗРезультат);

    //Макет компоновки
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.СхемаКомпоновкиДанных, ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);

    //Компоновка данных
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);

    //Вывод результата
    ДокументРезультат.Очистить();
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

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

Как сделать так, чтобы все ссылочные данные открывали объект на который ссылаются?
Спасибо за ответы!
---
Задам глупый вопрос.
У "ДокументРезультат" установлен "ТолькоПросмотр" и "Защита"?
---
Всем спасибо. Расшифровка начала работать в тот момент, когда полю табличного документа установил галку "только просмотр".
---
Задам глупый вопрос.
У "ДокументРезультат" установлен "ТолькоПросмотр" и "Защита"?
---
Нет, никакие галки не стоят
https://yadi.sk/i/lVDZHpt7ynFEcw
---
Всем спасибо. Расшифровка начала работать в тот момент, когда полю табличного документа установил галку "только просмотр".
Добрый день.
Конфигурация БП 3.0. В ней создан нетиповой Документ. На основании него требуется создать Реализацию (далее РТУ) и оставить открытую форму. Нюанс в том, что это должна быть форма не Услуги, а Общая (Товары, Услуги, Комиссия), т.к. там будут в т.ч. и реализация агентских услуг.
Я воспользовался ОбработкойЗаполнения в модуле объекта РТУ, где заполнил документ с услугами, в т.ч. и ВидОперации = ПродажаКомиссия. Однако мне на выходе открывается ФормаДокументаУслуги вместо ФормаДокументаОбщая. Причем даже заголовок пишется "Реализация: Товары, услуги, комиссия (Создание)", но это ФормаДокументаУслуги - по обработчикам формы это понял.
Подскажите, как настроить обработку так, что бы открывалась именно ФормаДокументаОбщая? Интернет покопал, код конфигурации - не нашел.
---
Модуль менеджера посмотри процедура ОбработкаПолученияФормы
Может там что
---
есть несколько способов
тебя который интересует?
---
максимально типовой. А так хотелось бы все посмотреть, что бы понять какой из них более подходит в данном случае.
---
Хотя как я смогу ответить на твой вопрос, если я сам задал свой? =)
---
Модуль менеджера посмотри процедура ОбработкаПолученияФормы
Может там что
---
В яблочко! Спасибо!
Делаю обработку, буду встраивать ее в расширение. Пока она просто внешняя. УФ.
Реквизит обработки: СсылкаНаДок, тип ЗаказКлиента
На форме обработки вынесла поле ЗаказКлиента, связанное с реквизитом.
Заполняю поле из запроса (ссылка надокумент). Если просто встать в это поле и нажать на кнопочку "открыть документ" (Ctrl+Shift+F4), он открывается, все ок.
На поле кнопка, мне нужно по кнопке открыть этот документ для изменения, внести комментарий и оставить пользователю для дальнейшей работы.

```1c
    &Насервере
    Функция ОткрытьНайденныйЗаказ(Тип)
    Док = Объект.СсылкаНаДок.ПолучитьОбъект();
    ФЗак = Док.ПолучитьФорму(); // ошибка на этом шаге
    ФЗак.Открыть();

    КонецФункции
```

ошибка:
{ВнешняяОбработка.ШаблонДопОтчетОбработка.Форма.Форма.Форма(165)}: Ошибка при вызове метода контекста (ПолучитьФорму)
    ФЗак = Док.ПолучитьФорму();
по причине:
Интерактивные операции недоступны

Вставила в процедуру &НаКлиенте:
{ВнешняяОбработка.ШаблонДопОтчетОбработка.Форма.Форма.Форма(112)}: Метод объекта не обнаружен (ПолучитьФорму)
     ФЗак=Объект.СсылкаНаДок.ПолучитьФорму();
Подскажите, что ему не так??? УФ только осваиваю, перешли с УТ10,3...
---
Решено, наткнулась на гениальную для меня статью

Управляемое приложение: правильное программное открытие форм
---
del
---
Решено, наткнулась на гениальную для меня статью

Управляемое приложение: правильное программное открытие форм
Добрый день, у РегСвед есть есть формы списка в них при выборе строки появляется форма редактирования как к ней из конфигуратора получить доступ к её свойствам ?
---
но главное посмотреть ее в конфигураторе.Если Вы не видите форму в конфигураторе как форму записи, значит она генерируется "на лету" во время работы с регистром.
---
Непосредственно к форме - да:

```1c
    ФормаЗаписи = ПолучитьФорму("РегистрСведений.РегСвед.ФормаЗаписи");
```
---
как к ней из конфигуратора получить доступ или из кода ?Уточните, пожалуйста, что под этим подразумевается? Вы хотите открыть эту форму программно? Или использовать ее методы? Или вовсе посмотреть ее в конфигураторе?
---
Всё, но главное посмотреть ее в конфигураторе.
---
но главное посмотреть ее в конфигураторе.Если Вы не видите форму в конфигураторе как форму записи, значит она генерируется "на лету" во время работы с регистром.
---
К ней можно обратиться программно ?
---
Непосредственно к форме - да:

```1c
    ФормаЗаписи = ПолучитьФорму("РегистрСведений.РегСвед.ФормаЗаписи");
```
---
А как можно обратиться к её методам ?
```1c
    ФормаЗаписи = ПолучитьФорму("РегистрСведений.РегСвед.ФормаЗаписи");
    ФормаЗаписи. //По идее так должен выпадающий список её методов быть, а его нет
```
---
А синтаксической ошибки в предыдущей строке нет?
---
Нету это просто ваш пример, форму открывает.
---
Не могу сказать тогда, почему нет контекстной подсказки.
Использую COMОбъект("WinHttp.WinHttpRequest.5.1");
так он в ответе мне выдал просто строку, как с ней работать?
---
просите вернуть файл или строку пишите в файл или нужный объект.
---
просите вернуть файл или строку пишите в файл или нужный объект.
---
это у меня уже получилось, теперь другая сложность, все примеры разбора XML файла разбирают его на структуру состоящую из элементов, а там еще и куча атрибутов. Это как?
---
почитайте книжки может, а то вопросы какие то детские.
---
первый вопрос был детский, не знал как его сформулировать, отом подумав понял, а вот второй, с радостью почитаю, но где и что
все примеры для
<тег> значение тега</тег>
fа мне попалось
<тег атрибут=значениеатрибута>ЗначениеТега<./тег>
В Версии объектов сделала поле Комментарий неограниченной длины и куда записываю номенклатуру из табличной части документа для отбора

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

Но как это же сделать в запросе? в запросе к сожалению так не работает

 Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ
                | ВерсииОбъектов.НомерВерсии КАК НомерВерсии,
                | ВерсииОбъектов.АвторВерсии,
                | ВерсииОбъектов.ДатаВерсии
                |ИЗ
                | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
                |ГДЕ
                | ВерсииОбъектов.Комментарий ПОДОБНО &Ссылка
                |
                |УПОРЯДОЧИТЬ ПО
                | НомерВерсии";
 Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект.Наименование); где СсылкаНаОбъект это Номенклатура

запрос ничего не выводит
---
Запрос.УстановитьПараметр("Ссылка", "%" + СсылкаНаОбъект.Наименование + "%")
---
Запрос.УстановитьПараметр("Ссылка", "%" + СсылкаНаОбъект.Наименование + "%")
---
Спасибо большое, кажется работает в консоли отчетов. Проверяю
Здравствуйте, помогите советом пожалуйста

Написал небольшую конфу в 1С 8.3 УФ, ведется простой учет выезда водителей , в сутки работают два водителя, собрал отчет который выводит список пробега за месяц в км. по водителям, но так как их двое за сутки при выводе строки день месяца выводится два раза т.е 1 и 1, 2 и 2, 3 и 3 и так далее до конца месяца, возможно ли в этой ситуации сделать так чтобы водители выводились два раза, а ячейка с днем недели была объединенной для двух строк как на картинке?

```1c
    ТабДок = Новый ТабличныйДокумент;
    #если не МобильноеПриложениеСервер Тогда

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

    Запрос.УстановитьПараметр("ДатаКон", КонецМесяца(ТекущаяДата()));
    Запрос.УстановитьПараметр("ДатаНач", НачалоМесяца(ТекущаяДата()));

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

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Ном = День(ВыборкаДетальныеЗаписи.Период);
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ОбластьДетальныхЗаписей.Параметры.Ном = Ном;
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;

    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Показать("Таблица");
    #КонецЕсли
```

Опыта в выводе печатной формы пока мало только учусь, помогите советом
С Уважением Дамир
PS Картинка таб1 это как выводится на печать, а таб2 как хотелось бы
---
Нужно использовать объединение ячеек. Только отслеживать текущие адреса ячеек и смену дня месяца.

```1c
    Область = ТабДок.Область(2,2,3,3);
    Область.Объединить();
```
---
Нужно использовать объединение ячеек. Только отслеживать текущие адреса ячеек и смену дня месяца.

```1c
    Область = ТабДок.Область(2,2,3,3);
    Область.Объединить();
```
---
Спасибо большое все получилось
(2) Объединить
В УФ пользователь добавляет новую строку, первая колонка работает через НачалоВыбора, где СтандартнаяОбработка = Ложь. Там пользователю открывается спец форма для выбора, потом в исходной форме вызывается процедура через ОписаниеОповещения, где Элементы.Товары.ТекущиеДанные.Номенклатура = ВхДанные;

И если после этого убрать фокус со строки, 1С её удаляет. Видимо считает её пустой.

Так вот, как 1С объяснить что строка уже не пустая?

Эффект пропадает, если допустим указать количество, или любое другое поле
---
в процедуре из ОписаниеОповещения требуется нестандартная обработка?
Может проще:

```1c
    Процедура НоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",,Элемент,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    КонецПроцедуры
```

Этого достаточно.
Если нужна нестандартная обработка, то данные из формы выбора попадут в обработчик:

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

```1c
    Процедура НоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",,Элемент,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    КонецПроцедуры
```

Этого достаточно.
Если нужна нестандартная обработка, то данные из формы выбора попадут в обработчик:

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