arefaste/1C_Forums huggingface dataset:
Ребята, просто натолкните меня,я в первый раз, не знаю куда копать. У меня Розница 2.2, мне на основании документа Реализация необходимо создавать ПКО в УПП (и еще в паре других баз), брать его номер и с этим номер создавать аналогичный ПКО в Рознице. С чего начать и чем закончить намекните. Создать планы обмена между базами? или использовать Ole? и все это в отдельную обработку оформить, не менять же код прям в документе Реализация на основании? Я сижу читаю все подряд в интернете, но пока не знаю с чего именно мне начинать и как правильно это делается в типовых конфигурациях. Спасибо заранее.
---
Решила сама, напишу, мало ли кто столкнется. Создала общий модуль, с ним подписка на событие Ввод на основании для ПКО. В модуле описала Ole с созданием ПКО в УПП, взятием номера и дальше просто те же функции, что и при обычном вызове Ввода на основании, только в структуре ДанныеЗаполнения номер ПКО из УПП.
---
Забыла дописать. На основании документа Реализация из Розницы вначале создать ПКО в УПП,а потом тот же с этим же номер уже и в Рознице.
---
На основании документа Реализация из Розницы вначале создать ПКО в УПП,а потом тот же с этим же номер уже и в Рознице.

Сделать вэб сервис на стороне УПП к которому обращаться из розницы, проводить ПКО, получать номер нового документа и записывать его в рознице. А вообще я бы не морочился. А просто перед распечаткой кассовой книги перенумеровывал документы в УПП.
---
Заморочка в том, что делать нужно "исключительно и это не обсуждается" со сквозным номером из УПП, а Розницу еще ставить только будем, т.е. мне нужно получить номер в УПП того ПКО который я создаю на основании документа из Розницы и его повторить.
---
Решила сама, напишу, мало ли кто столкнется. Создала общий модуль, с ним подписка на событие Ввод на основании для ПКО. В модуле описала Ole с созданием ПКО в УПП, взятием номера и дальше просто те же функции, что и при обычном вызове Ввода на основании, только в структуре ДанныеЗаполнения номер ПКО из УПП.
---
Вместо OLE я предложил вам сделать это через web сервис.
---
Попробую через web, спасибо.
Здравствуйте! недавно начал изучать сам язык 1с и не могу толком понять чем отличаются модуль объекта и модуль менеджера. Перечитал много информации, вроде бы относительно разобрался но прям четкого понятия не имею...может кто объяснить простыми фразами или на пальцах?)
---
А учебная литература совсем не катит?
Модуль объекта доступен из конкретного объекта (справочник контрагент "Рога и копыта", документ РТиУ № 0001 и пр...) и в нём расположены процедуры действия с самим объектом. Заполнить(), Обработка Проведения() и пр...
А в модуле менеджера расположены процедуры для работы с менеджером объекта. Через менеджер объекта можно например получить выборку. Ну и в нём обычно располагают общие процедуры для работы с объектами, например предопределенная процедура ОбработкаПолученияФормы() или пакетная печать...
---
А учебная литература совсем не катит?
Модуль объекта доступен из конкретного объекта (справочник контрагент "Рога и копыта", документ РТиУ № 0001 и пр...) и в нём расположены процедуры действия с самим объектом. Заполнить(), Обработка Проведения() и пр...
А в модуле менеджера расположены процедуры для работы с менеджером объекта. Через менеджер объекта можно например получить выборку. Ну и в нём обычно располагают общие процедуры для работы с объектами, например предопределенная процедура ОбработкаПолученияФормы() или пакетная печать...
---
теперь окончательно понял, спасибо.
---
Модуль менеджера можно использовать без создания самого объекта, некий аналог статических функций из C++.
Помогите! Необходима простая связь по владельцу. Элементарная вещь поставила в тупик. Не работает.

Справочники:
Водители
Документы

У справочника Документы владелец стоит справочник Водители.

В справочники Водители, есть реквизит - Паспорт (тип СправочникСсылка.Документы).
Свойство на палитре заполнено:
Связи параметров выбора - Отбор.Владелец(Ссылка)

Фильтр отбора не работает на конфигурации Комплексная Автоматизация 1.1
На чистой базе просто попробовал - всё работает. Где я туплю?

На КА 1.1, когда делаю да же владелец не передается при создание новой записи.
На чистой (правда полностью упр.) всё отлично как часики работает.
---
спасибо, что натолкнули в верном направление!

Нужно было создать упр форму и элементу упр. формы настроить связь. Остальные формы обычные.
---
Создал Демо Комплексной 1.1., проделал тот же механизм.

Не работает... почему, помогите...
---
Работает только для упр.форм
---
спасибо, что натолкнули в верном направление!

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

Помогите, пожалуйста, с запросом.

Есть справочники: Вакансии и резюме.

В общем надо, чтобы при нажатии по кнопке на форме в справочнике.вакансии, он вывел сообщения или что-то типа того, что такие, подходящие должности есть в справочнике.резюме.

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

Просто у меня по заданию было сделать хотя бы по должности, просто только учусь всему этому делу)
---
Пожалуйста.
БП 2.0.66.29 Нужно чтобы пользователь мог посмотреть только данные с вкладки отчет за 2016 год (скрин прилагается).
P.S. Понимаю что тема объемная, хотя бы тыкните в какую сторону копать. Заранее спасибо.
P.S.S. Лучше, сделать это без вскрытия конфигурации.
---
Все бух. отчеты (оборотки, карточки) должны выводить данные только за 16 г? Попробуйте настроить через РЛС доступ к регистру бухгалтерии по датам записей, чтобы были не позднее 1 янв 17.
---
Все бух. отчеты (оборотки, карточки) должны выводить данные только за 16 г? Попробуйте настроить через РЛС доступ к регистру бухгалтерии по датам записей, чтобы были не позднее 1 янв 17.
Здравствуйте!
В программировании 1С недавно.. Разбираю отчет сделанный коллегой в СКД. Подскажите, как отменить действие в СКД?
---
Правильно понимаете.
---
т.е. я правильно понимаю, что если изменить что-то в скд (название поля, убрать где-нить галку, добавить колонку и проч любые действия..), то отменить свое любое хотя бы одно действие нельзя?
---
Поясните что именно надо отменить?
---
т.е. я правильно понимаю, что если изменить что-то в скд (название поля, убрать где-нить галку, добавить колонку и проч любые действия..), то отменить свое любое хотя бы одно действие нельзя?
---
Если не помогает ctrl+z то скорее всего проще переоткрыть отчёт, не сохраняя его
---
ctrl+z не помогло. т.е. я правильно понимаю, что если изменить что-то в скд (название поля, убрать где-нить галку, добавить колонку и проч любые действия..), то отменить свое любое хотя бы одно действие нельзя?
---
Правильно понимаете.
---
а можно еще сохранять СКД во внешний файл, или отдельно сохранять настройки, и если что их просто загружать
---
СКД проще в режиме предприятия в консоли отчетов отлаживать. Там можно и сохранять/загружать/несколько различных копий для отладки делать. А потом результирующий вариант уже в конфигурацию уже загрузить
Здравствуйте, меня интересует каким образом можно программно вызвать стандартную форму Редактирование списка значений, не затрагивая элементы формы, а динамически, создавая список значений с присвоением ему типа СпискЗначений и заполнением уже через вызванную форму. Спасибо.
---
Создайте еще одну форму для списка значений, передайте его туда и делайте там с ним все, что захочется
---
Создайте еще одну форму для списка значений, передайте его туда и делайте там с ним все, что захочется
---
А подробнее что означает не затрагивая элементы формы?
---
не создавать на форме "Поле ввода" с типом список значений. А создать программно переменную.
---
Если создать программно объект типа "СписокЗначений", то необходимо создать для него форму работы со списком значений и вызывать, передавая туда параметр.
---
Не понятно определение "Стандартная форма редактирования списка значений".

В списке что будет находиться? Элементы справочников? Записи регистров сведений? Ссылки на документы? Просто значения типа "Строка" или "Число"?

Нет такого понятия, как "Стандартная форма редактирования списка значений".
---
Мне подойдет решение и для "Число" и "Строка" если у вас оно есть.
---
Платформа и конфигурация какая?

В смысле - управляемые формы или нет?
(7)
---
Но кнопочку то на форму все равно надо повесить, как вызывать список будете, и еще если на форме то куда этот список помещать?
Думаю, если хотите получить помощь, надо подробнее обрисовать задачу.
---
Обычные
---
Я так понял что нужно создавать свою форму(((. Всем спасибо.
---
Форма, командная панель, обработчики "Добавить, изменить, удалить, выбрать, при открытии", etc...

Легче написать самому, чем ждать кого-то :) ИМХО
---
В реквизит табличной части с типом "строка" хотел через список добавлять числа.
Например: "5, 19, 25, 138".
---
типом "строка"
А просто через запятую, как в строку в режиме редактирования, религия не позволяет?
---
Так не легче сформировать список значений, всунуть в элемент формы и показать кнопку списка значений? Это намного быстрее пишется
---
не совсем понял как всунуть в табличную часть список значений?
---
1. Табличная часть отображена на форме.
2. Каждая ячейка - это элемент формы со своими свойствами.
3. У каждой ячейки есть свойство "Показывать кнопку списка выбора" и реквизит "Список выбора" типа "Список значений".

Галочку активируем, ручное редактирование запрещаем, список значений вставляем в список выбора.

Вуаля - все готово.
---
Нужно ограничить ввод только чисел, а не станут ли пользователи туда вписывать что пожелается я не знаю.
---
Ну так закрыть реквизит для редактирования или обработчике контекстного подбора поставить проверку только на цифры.
```1c
    Процедура ВакансииРаботодателя()

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("НайденныеВакансии");
    Таб.ВывестиСекцию("Все<");

    СпрВакансии = СоздатьОбъект("Справочник.Вакансии");

    НомПП = 0;
    СпрВакансии.ВыбратьЭлементыПоРеквизиту("Работодатель",ТекущийЭлемент(),0,0);
    Пока СпрВакансии.ПолучитьЭлемент()=1 Цикл

    НомПП = НомПП + 1;
    Таб.ВывестиСекцию("Вакансия");

    КонецЦикла;

    Таб.ВывестиСекцию("Все>");
    Таб.ТолькоПросмотр(1);
    Таб.Показать();

    КонецПроцедуры
```
---
Примерно так
```1c
    Таб = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("НайденныеВакансии");// или ПолучитьОбщийМакет, смотря где хранится макет.
    Область = Макет.получитьОбласть("Все_");
    Таб.вывести(Область);

    запрос = новый запрос(
    "выбрать Вакансии.Наименование из Справочник.Вакансии как Вакансии где Вакансии.Работодатель = &ТекРаботодатель");
    Запрос.установитьПараметр("ТекРаботодатель",ТекущийРаботодатель); //предварительно получаешь ссылку в переменную ТекущийРаботодаель
    Выборка = запрос.выполнить.выбрать();
    Пока выборка.следующий() цикл
    Область = макет.ПолучитьОбласть("СтрокаТаблицы");
    Область.Параметры.Заполнить(Выборка);
    Таб.Вывести(область);
    конеццикла;
    Область = Макет.получитьОбласть("_Все");
    Таб.вывести(Область);
    Таб.ТолькоПросмотр = истина;
    Таб.показать();
```

Вот полезная ссылка https://helpf.pro/faq82/view/1621.html
---
ЗАчем это делать? в 8.3 разве нет того что ВАм надо?
---
У него похоже самописная конфигурация.
---
Примерно так
```1c
    Таб = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("НайденныеВакансии");// или ПолучитьОбщийМакет, смотря где хранится макет.
    Область = Макет.получитьОбласть("Все_");
    Таб.вывести(Область);

    запрос = новый запрос(
    "выбрать Вакансии.Наименование из Справочник.Вакансии как Вакансии где Вакансии.Работодатель = &ТекРаботодатель");
    Запрос.установитьПараметр("ТекРаботодатель",ТекущийРаботодатель); //предварительно получаешь ссылку в переменную ТекущийРаботодаель
    Выборка = запрос.выполнить.выбрать();
    Пока выборка.следующий() цикл
    Область = макет.ПолучитьОбласть("СтрокаТаблицы");
    Область.Параметры.Заполнить(Выборка);
    Таб.Вывести(область);
    конеццикла;
    Область = Макет.получитьОбласть("_Все");
    Таб.вывести(Область);
    Таб.ТолькоПросмотр = истина;
    Таб.показать();
```

Вот полезная ссылка https://helpf.pro/faq82/view/1621.html
Добрый вечер! Возник нубский вопрос. Сейчас занимаюсь парсингом текстового файла. Код выглядит следующим образом:

```1c
    Если Найти(Стр,"lang=EN-US") Тогда
    Стр1 = СтрЗаменить(Стр, "<span style", ");
    Стр2 = Новый ТекстовыйДокумент;
    Стр2.УстановитьТекст(Стр21);
    Для А = 1 По Стр2.КоличествоСтрок() Цикл
    Стр3 = Стр2.ПолучитьСтроку(А);
    Сообщить(Стр3);
    КонецЦикла;
    КонецЕсли;
```

Результат получается такой:

<a name=bookmark2><span lang=EN-US> 111222
<a name=bookmark3><span lang=EN-US> 222333
<a name=bookmark4><span lang=EN-US> 333444
<a name=bookmark5><span lang=EN-US> 555666

С различными дополнениями кода в виде

```1c
    СтрЗаменить(Стр1, "<a name=bookmark", ")
    СтрЗаменить(Стр2, "<span lang=EN-US>", ")
```

Получаю следующее:

2> 111222
3> 222333
4> 333444
5> 555666

Мне же надо получить просто эти числа: 111222, 222333 и т.д. Дело в том, что этих пресловутых "2>", "3>" может быть сколько угодно и через СтрЗаменить от них ну никак не избавиться.
---
если колчество символом в строке справа всегда одинаково, то:

```1c
    Результат = Прав(Стр3, 6);
```
---
если колчество символом в строке справа всегда одинаково, то:

```1c
    Результат = Прав(Стр3, 6);
```
---
Спасибо, воспользовался
(3) Результат = Прав(Стр3, 6);
Действительно видимо переработал, ведь это так просто...
---
,

```1c
    поз = Найти(Стр3,"lang=EN-US>");
    Если поз > 0 Тогда
    Стр3 = Сред(Стр3, поз+12);
    КонецЕсли;
```
---
Ну или если после ">" всегда есть пробел
2> 111222
То можно воспользоваться им

```1c
    к = СтрНайти(Строка, " "); //Если 8.2 и меньше, то просто "Найти"
    Строка = Сред(Строка, к+1);
```
---
Числа, которые нужно получить, одинаковой длины? Если да то просто возьмите нужное количество символов справа.
---
```1c
    Конец=СтрДлина(Стр); //конецстроки
    Для и=1 по СтрДлина(Стр) цикл
    Конец=Конец-1; //уменьшаем конец
    если Сред(Стр,Конец,1)=" " тогда //находим последний пробел
    прервать;
    конецесли;
    конеццикла;
    ХочуЗначение=Сред(Стр,Конец+1,СтрДлина(Стр)-Конец);// выбираем символы после пробела.
```
---
А нельзя XML парсером с помощью XPath, или регулярными выражениями?
---
Какой сложный код... есть же регулярные выражения, найти 6 цифр подряд в тексте не составляет большой проблемы:

```1c
    RegExp = Новый COMОбъект("VBScript.RegExp"); //Инициализируем COM-объект
    RegExp.IgnoreCase = Истина; //Игнорировать регистр
    RegExp.Global = Истина; //Поиск всех вхождений шаблона
    RegExp.MultiLine = Истина; //Многострочный режим
    RegExp.Pattern = "[0-9]{6}"; //Шаблон - Ищем 6 цифр подряд

    СтрокаПоиска = "авыавылж дэжыдв дэыав123456авыавдлп жпав fds sdad sad 654321 fds fds"; //сюда можно передать весь текст, ко которому производится поиск

    Matches=RegExp.Execute(СтрокаПоиска); //Все найденные по шаблону значения
    сч = 0;

    //обходим коллекцию значений
    Пока Matches.Count() > сч Цикл
    Match = Matches.Item(сч);
    Сообщить(Match.Value);
    сч = сч +1;
    КонецЦикла;
```

На выходе этот код выдаст:
123456
654321
Всем здравствуйте, пишу внешнюю обработку на изменение типа склада, но что-то выдает ошибку: метод объекта не обнаружен (ПолучитьОбъект) в чем косяк здесь? P.S. Только начинаю разбираться в конфигурировании не судите строго.
---
Скорее всего вы пытаетесь получить объект на клиенте. Это нужно делать на сервере.
---
в форме тыкаешь правой кнопкой мыши по полю ввода тип склада и там будет строка события и оттуда выбрать ПриИзменении
---
Скорее всего вы пытаетесь получить объект на клиенте. Это нужно делать на сервере.
---
Алекей спасибо, тут ты прав, с этим разобрался, а вот значение Типа Склад при выборе все равно не меняет... интересно почему? Может процедура неправильная и нужна другая?
---
может быть событие ПриИзменении()?
---
Такой процедуры у меня нет, но я попробовал не меняет все равно... хм...
---
в форме тыкаешь правой кнопкой мыши по полю ввода тип склада и там будет строка события и оттуда выбрать ПриИзменении
---
Все понял, да сработало!!! Спасибо большое!!!
Помогите в написании кода для команды

Есть два справочника: "Работодатели" и "Вакансии":

У справочника "Работодатели" есть форма и на ней кнопка(команда) Вакансии.

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

```1c
    ВЫБРАТЬ
    Начисления.Сотрудник,
    Начисления.ВидРасчета,
    Начисления.Результат
    ИЗ
    РегистрРасчета.Начисления КАК Начисления
    ГДЕ
    Начисления.Сотрудник = &Сотрудник
    И Начисления.ПериодРегистрации = &ПериодРегистрации

    ОБЪЕДИНИТЬ ВСЕ

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

```1c
    ВЫБРАТЬ
    Начисления.Сотрудник,
    Начисления.ВидРасчета,
    Начисления.Результат
    ИЗ
    РегистрРасчета.Начисления КАК Начисления
    ГДЕ
    Начисления.Сотрудник = &Сотрудник
    И Начисления.ПериодРегистрации = &ПериодРегистрации

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    Удержания.Сотрудник,
    Удержания.ВидРасчета,
    Удержания.Результат
    ИЗ
    РегистрРасчета.Удержания КАК Удержания
    ГДЕ
    Удержания.Сотрудник = &Сотрудник
    И Удержания.ПериодРегистрации = &ПериодРегистрации
```