arefaste/1C_Forums huggingface dataset:
Для того чтоб печатать несколько заказов клиента на одном листе, сделал изменений в конфигурации, т.е. Обработка / ПечатьЗаказовНаТоварыУслуги / Макет / ПФ_MXL_ЗаказКлиента / выделил все строки кроме последнего и поставил галочку ВместеСоСледующим и в модуле менеджера убрал разделители страниц. После этого несколько Заказы клиентов стали помещать на одном странице. НО появилось еще одна проблема. Шапка табличного документа на печатной форме повторяется в не нужных местах!!! Что делать? Как исправить проблемку?
---
тогда попробуйте закоментировать строчки условия

```1c
    Если ТабличныйДокумент.ПроверитьВывод(МассивПроверкиВывода) Тогда
    Иначе
    КонецЕсли
```

В коде 2 таких места - уберите там где внутри условия идет код

```1c
    Если (НомерСтроки = 1 И ВыводШапки = 0) ИЛИ (НомерСтроки = 0 И ВыводШапки = 1) Тогда
```

Не то что внутри условия, а именно само условие с "проверитьВывод"
---
Вот коды модуля менеджера
---
Попробуйте закоментировать в этом месте ВывестиШапку

```1c
    //ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    ВывестиШапку(ТабличныйДокумент, ОбластьНомераШапки, ОбластьКодовШапки, ОбластьТоварШапки, ОбластьДанныхШапки, ВыводитьКоды);
```
---
Попробовал закоментировать, теперь на некоторых местах шапка пропал...
---
А вам как надо, на каждой странице чтоб шапка выходила ?
---
Чтоб печатать несколько заказов, выделяю их и отправляю на печать, там на каждом заказе должно быть только одна шапка и таблица, в моем случае на одном заказе эти шапки почему то на некоторых страницах по середине таблицы повторялись. Я закоментировал ВывестиШапку как Вы написали, теперь на некоторых страницах начальная шапка пропадает. Вот предварительный просмотр:
---
Следующий заказ как показано на рисунки нормально, т.е. шапка и таблица есть. Всего 15 страниц, из них 4 страницы без шапки получились :). НО уже по середине таблицы эти шапки уже не повторяются :). По моему еще что то не правильно...
---
тогда попробуйте закоментировать строчки условия

```1c
    Если ТабличныйДокумент.ПроверитьВывод(МассивПроверкиВывода) Тогда
    Иначе
    КонецЕсли
```

В коде 2 таких места - уберите там где внутри условия идет код

```1c
    Если (НомерСтроки = 1 И ВыводШапки = 0) ИЛИ (НомерСтроки = 0 И ВыводШапки = 1) Тогда
```

Не то что внутри условия, а именно само условие с "проверитьВывод"
---
Ура!!! получилось! Спасибо огромное!!! Ваши советы помогли!!! Еще раз спасибо!!!))
Есть окно сообщений, прикреплённое к правому краю окна 1С. Оно слишком узкое. Каждый раз, когда отработает обработка, я растягиваю его в ширину, но, если его закрыть, то оно не запоминает размер и в следующий раз оно снова открывается узким.

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

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

```1c
    Процедура ЗаписьФайла(......, КатегорияФайла=Неопределено)
```
---
И получится если вызываться будет в другом месте, где этот параметр не передается то будет неопределенно. А в месте где он передается то будет нужное значение параметра?
---
Да именно так. Так можно добавить любой необязательный параметр, с указанием значения по умолчанию. В приведенном примере это Неопределено, но можно поставить любое другое. При вызове такой процедуры/функции если значение передается, то оно передастся без изменений, а для тех вызовов, в которых нет передачи этого параметра, сама платформа просто подставит значение по умолчанию.
---
Да. И это основы языка 1С.
---
Спасибо! Всех с НГ.
Всем, привет! Как в отчете "Расчетная ведомость организации" скрыть ненужные для пользователя колонки. См. рис.
Конфигурация: "Зарплата и Управление Персоналом для Украины", редакция 2.1. (2.1.45.3)
---
а... посмотрел в конфе - это колонки показателя "ИмяВидаРасчета"

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

сделай отбор по виду расчета - укажи только нужный
---
При выборе "Значение" - не чего нет (((((
---
это строка ))) ... копируй с отчета..и лучше по равенству(вернее Начинается с)
---
щас попробую...(
---
или так... но это максимум без доработки отчета:
---
Получилось! Спасибо друг!
---
СВЯЗАЛСЯ НА СВОЮ ГОЛОВУ С ЗУП!!!! )))))))
---
да.. оно корявое))
---
кстати, этот отбор по определенным колонкам - показывает не достоверные цифры...((((
Если отчет сформировать полный - одни цифры, а есть выбрать мои 5 нужных колонок - совсем др. цифры. Вообщем хай бух. разбирается - это не входит в мои обязанности ))))))))
---
отчет на СКД, а вот на что там этот отбор повлиял...
им было проще выгрузить в ексель и удалить ненужное там
Как отображать реквизитов Организация, Контрагент и Договор?
---
Видимо, организация у вас одна. Соглашение не предполагает учет по договорам. А партнеры и контрагенты - в одном флаконе.
---
В конфигураторе они есть, а когда запускаю саму платформу они пропадают, как сделать так чтоб они всегда отображались?
---
или где то надо включить их
---
Видимо, организация у вас одна. Соглашение не предполагает учет по договорам. А партнеры и контрагенты - в одном флаконе.
---
все понятно, спасибо за ответ!
Всем, привет! 1С 8.3. УТП. Как программно отобрать контрагентов по Коду и добавить всем одинаковый Email. Бо я сижу открываю каждого и вручную пишу адрес, а их 780 шт. ))))))
Или может кто подскажет типовую обработку? Которая отберет мне нужных контрагнетов и всем им запишет в контактную информацию E-mail (одинаковый)
---
Все, разобрался! Нашел готовое решение "Инструменты разработчика Портативные 1С 8.2 V4.38p "
Обработка - "подбор и редактирование объектов БД"
---
КИ в регистре или в табличной части?
---
Регистр сведений - КонтактнаяИнформация*
---
https://its.1c.ru/db/metod8dev/content/2486/hdoc
https://helpf.pro/faq83/view/648.html
Или нужен рабочий код?
---
```1c
    НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Объект.Установить(ВыборкаДетальныеЗаписи.Объект);
    НаборЗаписей.Отбор.Вид.Установить(ВыборкаДетальныеЗаписи.Вид);
    НаборЗаписей.Отбор.Тип.Установить(ВыборкаДетальныеЗаписи.Тип);
    НаборЗаписей.Прочитать();
    //тут меняешь набор записей

    НаборЗаписей.Записать(Истина);
```
---
Все, разобрался! Нашел готовое решение "Инструменты разработчика Портативные 1С 8.2 V4.38p "
Обработка - "подбор и редактирование объектов БД"
Делаю запрос к табличной части документа с группировкой по виду номенклатуры.
Выдает ошибку при обработке результата запроса "Поле объекта не обнаружено(ВидНоменклатуры)"

Подскажите пожалуйста где моя ошибка

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

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

```1c
    ВЫБРАТЬ
    | ОтчетОРозничныхПродажах. Номенклатура.ВидНоменклатуры,
    | ОтчетОРозничныхПродажах.СУММА(Количество),
    | ОтчетОРозничныхПродажах.СУММА(Сумма)
    |
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажах
    |ГДЕ
    | ОтчетОРозничныхПродажах.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    | ОтчетОРозничныхПродажах.Номенклатура.ВидНоменклатуры;
```

Вот как то так
---
Показывает синтетическую ошибку
 ОтчетОРозничныхПродажах.СУММА(Количество)
---
```1c
    ВЫБРАТЬ
    | ОтчетОРозничныхПродажах.Номенклатура.ВидНоменклатуры как ВидНоменклатуры,
    | СУММА(ОтчетОРозничныхПродажах.Количество) как Количество ,
    | СУММА(ОтчетОРозничныхПродажах.Сумма) как Сумма
    |
    |ИЗ
    | Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажах
    |ГДЕ
    | ОтчетОРозничныхПродажах.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    | ОтчетОРозничныхПродажах.Номенклатура.ВидНоменклатуры;
```
---
Спасибо. Этот вариант работает. Удачи!
Привет всем. Когда на скд делаешь отчет, как убрать слово "сумма" из заголовков колонок вроде "Контрагент|Сумма" ?
---
Там установлен заголовок в виде пробела
---
сделать собственный макет для отображения итогов
---
в том то и дело. Этот отчет уже сделан, но не мной. Я повторил в точности все что там сделано, но у меня выводиться слово "сумма" а в оригинале нет. Также там нет никаких макетов и настроек полей оформления. Единственное что смущает - в настройках отчета (вид - таблица ) в выбранных полях поле сумма взято в скобки... Все, это единственное отличие которое я нашел. Прикрепил бы отчет, да сижу с телефона.
---
Скобки))) Это называется Установить заголовок)
---
Там установлен заголовок в виде пробела
---
даа, какая хитрая мелочь)) Спасибо.
Всем привет. Такая проблема. В документооборте есть Персональные настройки работы с файлами в разделе Администрирование.И там для каждого пользователя нужно установить путь к основному рабочему каталогу. Мне сказали сделать обработку, чтобы 1000 пользователям прописать эти пути. Возникла проблема. Путь для пользователя сохраняется в ХранилищеОбщихНастроек. Туда прописывается ИдентификаторКлиента. этот Идентификатор берется из объекта СистемнаяИнформация(), т.е. для одного пользователя ИБ если прописать путь через настройки, и если он сядет за другой комп пути не будет, т.к. идентификаторКлиента для каждого компьютера свой. И я не знаю как мне в обработке получить эти идентификаторы, мне кажется это вообще невозможно. Может кто решал что то похожее?? В какую сторону можно копать?? как это обойти?
---
В подобных случаях пути обычно указываются с расширением переменных окружения. Что-то типа \\server\share\%username%
---
Если нужно всем пользователям установить одинаковые настройки, то есть штатная возможность копирования настроек от одного пользователя другим. Админ делает настройку у себя, заходит в свои настройки, выбирает в дереве нужные, жмёт копирование настроек, выбирает каким пользователям.
---
А если пути разные должны быть, в зависимости от компьютера? Не у всех же пути должны совпадать на 100%. Могут быть разные системы, разный состав дисков, разные настройки у пользователей и т.д.
---
вот именно что пути должны быть разные у каждого пользователя. Допустим будет одна общая папка, а в этой папке у каждого пользователя своя папка.
---
В подобных случаях пути обычно указываются с расширением переменных окружения. Что-то типа \\server\share\%username%
Помогите, пожалуйста, решить проблему или где можно посмотреть:
УПП 1.3.98.1 Платформа 8.2 Партионный учет, списание по средней, расчет по переделам.
Ежемесячно закрывается себестоимость по БУ и НУ. В документе РСВ есть несколько повторяющихся операций
"Распределение косвенных расходов по переделам" и "Расчет затрат встречного выпуска по переделам"
Во все предыдущие периоды каждая последующая пара этих операций закрывалась быстрее чем предыдущая...
В этом месяце все пары закрываются по времени одинаково и очень долго. Впечатление, что распределение не проходит.
При этом не выдается никаких сообщений об ошибке, т.е. ошибок, видимых взглядом, нет.
Кто-нибудь сталкивался с такой проблемой? В чем может быть ошибка?
Новых статей затрат нет, все уже когда-то считались в предыдущих периодах...
Может можно каким-то запросом вытащить данные, которые можно посмотреть и понять почему не распределяется?
---
Делали тестирование информационные базы с пересчетом итогов (обязательно с созданием архивной копии базы данных, если будете делать)? Конфигурация типовая?(без доработок)
---
Добрый день. Из текста не понятно - так закрылось или нет после расчета?
---
не дождались...
---
Делали тестирование информационные базы с пересчетом итогов (обязательно с созданием архивной копии базы данных, если будете делать)? Конфигурация типовая?(без доработок)
---
Конфигурация с доработками, но расчет с/с почти не меняли. Попробую на тестовой. Отпишусь.
---
Сделайте для начала тестирование ИБ тестовой БД с пересчетом итогов - и потом расчет с/с.
---
Спасибо! Помогло. На тестовой рассчиталось. На рабочей буду пробовать после праздников. Сегодня вечером запущу тестирование с пересчетом итогов, реиндексацией и реструктуризацией...
---
Пожалуйста. А вот реструктуризация - это лишнее. Если база большая (а УПП - это априори так), то база может оооооочень долго реструктуризироваться - а потом загнуться. Так что лучше без этого. Ну и архивную копию нужно сделать сначала.
---
После реструктуризации быстрее работает... или нет?
---
не факт
---
Реструктуризация - это, по сути, простое пересоздание таблицы базы данных. Например, если в таблице нет поля "Артикул", и Вы его в конфигураторе добавите, то после сохранения и применения изменений 1С запустит процесс реструктуризации таблицы - и эту таблицу "расширит" на еще одну колонку - запись. Вам это не ускорит работу 1С. Лучше уж тогда сделать так - выгрузить базу данных, и загрузить в другой каталог - и уже с загруженной базой работать - тогда про изведется упаковка таблиц и пр. - вот тут и будет побыстрее - точнее, из-за упаковки таблиц (1С сожмет не использованные строки таблиц от удаленных данных - строк) база станет меньше.
---
База на сервере. Пользователей много... Не будем же каждую неделю каталог менять... Если не проводить реструктуризацию и просто сжать средствами sql?
---
сжатие базы даст небольшой прирост на чтение, но может замедлить запись в неё.
---
Не надо каждый раз этого делать. Это просто кардинальное решение. Можно просто сжать базу.
Добрый вечер, опыта с управляемыми приложениями мало и запнулся на элементарном.
Необходимо по кнопке из спр Контрагенты, создать спр КонтактныеЛица, с заполненными полями (не записанный).
Подскажите в чём ошибся...

```1c
    перем Параметры;

    Параметры = новый Структура;
    Параметры.Вставить("Владелец", Объект.Ссылка);
    Параметры.Вставить("Должность", "Менеджер");

    ОткрытьФорму("Справочник.КонтактныеЛица.ФормаОбъекта", Параметры, Объект.Ссылка);
```
---
```1c
    &НаКлиенте
    Процедура ОткрытьКонтактноеЛицо(Команда)

    Форма = ПолучитьФорму("Справочник.КонтактныеЛица.ФормаОбъекта");
    ДанныеФормы = Форма.Объект;
    ЗаполнитьДанныеФормыНаСервере(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
    Форма.Открыть();

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

    &НаСервере
    Процедура ЗаполнитьДанныеФормыНаСервере(ДанныеФормы)

    Спр = ДанныеФормыВЗначение(ДанныеФормы, Тип("СправочникОбъект.КонтактныеЛица"));
    Спр.Владелец = Объект.Ссылка;
    //Спр.Наименование = Наименование;
    //Спр.Должность = Должность;

    ЗначениеВДанныеФормы(Спр, ДанныеФормы);

    КонецПроцедуры
```
---
параметры должны быть в структуре с значением ключ.

Или получи форму заполни а затем открывай.

Почитай пособие из коробки для начала.
---
Если я правильно понял, то примерно так.
Справочник.КонтактныеЛица.ФормаОбъекта в процедуре ПриСозданииНаСервере()

```1c
    Владелец = Параметры.Владелец;
    Наименование = Владелец.Наименование;
```
---
```1c
    &НаКлиенте
    Процедура ОткрытьКонтактноеЛицо(Команда)

    Форма = ПолучитьФорму("Справочник.КонтактныеЛица.ФормаОбъекта");
    ДанныеФормы = Форма.Объект;
    ЗаполнитьДанныеФормыНаСервере(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
    Форма.Открыть();

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

    &НаСервере
    Процедура ЗаполнитьДанныеФормыНаСервере(ДанныеФормы)

    Спр = ДанныеФормыВЗначение(ДанныеФормы, Тип("СправочникОбъект.КонтактныеЛица"));
    Спр.Владелец = Объект.Ссылка;
    //Спр.Наименование = Наименование;
    //Спр.Должность = Должность;

    ЗначениеВДанныеФормы(Спр, ДанныеФормы);

    КонецПроцедуры
```
Здравствуйте!
Подскажите пож-та, что за объект такой ИнтернетСоединение?

В документации по нему сказано следующее:

Описание:
Предназначен для доступа к Интернет-соединениям. Доступен только на компьютерах с установленным Internet Explorer версии 5.0 или выше.

Доступность:
Тонкий клиент, сервер, толстый клиент, внешнее соединение
---
Предназначен для доступа к Интернет-соединениям. Доступен только на компьютерах с установленным Internet Explorer версии 5.0 или выше.
Открываем IE. Настройки. Свойства браузера. Подключения.
Вот это оно и есть.
Коммутируемые соединения и VPN.
---
Предназначен для доступа к Интернет-соединениям. Доступен только на компьютерах с установленным Internet Explorer версии 5.0 или выше.
Открываем IE. Настройки. Свойства браузера. Подключения.
Вот это оно и есть.
Коммутируемые соединения и VPN.
---
как я понял из справки:

Речь идет о диалап подключениях, которые активны были в начале 90-2000. Сейчас уже наверное таких плат и нет в базовой комплектации да и не нужны они, слишком медленный интернет был тогда!
---
на текущий момент еще есть усб модемы от сотовых операторов. Это про коммутируемые подключения. Хотя не пробовал их так запускать.
Но основное все же это VPN.
Собственно в чем дилемма, необходимо подключиться к другой базе через com соединение, выполнить там запрос и вернуть результат, в принципе все вроде просто. Но в запросе есть условие " В (&СписокДолжностей)". Это параметр по сути - список значений с должностями из справочника "Должности". Каким образом возможно задать данный список и передать в другую базу (коды элементов справочников разные, ссылки тем более)? Ведь если в 1-ой базе я создам список значений (а там будут соответственно ссылки) то вторая база (в которой будет выполняться запрос) их не прожует...
---
https://infostart.ru/public/170424/

Списочек = БазаПриемник.NewObject("СписокЗначений");
Списочек.Добавить(БазаПриемник.Справочники.Должности.НайтиПоНаименованию("Вася"));

Как то так
---
Ну по какому-то признаку вы должны в любом случае синхронизировать этот список.
---
Выбираете сначала список кодов должностей в другой базе, формируете из него параметр, и передаете его в другую базу. А условие делаете типа содержит и условие на код должности
---
https://infostart.ru/public/170424/

Списочек = БазаПриемник.NewObject("СписокЗначений");
Списочек.Добавить(БазаПриемник.Справочники.Должности.НайтиПоНаименованию("Вася"));

Как то так
---
если в 1-ой базе я создам список значений (а там будут соответственно ссылки) Здесь уместнее говорить не "если", а когда. Второй базы нет - есть только СОМ объект. В базе создавайте хоть список, хоть массив, но со значениями, полученными методами СОМ объекта, как в (4)
---
Большое спасибо за ссылочку!
---
Или
Запрос = БазаПриемник.NewObject("Запрос");
Запрос.Текст = "Выбрать Должности.ссылка Из Справочник.Должности как Должности ГДЕ Должности.ПометкаУдаления = Ложь и вашпризнак";

МассивДолжностей= Запрос.выполнить().Выгрузить().выгрузитьКолонку("Ссылка");
---
Сделал собственно следующим образом:

```1c
    КоннектОбъект = Новый COMОбъект("V82.COMConnector");
    Коннект = КоннектОбъект.Connect(сСтрокаСоединения);

    СписокДолжностейРеал = Коннект.NewObject("СписокЗначений");
    СписокДолжностейРеал.Добавить(Коннект.Справочники.ДолжностиОрганизаций.НайтиПоКоду ("200000210"), "Администратор проекта ВМС");
```

Далее указал как список значений в условии запроса.