Имя: Пароль:
1C
 
Как скопировать имя в комментарий?
0 vienya
 
24.04.24
09:42
Помогите, как Бухе в справочнике Контрагенты скопировать все Наименования в комментарии?
1 Кондер
 
24.04.24
09:30
Цикл
К.Комментарий = К.Наименование
2 CepeLLlka
 
24.04.24
09:31
(0)Групповая обработка, произвольный алгоритм и тоже самое:
КонтрагентОбъект.Комментарий = КонтрагентОбъект.Наименование;
3 Кондер
 
24.04.24
09:35
(2) Это невозможно
4 Мультук
 
гуру
24.04.24
09:42
(0)

Ну, год еще, ну, два. А дальше что? Дальше ваши рыжие кудри примелькаются, и вас просто начнут бить. (с)

P.S.

В гугле забанили?

1) 1с как в цикле перебрать элементы справочника

https://1s-portal.ru/index.php/stati/configuration/15-form/59-knopke-naznachit-gorjachuju-klavishu.html
https://helpf.pro/faq/view/303.html


2) 1с как изменить элемент справочника программно
https://helpf.pro/faq/view/1160.html

P.P.S.

Настоятельно советую бесчеловечная эксперименты проводить на тестовой базе
И не на всём справочнике, а на порции 1-10 элементов, чтобы не ждать
5 vienya
 
24.04.24
09:48
(1) Пока Контрагент.Наименование = 1 Цикл
Контрагент.Комментарий = Контрагент.Наименование;
КонецЦикла;

Переменная не определена (Контрагент)
6 Волшебник
 
24.04.24
09:49
(5) Не надо генерировать бред
7 Serg_1960
 
24.04.24
10:11
(3) "Нельзя" если использовать групповое изменение значений реквизитов (контекстное меню - "Изменить выделенные") и "возможно" если использовать универсальную обработку. Не знаю как в БП, но в остальных типовых обработка где-то в районе "Администрирование"-"Обслуживание" находится. Ну, или скачать с ИТС - https://its.1c.ru/db/metod8dev/content/5443/hdoc
8 yopQua
 
24.04.24
10:19
(5) мощно..
вам в (4) в ппс
сама задача тоже мощная
скопировать названия всех контрагентов в комментарий одного?
для каждого скопировать наименование в комментарий?

как бы ни было, нахоя??
9 Serg_1960
 
24.04.24
10:22
(8) Я тоже так в начале подумал... но в конце вопроса - "...  в комментарии" - множественное число.
10 Кондер
 
24.04.24
10:23
(7) Этой возможно, вроде
11 yopQua
 
24.04.24
10:25
(9) поколение некст считает, что граммарнаци существуют только для бутафории и пафоса. Что установка запятой в "Казнить нельзя помиловать" ничего не решает, это придирки. Тоже самое и по формам слов в окончаниях, в приставках и тд. Что их и так поймут, ЭТО главное
12 vienya
 
24.04.24
10:40
(7) Спасибо за обработку, а тут как-то можно впихнуть наименование контрагента?
13 Serg_1960
 
24.04.24
10:28
"Мы все учились понемногу чему-нибудь и как-нибудь..."

Пока такие, как автор, есть - мы все спокойны за свои рабочие места :))
14 vienya
 
24.04.24
10:50
(8) Все имена в соответствующие комментарии.

Дело в том, что в конторе сложилась практика вписывать десятизначные номера лицевых счетов в наименование, поэтому конечной задачей является копирование всех 10 первых знаков в комментарии, а потом их удаление. Примерно так:

Процедура ВКомментарий (Контрагент)

    Если Найти(Контрагент.Наименование, Цифры) = 0 Тогда
        Контрагент.Комментарий = Лев(Контрагент.Наименование, 10) //лицевой счет 10 знаков
    Иначе
        Справочник.Контрагент.Комментарий = Лев(Удалить(Контрагент.Наименование, Цифры), 10)
    КонецЕсли;
КонецПроцедуры

Но для начала вопрос встал, как обратиться к переменной Контрагент
15 Волшебник
 
24.04.24
10:38
(12) Заметьте кнопку "Выполнить произвольный алгоритм"
16 Волшебник
 
24.04.24
10:40
(14)
Цикл:
Объект.Комментарий = Лев(Объект.Наименование,10);
Объект.Наименование = Сред(Объект.Наименование,11);
Объект.Записать();
17 maxab72
 
24.04.24
11:39
(13) "Мы все учились понемногу чему-нибудь и как-нибудь..." А мне вспомнилась песня Лисы Алисы и Кота Базилио из Буратино - "Пока живут на свете..."
18 CepeLLlka
 
24.04.24
13:51
(3)🤦
19 Кондер
 
24.04.24
14:17
(18) Хватит хлопать себя по щекам, ты не виноват, что ты написал ничем не обоснованную чушь )
20 Kigo_Kigo
 
24.04.24
14:41
говнокод
Контрик =Справочники.контрагенты.выбрать();
Пока Контрик.Следующий() Цикл
Если Контрик.ЭтоГруппа() Тогда
Продолжить;
КонецЕсли
ЭлКонтрик = Контрик.ПолучитьОбъект();
ЭкКонтрик.Комментарий = ЭлКонтрик.Комментарий = Лев(Объект.Наименование,10);
Попытка
ЭлКонтрик.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЦикла;

Можно через запрос
Запрос = Новый Запрос("
      

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

      

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

      

    Пока Результат.Следующий() Цикл
      

        Контрик = Результат.Конрагент.ПолучитьОбъект();
Контрик.Комментарий = Лев(Результат.Наименование,10);
Попытка
Контрик.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

      

    КонецЦикла;
21 maxab72
 
24.04.24
14:40
Ага, а если главбух в комментарии к каким-то контрагентам записала важную информацию, типа - "динамит с оплатами, строгий контроль" и т.п. как она будет счастлива, после этой обработки...
22 vienya
 
02.05.24
12:16
(15) (16) Волшебник, спасибо!
Внесение лицевого счета в комментарий осуществлено через штатную обработку ГруповоеИзменениеРеквизитов (Администрирование > Обслуживание > Корректировка данных)
- Ввести новые значения – открыжены все, связанные с Контрагентами поля.
- Выполнить произвольный алгоритм:
ПервыеДесятьСимволовНаименования = Лев(Объект.Наименование, 10);
Если СтрДлина(ПервыеДесятьСимволовНаименования) = 10
    И СтрРазделить(ПервыеДесятьСимволовНаименования,"0123456789",Ложь).Количество() = 0 Тогда
               Объект.Комментарий = ПервыеДесятьСимволовНаименования;
               Объект.Наименование = СокрЛ(Сред(Объект.Наименование, 11)); //удалить лицевой счет из наименования
               Объект.НаименованиеПолное = СокрЛ(Сред(Объект.НаименованиеПолное, 11)); //удалить лицевой счет из полного наименования
КонецЕсли;  
- Выбор элементов для изменения: Отбор по Юридическое/физическое лицо = Физическое лицо,
Дата создания Больше/Меньше (сортирую по дате, т.к. большой объём, поэтому гружу по частям)
23 vienya
 
02.05.24
12:22
(21) Тогда можно
    Если Объект.Комментарий.Пустая() =0 Тогда
А вот как дописать в комментарий?
    Если Объект.Комментарий.СодержитЗначение() =0 Тогда
Как дальше конкатенацию сделать?
24 Волшебник
 
02.05.24
12:53
(23) Так нельзя
Если Объект.Комментарий.Пустая() =0 Тогда
25 Мультук
 
гуру
02.05.24
13:09
(23)

1)

Наименование: 1234567890 Ромашка
НаименованиеПолное: ООО РГУ МФП ДДТ Ромашка

после ваших изменений

Наименование: Ромашка
НаименованиеПолное: П ДДТ Ромашка

Почему вы решили, что если в наименовании первые 10 символов это счёт,
то и в полном наименовании аналогично ?

2)

Конкатенация

Объект.Комментарий =  Объект.Комментарий + " некая хрень ";

P.S.

Грустно всё это.
26 vienya
 
02.05.24
15:36
(25) Спасибо, не заметил, что надо поставить условный оператор и для полного наименования.
Отдельное спасибо за конкатенацию.

P.S.

Согласен.