Имя: Пароль:
1C
1С v8
Добавление програмно в табличную часть справочника Контрагенты
0 Pashabosto
 
15.07.14
13:36
Как програмно добавить менеджера в Справочник Контрагенты. Конфигурация УТП для Украины версия 1.2
1 Fish
 
15.07.14
13:44
(0) Так куда надо добавить: в справочник или в ТЧ справочника?
2 Pashabosto
 
15.07.14
13:48
В тч стравочника МенеджерПокупателя
3 Fish
 
15.07.14
13:50
(2) Как-то так:
НоваяСтрока = СправочникОбъект.МенеджерПокупателя.Добавить();
НоваяСтрока.МенеджерПокупателя(Или как он у тебя называется) = ТвойМенеджер;

СправочникОбъект.Записать();
4 Pashabosto
 
15.07.14
13:52
А в цикле? Я выбираю группу контрагентов и им создаю менеджера
5 Fish
 
15.07.14
13:53
(4) В цикле точно так же. А что не получается?
6 Pashabosto
 
15.07.14
13:54
Как это написать: Для Каждого Строка Из ...?
7 Fish
 
15.07.14
13:56
(6) Ну смотря что ты понимаешь под "Я выбираю группу контрагентов". Как именно выбираешь? Показывай код.
8 Godofsin
 
15.07.14
13:57
СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>)
ВыбратьИерархически (SelectHierarchically)
Синтаксис:

ВыбратьИерархически(<Родитель>, <Владелец>, <Отбор>, <Порядок>)
Параметры:

<Родитель> (необязательный)

Тип: СправочникСсылка.
Отбор по родителю. Имеет смысл только для многоуровневых справочников. Если параметр не задан, то отбор по родителю не производится.
<Владелец> (необязательный)

Тип: СправочникСсылка.
Отбор по владельцу. Имеет смысл только для подчиненных справочников. Если параметр не задан, то отбор по владельцу не производится.
<Отбор> (необязательный)

Тип: Структура.
Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. Могут задаваться только "Код", "Наименование" и реквизиты справочника, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или в значение "Индексировать с доп. упорядоч.".
Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется.
<Порядок> (необязательный)

Тип: Строка.
Строка с именем реквизита справочника, определяющая упорядочивание элементов в выборке. Может быть указано "Код", "Наименование" или имя одного из реквизитов примитивного типа (Число, Строка, Дата, Булево), для которого установлен признак "Индексирование" в значение "Индексировать" или "Индексировать с дополнительным упорядочиванием" в конфигураторе. После имени реквизита через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Если параметр не указан, то порядок определяется основным представлением справочника.
Значение по умолчанию: Пустая строка
Возвращаемое значение:

Тип: СправочникВыборка.

Описание:

Формирует иерархическую выборку элементов справочника по заданным условиям. При иерархической выборке для каждого элемента сначала выбираются элементы, для которых он является родителем, а затем уже выбираются элементы следующего уровня.

Доступность:

Сервер, толстый клиент, внешнее соединение.
9 Godofsin
 
15.07.14
13:57
не благодари
10 Pashabosto
 
15.07.14
13:58
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
                       |    Контрагенты.Ссылка КАК Ссылка,
                       |    Контрагенты.Наименование КАК Наименование
                       |ИЗ
                       |    Справочник.Контрагенты КАК Контрагенты
                       |ГДЕ
                       |    Контрагенты.Родитель = &Родитель
                       |
                       |УПОРЯДОЧИТЬ ПО
                       |    Наименование";
    Запрос.УстановитьПараметр("Группа", Група);
    Результат = Запрос.Выполнить().Выбрать();
11 Godofsin
 
15.07.14
13:59
(10) Пока Результат.Следующий() цикл
12 Fish
 
15.07.14
14:01
(10) Я бы ещё добавил в запрос условие на группу, т.к. у группы нет ТЧ МенеджерыПокупателя.
13 Fish
 
15.07.14
14:02
+(12) И почему ты выбираешь только одного контрагента? А если их в группе несколько?
14 Pashabosto
 
15.07.14
14:12
А как надо сделать? Мне надо чтобы у всех контрагентов в группе был один одинаковый менеджер. А для этого надо выбрать группу.
15 hhhh
 
15.07.14
14:14
ПЕРВЫЕ 1 - это одного контрагента берешь. Выбрось это
16 Pashabosto
 
15.07.14
15:01
Выскакивает ошибка {Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить().Выбрать();
по причине:
{(7, 28)}: Не задано значение параметра "Родитель"
Контрагенты.Родитель = <<?>>&Родитель
17 catena
 
15.07.14
15:19
(16)Ну всё, значит не получится.
18 Pashabosto
 
15.07.14
15:28
Уже нашел и исправил:
Запрос.УстановитьПараметр("Родитель", Група);
    Результат = Запрос.Выполнить().Выбрать();