arefaste/1C_Forums huggingface dataset:
Добрый день, появилась необходимость создать внешнюю обработку, которая будет иметь несколько видов обработки.
Сейчас обработка имеет 1 команду, которая открывает управляемую форму.

Мне нужно добавить возможность заполнять управляемую форму по данным документа, из которого она была запущена.
Или если обработка запущена из раздела, то оставлять данные формы пустыми.

Пробовал использовать вид обработки "ЗаполнениеОбъекта" и "ПечатнаяФорма", но в таком случае, нельзя указать в размещении какой-либо раздел. А с видом "ДополнительнаяОбработка", соответственно, нельзя разместить обработку в документ.

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

    Если ТекДанные.ТипМатериала = ПредопределенноеЗначение("Перечисление.фид_ТипыМатериалов.Материал") Тогда
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",,Элемент);
    Иначе ОткрытьФорму("Справочник.фидСпецификации.ФормаВыбора",,Элемент);
    КонецЕсли;

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

    Если ТекДанные.ТипМатериала = ПредопределенноеЗначение("Перечисление.фид_ТипыМатериалов.Материал") Тогда
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",,Элемент);
    Иначе ОткрытьФорму("Справочник.фидСпецификации.ФормаВыбора",,Элемент);
    КонецЕсли;

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

```1c
    Элементы.Реквизит1Реквизит3.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Номенклатура");
```
---
А что мешает в таблице значений у колонки указать тип - Список значений?
---
Как указать что этот список значений должен состоять из элементов справочника?
---
В ПриСозданииНаСервере задать свойство ОграничениеТипа для элемента формы со списком значений.

```1c
    Элементы.Реквизит1Реквизит3.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Номенклатура");
```
---
Спасибо огромное
---
можно использовать ХранилищеЗначений или СписокЗначений (только надо упаковывать и распаковывать)
Нужно показать связанные документы по новому реквизиту. С поддержки снимать не хочется, я как понимаю при обновлении конфигурации всегда будет слетать, а если заимствовать в расширение весь критерий отбора, то он тащит все объекты из состава, что сильно не хотелось бы.
---
нашел решение https://forum.infostart.ru/forum9/topic281958/ мне подойдет.
---
Нет
---
нашел решение https://forum.infostart.ru/forum9/topic281958/ мне подойдет.
Добрый день! Выполняю переход с ДО 2.1 на ДО 3.0, в базе есть доработки. При запуске мастера переноса выдаёт кучу сообщений с наименованием добавленного объекта как в заголовке. Подскажите, пожалуйста, где искать эту подсистему и как примерно решается проблема? Ранее не сталкивался
---
Подсистема так и называется Отметки времени. Находится в Подсистемы - НастройкаИАдминистрирование - Отметки времени
---
Добрый день, подскажите как вы решили проблему? Тоже база доработана, такой подсистемы не вижу...
---
Подсистема так и называется Отметки времени. Находится в Подсистемы - НастройкаИАдминистрирование - Отметки времени
---
надо включить его в подсистему
---
Интересный вопрос. Над нам споткнулся. ищу решение...
&После("ЗаполнитьПоПеремещениюТоваров")
Процедура РасшСервис_ЗаполнитьПоПеремещениюТоваров(Знач ДокументОснование, ДанныеЗаполнения)
ЭтотОбъект.ДокументОснование=ДокументОснование;

в отладчике на последней строке функции в основной конфигурации ДокументОснование это ссылка на документ Перемещение товаров

а в расширении становится:
ДокументОснование Структура

-БанковскийСчетОрганизации СправочникСсылка.БанковскиеСчетаОрганизаций
-НаправлениеДеятельности СправочникСсылка.НаправленияДеятельности
-Организация ИП Юрий Игоревич СправочникСсылка.Организации
-Склад Склад Офис СправочникСсылка.Склады

Что может быть?
---
Обратите внимание, что вызов идет как
ЗаполнитьПоПеремещениюТоваров(ДанныеЗаполнения,ДанныеЗаполнения);
А данные заполнения в процедуре переопределяются.
---
В основной конфе документ основание переопределяется в структуру в процедуре ЗаполнитьПоПеремещению.
---
А что за документ и конфигурация?
---
ут 11.5
передача товаров на основании перемещения
---
Обратите внимание, что вызов идет как
ЗаполнитьПоПеремещениюТоваров(ДанныеЗаполнения,ДанныеЗаполнения);
А данные заполнения в процедуре переопределяются.
---
спасибо, понял, сделал так:

```1c
    &После("ЗаполнитьПоПеремещениюТоваров")
    Процедура РасшСервисПМ_ЗаполнитьПоПеремещениюТоваров(Знач ДокументОснование, ДанныеЗаполнения)
    ЭтотОбъект.ДокументОснование=ЭтотОбъект.ДополнительныеСвойства.ДокументОснование;
    КонецПроцедуры

    &Перед("ЗаполнитьПоПеремещениюТоваров")
    Процедура РасшСервисПМ_ЗаполнитьПоПеремещениюТоваров1(Знач ДокументОснование, ДанныеЗаполнения)
    ЭтотОбъект.ДополнительныеСвойства.Вставить("ДокументОснование",ДокументОснование);
    КонецПроцедуры
```
---
Вроде нет
Всем доброго дня! Подскажите, где ошибка ?

```1c
    Процедура ТЗСертификатыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ЦветПлохо = Новый Цвет(255, 187, 174);
    Колонки = ТЗСертификаты.Колонки;

    Для каждого Колонка из Колонки Цикл
    КолонкаИмя =Колонка.Имя;
    ОформлениеСтроки.Ячейки.КолонкаИмя.ЦветФона= ЦветПлохо;
    КонецЦикла;
```

Поле объекта не обнаружено (КолонкаИмя)
_1000 имя колонки
```1c
    ОформлениеСтроки.Ячейки._1000.ЦветФона= ЦветПлохо;
```

то все работает.
---
ОформлениеСтроки.Ячейки[КолонкаИмя]ЦветФона= ЦветПлохо;
---
ОформлениеСтроки.Ячейки[КолонкаИмя]ЦветФона= ЦветПлохо;
---
Низкий вам поклон!
Здравствуйте, создаю кодом таблицу формы и хочу убрать команды в контекстном меню (добавить, удалить, копировать). Не знаю как сделать, в инете не нашел рабочей инфы.
---
Разобрался. Кому надо.
Команды в контекстном меню создаются 1с автоматически после создания на сервер. Посмотрите в отладке элементы в событии ПриОткрытии, там будут =>
Элементы.<ВашЭлементИлиТаблица>КонтекстноеМенюДобавить
Чтоб убрать просто видимость на ложь. У меня:
Элементы.ТаблицаФормыКонтекстноеМенюДобавить.Видимость = ложь;
В командной панели:
Элементы.<ВашЭлемент>Добавить
Элементы.<ВашЭлемент>Копировать
И тд
---
В конструкторе формы,
слева вверху Форма, чуть ниже Командная панель.
У неё Свойство - убрать галочку.
---
Мне нужно программно, для таблицы формы. Я знаю что можно изменить контекстное меню через состав команд, но в коде у таблицы нет такого свойства.
---
Разобрался. Кому надо.
Команды в контекстном меню создаются 1с автоматически после создания на сервер. Посмотрите в отладке элементы в событии ПриОткрытии, там будут =>
Элементы.<ВашЭлементИлиТаблица>КонтекстноеМенюДобавить
Чтоб убрать просто видимость на ложь. У меня:
Элементы.ТаблицаФормыКонтекстноеМенюДобавить.Видимость = ложь;
В командной панели:
Элементы.<ВашЭлемент>Добавить
Элементы.<ВашЭлемент>Копировать
И тд
Здравствуйте. Создал телеграмм бота, получаю из него сообщение, дата сообщение - число 1704889567. При сложении этого числа с пустой датой выходит время UTC, но год почему-то 0055. Подскажите, пожалуйста, как получить корректную дату?
```1c
    ДатаСообщения = Дата(1,1,1) + ДанныеОтвета.result[2].message.date /////вот такое значение получается 10.01.0055 12:26:07
```
---
Сделал так.
```1c
    ДатаСообщения = Дата(1970, 1, 1) + 3600 * 3 + ДанныеОтвета.result[2].message.date
```
---
так вы складываете значение с типом Дата и значение с типом Число, естественное результат будет не верный. Необходимо
```1c
    ДанныеОтвета.result[2].message.date
```

привести к типу Дата и тогда прибавлять

правда я не совсем понял что это за число 1704889567, где там год, месяц и тд...
---
это так понимаю секунды, тогда их преобразовать в дату.
---
Сделал так.
```1c
    ДатаСообщения = Дата(1970, 1, 1) + 3600 * 3 + ДанныеОтвета.result[2].message.date
```
Добрый день. Есть задача заменить с табличном документе текст с ОАО на АО

```1c
    НомерСтр = 1;
    Пока НомерСтр <> 100 Цикл
    НомерКолонки = 1;
    Пока НомерКолонки <> 30 Цикл
    ТекстЯчейки = ТабличныйДокумент.Область("R" + Строка(НомерСтр) + "C" + Строка(НомерКолонки));
    НомерКолонки = НомерКолонки +1;
    ТекстЯчейки.Текст = СтрЗаменить(ТекстЯчейки.Текст, "ОАО", "АО");
    КонецЦикла;
    НомерСтр = НомерСтр + 1;
    КонецЦикла;
```

при такой замене, обработанный текст в ячейках Макета смещается (обрезается в ячейках) см. рис
https://i.ibb.co/cw333wz/image.jpg

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

Факт = Количество/КоличествоУпаковок

// в скобочках как раз и рассчитывается факт.
Отклонение = (Количество/КоличествоУпаковок) / Норма

формулы соответственно ваши, это как пример
---
не надо обращаться к полю Факт, нужно вместо него прописать такую же формулу, как прописана в поле Факт.
---
Дополнение к комментарию выше, примерно так

Факт = Количество/КоличествоУпаковок

// в скобочках как раз и рассчитывается факт.
Отклонение = (Количество/КоличествоУпаковок) / Норма

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

Пробовал проставить на разделитель отдельную закладку и удалять, если все горизонтальные страницы пустые - всё удаляется, пустой страницы нет, но при этом ориентация всего документа становиться горизонтальной(то есть той, на которую её меняет разделитель)

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

В теории можно попробовать через Range.text и дальше через СокрЛП сравнить с "", но тогда нужно понять как выделить полностью какую-то страницу.
---
В итоге решение следующее: Если у нас ничего не выводится на горизонтальных листах, после заполнения всего документа, применить ко всему документу вертикальную ориентацию, после чего чего удалить закладку с разделителем. В этом случае разделитель становиться обычным(а не разделителем со сменой ориентации) и удаляется без проблем.
Здравствуйте, возникла такая проблема. При попытке проведения документа выбивает сообщение "Интерактивный выбор режима проведения документа не поддерживается". Хотя для роли которая проводит документа установлены полные права. Конфигурация "1С:ИТИЛ" В чем может быть проблема?
---
Убрал "Оперативное проведение документа" и все заработало. Только я не понял в чем была ошибка?
---
Документ проведен?
---
Интерактивный выбор режима проведения документаПроверьте дату документа. Скорее всего у вас запрет на неоперативное проведение - дата меньше или равно текущей.
---
верьте дату д

Я пробовал проводить и прошлым, и текущим, и будущем временем. Для роли стоят полные права.

Я так понимаю если с этим все норм. То скорее всего проблема в обработке проведения?
---
Я пробовал проводить и прошлым, и текущим, и будущем временем. Для роли стоят полные права.В общем-то, интерактивно и оперативно - разные вещи.
Даже при полных правах у документа может быть не разрешено ИНТЕРАКТИВНОЕ редактирование/проведение.
---
же при полных правах у докум

Так, а как мне сделать так что бы я смог провести документ?
---
в правах установи галочку Интерактивное проведение, это кроме Полных прав.
---
в правах установи галочку Интерактивное проведение, это кроме Полных прав.

Я ещё совсем глуп в 1С, не могли бы вы поподробнее расписать где все ставить?

У меня есть роль " Полные права", у неё установлено "Интерактивное проведение", ниже скрин скину. Где мне ещё поставить?
---
https://its.1c.ru/db/metod8dev#content:2744:hdoc
---
подтверждает, что у пользователя нет права "Интерактивное изменение проведенных",
---
Я раскрыл документы, там все нормально. Как мне зайти в такое меню? Я выбираю пользователя, но у меня только так открывает.
---
я показал скрин от типового решения.
---
https://its.1c.ru/db/metod8dev#content:2744:hdoc

Я читал данную статью, но не смог разобраться с ней(
---
а раскрой документы. по группе стоит а у документа конкретного, который не проводится.
---
у Пользователя попробуй вот эту установку.
---
Убрал "Оперативное проведение документа" и все заработало. Только я не понял в чем была ошибка?
---
конфликт интересов .
---
Сообщение было скрыто модератором.
---
Я на форме в поле "использовать режим проведения" поставил вместо "запрашивать", "автоматически".
---
использовать режим проведения
(15)

Подскажите, пожалуйста, где именно и что изменить? Спасибо!
---
Тоже столкнулся с проблемой! Проводится только из списка.
за такой время так ничего и не исправили (
---
Нужно открыть форму нужного вам документа в конфигураторе, открыть свойства формы и на вкладке Использование у "ИспользоватьРежимПроведения" поставить другой режим.
Я выбрала Автоматический и документы стали проводиться.
Добрый день. Обычные формы. Слетает привязка элементов (документ не на весь экран открывается). Чистил кэш, после перезахода первый раз документ открывается во весь экран, закрываю, открываю по новой - и он в маленьком окне снова. Пробовал по новой устанавливать привязки выделив все элементы (так же пробовал для каждого элемента по отдельности), результата никакого. Подскажите, пожалуйста, может кто сталкивался с подобным, как исправить?
---
после перезахода первый раз документ открывается во весь экран, закрываю, открываю по новой - и он в маленьком окне снова. Искатьпо форуму не пробовали?
---
помог вариант из комментариев. Спасибо.
---
после перезахода первый раз документ открывается во весь экран, закрываю, открываю по новой - и он в маленьком окне снова. Искатьпо форуму не пробовали?
---
у меня самописный документ
---
помог вариант из комментариев. Спасибо.
Добрый день, ЕРП.
Программно пытаюсь заполнить и провести.Выдает ошибку:

```1c
    по причине:
    Ошибка при выполнении обработчика - 'ОбработкаПроведения'
    по причине:
    Ошибка при вызове метода контекста (Записать)
    по причине:
    Запись не верна! Значение поля "Аналитика учета номенклатуры" не может быть пустым! (Регистр накопления: Себестоимость товаров; Номер строки: 1)
```

В конфигураторе "Аналитика учета номенклатуры" заполнена. Подскажите, в чем может быть проблема? Уже все возможные реквизиты заполнила.
---
1.а что вам мешает создать сначала Заказ на производство и на его основании само производство?
скорее всего аналитика тянется из Заказа, которого в вашем случае нет

2.может быть не правильно оформлен документ производства, не тот режим, или другие настройки,
у вас еще такие документы Производства именно без Заказа есть?
сверьте заполнение.
---
1.а что вам мешает создать сначала Заказ на производство и на его основании само производство?
скорее всего аналитика тянется из Заказа, которого в вашем случае нет

2.может быть не правильно оформлен документ производства, не тот режим, или другие настройки,
у вас еще такие документы Производства именно без Заказа есть?
сверьте заполнение.
Хорошего дня.

Хотелось бы узнать, почему на УТ 11 не работает код "РаботаСТорговымОборудованием.ВвестиШтрихкод()"?
Пишет: "Variable is not defined (РаботаСТорговымОборудованием)
<<?>>РаботаСТорговымОборудованием. (Verification: Server)". Некоторый подобный код также работает в Комплексная автоматизация 8.3 но не в УТ 11. Где я могу найти эквиваленты этих кодов для УТ 11?

Спасибо.
---
Используйте глобальный поиск по модулям ВвестиШтрихкод().
Если такой метод хоть где-то есть, будет ответ на вопрос.
---
Используйте глобальный поиск по модулям ВвестиШтрихкод().
Если такой метод хоть где-то есть, будет ответ на вопрос.
---
спасибо большое.
Добавил модуль и работал
---
Если такой метод хоть где-то есть, будет ответ на вопрос. Если =]
---
Хотелось бы узнать, почемуПредставь себе, что это твой питон, на котором ты пишешь, выбрасывает "NameError: variable is not defined". Как думашь, что приводит к такой ошибке?

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