Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0
Как записать мне дальше из массива элементы в таблицу значений. Наведите пример. Заранее благодарен. Мне нужно три ТаблицыЗначений и в них по разным условием записывать. Не могу понять принцып роботы &НАКлиенте на &НАСервере
Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель) МассивСтрок = Новый Массив(); ДлинаРазделителя = СтрДлина(Разделитель); Пока Истина Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; НовСтр = СокрЛП(Лев(Стр,Поз-1)); Если НовСтр "" Тогда МассивСтрок.Добавить(НовСтр); Стр = Сред(Стр,Поз+ДлинаРазделителя); Иначе Стр = Сред(Стр,Поз+ДлинаРазделителя); КонецЕсли; КонецЦикла; Возврат МассивСтрок; КонецФункции
Процедура ПрочитатьСтроку() Для і = 1 По ТекстДок.КоличествоСтрок() Цикл Стр = СокрЛП(ТекстДок.ПолучитьСтроку(і)); Если Стр = "" Тогда Продолжить; КонецЕсли; Массив = РазложитьСтрокуВМассивПодстрок(Стр,","); КонецЦикла; КонецПроцедуры
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0
Цитата(logist @ 14.04.13, 19:23)
Если это обычной приложение, то прич чем тут КЛиент/Сервер? Если это управляемое, то мало данных.
Извиняюсь управляемый интерфейс. Например имею текстовой файл в котором если встречаю строки "ПОСЛУГИ, НАДАНІ ЗА МЕЖАМИ ПАКЕТА:",4.2 Тогда разделяю строку через запетую и заношу в массив, и потом нужно записать в ТаблицуЗначений1 И дальше в цикле пишу в туже ТЗ1 А дальше если нахожу такою строку ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:,298.17 Заношу в массив через розделитель и записываю в ТаблицуЗначений2
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0
Есть текстовый файл с строками: ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:,298.17 Знижка "Вдвічі більше безкоштовного спілкування",0.00 Вихідні дзвінки абонентам інших мобільних операторів,,,27.05 Вихідні дзвінки послуги 'MTS International',,,0.00
&НаКлиенте Процедура ПрочитатьСтроку() Для і = 1 По ТекстДок.КоличествоСтрок() Цикл МассивСтрок = Новый Массив(); Стр = СокрЛП(ТекстДок.ПолучитьСтроку(і)); Если Стр = "" Тогда Продолжить; КонецЕсли; МассивСтрок = РазложитьСтрокуВМассивПодстрок(Стр,","); КонецЦикла; КонецПроцедуры
Как мне первою и вторую строку записать в ТаблицуЗначений1,третью записать в ТаблицуЗначений2,а четвертую ТаблицуЗначений3.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Как-то так, хотя про ТЗ вы мне так и не ответили, т.к. это УП надо понимать где они находятся, в данном коде я подразумевал, что он выполняется в модуле формы, и ТЗ являются реквизитами формы.
&НаСервереБезКонтекста Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",") Результат = Новый Массив;
Если ПустаяСтрока(Строка) Тогда Если Разделитель = " " Тогда Результат.Добавить(""); КонецЕсли; Возврат Результат; КонецЕсли;
Позиция = Найти(Строка, Разделитель); Пока Позиция > 0 Цикл Подстрока = Лев(Строка, Позиция - 1); Если Не ПустаяСтрока(Подстрока) Тогда Результат.Добавить(Подстрока); КонецЕсли; Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); Позиция = Найти(Строка, Разделитель); КонецЦикла;
Если Не ПустаяСтрока(Строка) Тогда Результат.Добавить(Строка); КонецЕсли;
Возврат Результат; КонецФункции
&НаСервере Процедура ПрочитатьФайлСервер() Для ИндексСтроки = 1 По ТекстДок.КоличествоСтрок() Цикл Строка = СокрЛП(ТекстДок.ПолучитьСтроку(ИндексСтроки)); Если ПустаяСтрока(Строка) Тогда Продолжить; КонецЕсли; Массив = РазложитьСтрокуВМассивПодстрок(Строка,","); Если ИндексСтроки = 1 Или ИндексСтроки = 2 Тогда НоваяСтрокаТаблицы1 = Таблица1.Добавить(); // заполнение строк ТЗ1 ИначеЕсли ИндексСтроки = 3 Тогда НоваяСтрокаТаблицы2 = Таблица2.Добавить(); // заполнение строк ТЗ2 ИначеЕсли ИндексСтроки = 4 Тогда НоваяСтрокаТаблицы3 = Таблица3.Добавить(); // заполнение строк ТЗ3 КонецЕсли; КонецЦикла; КонецПроцедуры
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!