Не работает функция del при условии в дочернем объекте

Статус
В этой теме нельзя размещать новые ответы.

А_Ярик

Посетитель
Добрый день!

Столкнулся со следующей проблемой. При выгрузке в шаблон в word функция del не работает, если ее использовать при каком либо условии. Например функция должна сработать если поле остается пустым. Пример во вложении.
 

Вложения

Vladimir

Администратор
Команда форума
На данный момент для дочерних списков форм связи, при формировании документов, не работают функции: File() и Del().
Т.е. нельзя произвести вставку данных из другого файла и удалить заданное число символов.
 

Vladimir

Администратор
Команда форума
File() включать не планируем - не можем представить себе ситуацию, где такое может понадобиться.

Приведите пример того, зачем требуется использовать Del() с условием в дочернем списке. Обычно подобные задачи решаются не этой функцией, а функцией String().
 

А_Ярик

Посетитель
Разрабатываю шаблон договора аренды поломоечных машин. По данному договору может передаваться несколько поломоечных машин (количество может быть разное). Каждая такая машина должна иметь индивидуальные признаки (Заводской номер и инвентарный номер). Поломоечная машина может передаваться в разной комплектации, которую так же необходимо прописать в договоре. Это чаще всего аккумуляторные батареи, которые также имеют идентификационные номера. У некоторых машин комплектации может совсем не быть или передаваться одна аккумуляторная батарея.

В рамках конструктора я создал объект и дочерний объект. С помощью основного объекта я заполняю основной договор, а с помощью дочернего объекта я заполняю перечень сдаваемых в аренду поломоечных машин. Функция Del() с условием мне нужна для того, чтобы убрать строчки с комплектацией в случае если комплектации нет(переключатель) или ячейка с инвентарным номером аккумуляторной батареи остается пустой.

Во вложении пример перечня, который идет к договору. Цель свою я достиг и все заполняется как надо, за исключением пустых строк, которые остаются если комплектации нет.
 

Вложения

Vladimir

Администратор
Команда форума
Приложите проект, чтобы видеть, как Вы формируете дочерние списки.
Только тогда можно решить, как сделать так, чтобы не было лишних пробелов.
 

Vladimir

Администратор
Команда форума
В Вашем случае не надо использовать функцию Del с условием в дочернем списке.
В предваряющей функции String надо добавить пробел (или любой другой символ после точки запятой - в примере ниже: подчёркивание), а после неё поставить функцию Del с удалением одного символа, например так:
1.1.1. [String(Уборочная машина.Аккумулярная батарея 1=?:Аккумуляторная батарея, инвентарный номер №)][Уборочная машина.Аккумулярная батарея 1][String(Уборочная машина.Аккумулярная батарея 1=?:-1шт.;_)][Del(-1)]
Если для поля "Уборочная машина.Аккумулярная батарея 1" значения нет, то пункт останется без значения и сработает функция удаления пункта целиком. Если значение есть, то в конце добавится строка "-1шт.;_", а функция удалит ненужный символ.
Результат:
Результат работы функции Del.png
 

Albawarden

Участник
В Вашем случае не надо использовать функцию Del с условием в дочернем списке.
В предваряющей функции String надо добавить пробел (или любой другой символ после точки запятой - в примере ниже: подчёркивание), а после неё поставить функцию Del с удалением одного символа, например так:
1.1.1. [String(Уборочная машина.Аккумулярная батарея 1=?:Аккумуляторная батарея, инвентарный номер №)][Уборочная машина.Аккумулярная батарея 1][String(Уборочная машина.Аккумулярная батарея 1=?:-1шт.;_)][Del(-1)]
Если для поля "Уборочная машина.Аккумулярная батарея 1" значения нет, то пункт останется без значения и сработает функция удаления пункта целиком. Если значение есть, то в конце добавится строка "-1шт.;_", а функция удалит ненужный символ.
Результат:
Посмотреть вложение 1972
Попробовал так сделать , строчка исчезает в соответствии с функцией, но почему то не у исчезает нумерация
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу