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