Сохранить список в документе
28.02.2005
13:42
#1
Дописываю базу "Предприниматель" под себя. Создал документ где будет вноситься заказ клиента. Вот только немогу разобраться как можно сделать так, чтобы внести несколько номеров телефонов. Естественно переменных столько не запланировать, а табличная часть уже используется под виды заказов.
28.02.2005
13:57
#2
"Доброго времени суток !!!<br><br><br><br>Первое, что сразу приходит на ум - делаешь один реквизит типа "строка"; длина - неограничено, и туды записываешь все телефоны, скажем, разделённые символом ";" или ещё каким.<br><br>В форме для этого можно таблицу значений использовать (создать новую), а при добавлении или вообще при изменении таблицы, просто в строку перегоняешь всё. и обратно так же. <br><br>"
01.03.2005
08:32
#3
"Спасибо. Идея неплохая. Вот только 2-а нюанса. Чтобы сохранять значения в таблице (табличная часть уже занята) нужно выгружать в файл и при открытии востонавливать из файла. Это получается, что нужно для каждого документа создавать файл
<br><br><br><br>А если возможность применять разделение? Т.е. если ставить разделитель ";" и потом переносить из строковой части в табличную при помощи данной команды. Впринципе это самое простое решение."

01.03.2005
09:01
#4
Я бы телефоны хранила не в документе, а справочнике клиентов. А вывести их в документ-заказ - это уже дело техники.
01.03.2005
09:01
#5
"Хм. Если прочитать то, что я написал ранее, то нюанс 1, отпадает...<br><br>В документе таблица для реквизитов - одно, А кто мешает вставить туда другую - новую ??? Я об этом писал...<br><br>Зачем делать файл? есть реквизит - строка - туда и пиши всё...<br><br><br><br>Что-нить типа того получится:<br><br><br><br>стр_номеров = """"; //Реквизит документа<br><br>Тел.ВыбратьСтроки();<br><br>Пока тел.получитьСтроку() = 1 цикл<br><br> стр_номеров = стр_номеров + тел.номер + ";";<br><br>КонецЦикла;<br><br><br><br>Ну а скажем, обратно.<br><br><br><br>Тел.Очистить();<br><br>стр = стр_номеров;<br><br>пока СтрДлина(стр) > 0 цикл<br><br> врем = лев(стр, Найти(стр, ";") - 1);<br><br> если СтрДлина(врем) > 0 тогда // На всякий случай. вдруг пустая строка попадётся<br><br> Тел.НоваяСтрока();<br><br> Тел.номер = врем;<br><br> КонецЕсли;<br><br> стр = Прав(стр, СтрДлина(стр) - Найти(стр, ";") - 1); <br><br>КонецЦикла;<br><br><br><br>//----------------------------------<br><br>Тел - таблица значений в форме. (Меню->Вставить->Таблица Значений)<br><br>При открытии документа нужно сделать(Тел.НоваяКолонка("номер", строка, 16))<br><br><br><br>Ну, а уж кнопочки на форме для добавления/удаления номеров - просто <br><br>"
Читают тему
(гостей: 1)