Здравствуйте
Подскажите как оставить первую часть строки ДоговорНаименование и запятую, если обнаруживается дублирование. Если дублирования нет, нужно вывести полное наименование.
ДоговорНаименование = СсылкаНаОбъект.ДоговорКонтрагента.Наименование + " ,";
Если СтрНайти(ДоговорНаименование, "Приложение") = 0 Тогда
Приложение = СсылкаНаОбъект.Товары[0].ПриложенияДоговораКонтрагента.Наименование;
Если ЗначениеЗаполнено(Приложение) Тогда
СклонениеДоговора = ПолучитьСклоненияСтроки(ДоговорНаименование, , "ПД=Дательный");
ДоговорНаименование = "Приложение № " + Приложение + " к " + СклонениеДоговора[0];
КонецЕсли;
КонецЕсли;
Подскажите как оставить первую часть строки ДоговорНаименование и запятую, если обнаруживается дублирование. Если дублирования нет, нужно вывести полное наименование.
ДоговорНаименование = СсылкаНаОбъект.ДоговорКонтрагента.Наименование + " ,";
Если СтрНайти(ДоговорНаименование, "Приложение") = 0 Тогда
Приложение = СсылкаНаОбъект.Товары[0].ПриложенияДоговораКонтрагента.Наименование;
Если ЗначениеЗаполнено(Приложение) Тогда
СклонениеДоговора = ПолучитьСклоненияСтроки(ДоговорНаименование, , "ПД=Дательный");
ДоговорНаименование = "Приложение № " + Приложение + " к " + СклонениеДоговора[0];
КонецЕсли;
КонецЕсли;
По теме из базы знаний
- Как увеличить на 30% эффективность работы сервисных подразделений компании
- Управление состоянием для шаблона MVC и работы с данными объекта
- Практика применения DevOps. Работа с SonarQube
- Переход с 1С:УПП на1C:ERP: Перенос остатков и затянувшееся начало работы в ЕРП
- SynchroSber - полноценный модуль API интеграции с маркетплейсом Мегамаркет (СберМегаМаркет) для 1С УТ 11.X, КА 2.X, ERP 2.X, УНФ 1.6, 3.0 (возможность работы как с публикацией, так и без публикации базы)
Найденные решения
(16) Вот так решил, да, оказалось все гораздо проще
МассивЧастей = СтрРазделить(ДоговорНаименование, ".");
МассивЧастей = Новый Массив;
МассивНаименования = Новый Массив;
МассивЧастей = СтрРазделить(ДоговорНаименование, ".");
Если МассивЧастей.Количество() > 0 Тогда
ДоговорНаименование = МассивЧастей[0];
Для Индекс = 0 По МассивЧастей.Количество() - 1 Цикл
Если Индекс = МассивЧастей.Количество() - 1 Тогда
Прервать;
Иначе
МассивНаименования.Добавить(МассивЧастей[Индекс]);
КонецЕсли;
КонецЦикла;
КонецЕсли;
ДоговорНаименованиеГотовый = СтрСоединить(МассивНаименования, ". ") + "." + " ,";
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(16) Вот так решил, да, оказалось все гораздо проще
МассивЧастей = СтрРазделить(ДоговорНаименование, ".");
МассивЧастей = Новый Массив;
МассивНаименования = Новый Массив;
МассивЧастей = СтрРазделить(ДоговорНаименование, ".");
Если МассивЧастей.Количество() > 0 Тогда
ДоговорНаименование = МассивЧастей[0];
Для Индекс = 0 По МассивЧастей.Количество() - 1 Цикл
Если Индекс = МассивЧастей.Количество() - 1 Тогда
Прервать;
Иначе
МассивНаименования.Добавить(МассивЧастей[Индекс]);
КонецЕсли;
КонецЦикла;
КонецЕсли;
ДоговорНаименованиеГотовый = СтрСоединить(МассивНаименования, ". ") + "." + " ,";
Показать
если под дублированием - подразумевается повторная обработка данных...
то возможно так:
то возможно так:
ДоговорИсходноеНаименование = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаОбъект, "ДоговорКонтрагента.Наименование");
Если СтрНайти(ДоговорИсходноеНаименование, "Приложение №") = 0 Тогда
МассивДоговоровПриложений = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СсылкаНаОбъект, "Товары").ВыгрузитьКолонку("ПриложенияДоговораКонтрагента");
Если МассивДоговоровПриложений.Количество() Тогда
НаименованиеДоговорПриложение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(МассивДоговоровПриложений[0], "Наименование");
СклоненияДоговора = ПолучитьСклоненияСтроки(ДоговорИсходноеНаименование, , "ПД=Дательный");
ДоговорНовоеНаименование = СтрШаблон("Приложение № %1 к %2", НаименованиеДоговорПриложение, СклоненияДоговора[0]);
КонецЕсли;
Иначе
ДоговорНовоеНаименование = ДоговорИсходноеНаименование + " ,"; // совсем не понятно зачем тут нужна запятая
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот