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

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

А_Ярик

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

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

Вложения

  • Пример.rbase
    21.3 KB · Просмотры: 6

Vladimir

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

Vladimir

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

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

А_Ярик

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

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

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

Вложения

  • Перечень сдаваемого оборудования.pdf
    196.8 KB · Просмотры: 4

Vladimir

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

А_Ярик

Посетитель
Проект большой, поэтому оставил только то, что касается затрагиваемого вопроса.
 

Вложения

  • Аренда оборудования.rbase
    358.2 KB · Просмотры: 7

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
Попробовал так сделать , строчка исчезает в соответствии с функцией, но почему то не у исчезает нумерация
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу