Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Записать из массива в ТЗ
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
mavrik
Как записать мне дальше из массива элементы в таблицу значений. Наведите пример. Заранее благодарен. Мне нужно три ТаблицыЗначений и в них по разным условием записывать. Не могу понять принцып роботы &НАКлиенте на &НАСервере
Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель)     
    МассивСтрок = Новый Массив();
    ДлинаРазделителя = СтрДлина(Разделитель);
    Пока Истина Цикл
        Поз = Найти(Стр,Разделитель);
        Если Поз=0 Тогда
            МассивСтрок.Добавить(Стр);
            Возврат МассивСтрок;
        КонецЕсли;
        НовСтр = СокрЛП(Лев(Стр,Поз-1));
        Если НовСтр  "" Тогда
            МассивСтрок.Добавить(НовСтр);
            Стр = Сред(Стр,Поз+ДлинаРазделителя);                
        Иначе
            Стр = Сред(Стр,Поз+ДлинаРазделителя);
        КонецЕсли;
    КонецЦикла;
    Возврат МассивСтрок;
КонецФункции

Процедура ПрочитатьСтроку()
Для і = 1 По ТекстДок.КоличествоСтрок() Цикл
      Стр = СокрЛП(ТекстДок.ПолучитьСтроку(і));
      Если Стр = "" Тогда
           Продолжить;
      КонецЕсли;            
      Массив = РазложитьСтрокуВМассивПодстрок(Стр,",");
КонецЦикла;
КонецПроцедуры



 ! 

Правила, п.3,9
 
logist
Цитата(mavrik @ 14.04.13, 18:15) необходимо зарегистрироваться для просмотра ссылки
Не могу понять принцып роботы &НАКлиенте на &НАСервере

Цитата(mavrik @ 14.04.13, 18:15) необходимо зарегистрироваться для просмотра ссылки
Программисту » 1С Предприятие 8.2 » Обычный интерфейс

Если это обычной приложение, то прич чем тут КЛиент/Сервер?
Если это управляемое, то мало данных.
Цитата(mavrik @ 14.04.13, 18:15) необходимо зарегистрироваться для просмотра ссылки
Мне нужно три ТаблицыЗначений и в них по разным условием записывать

mavrik
Цитата(logist @ 14.04.13, 19:23) необходимо зарегистрироваться для просмотра ссылки
Если это обычной приложение, то прич чем тут КЛиент/Сервер?
Если это управляемое, то мало данных.

Извиняюсь управляемый интерфейс. Например имею текстовой файл в котором если встречаю строки
"ПОСЛУГИ, НАДАНІ ЗА МЕЖАМИ ПАКЕТА:",4.2
Тогда разделяю строку через запетую и заношу в массив, и потом нужно записать в ТаблицуЗначений1
И дальше в цикле пишу в туже ТЗ1
А дальше если нахожу такою строку
ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:,298.17
Заношу в массив через розделитель и записываю в ТаблицуЗначений2
logist
Я так и не увидел, а проблема в чем? В УП работа с файлами и ТЗ выполняется только НаСервере.
mavrik
Цитата(logist @ 14.04.13, 19:50) необходимо зарегистрироваться для просмотра ссылки
Я так и не увидел, а проблема в чем? В УП работа с файлами и ТЗ выполняется только НаСервере.

Напишите пример Как передать массив в процедура НАСервере,Об
logist
Цитата(mavrik @ 14.04.13, 18:55) необходимо зарегистрироваться для просмотра ссылки
Напишите пример Как передать массив в процедура НАСервере,Об

Откуда передать? Опишите всю ситуацию, задавать встречные вопросы у меня больше нет желания.
mavrik
Есть текстовый файл с строками:
ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:,298.17
Знижка "Вдвічі більше безкоштовного спілкування",0.00
Вихідні дзвінки абонентам інших мобільних операторів,,,27.05
Вихідні дзвінки послуги 'MTS International',,,0.00

&НаКлиенте
Процедура ПрочитатьСтроку()
    Для і = 1 По ТекстДок.КоличествоСтрок() Цикл
        МассивСтрок = Новый Массив();
        Стр = СокрЛП(ТекстДок.ПолучитьСтроку(і));
        Если Стр = "" Тогда
            Продолжить;
        КонецЕсли;            
        МассивСтрок = РазложитьСтрокуВМассивПодстрок(Стр,",");
    КонецЦикла;
КонецПроцедуры


Как мне первою и вторую строку записать в ТаблицуЗначений1,третью записать в ТаблицуЗначений2,а четвертую ТаблицуЗначений3.
logist
Как-то так, хотя про ТЗ вы мне так и не ответили, т.к. это УП надо понимать где они находятся, в данном коде я подразумевал, что он выполняется в модуле формы, и ТЗ являются реквизитами формы.

&НаСервереБезКонтекста
Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",")
    Результат = Новый Массив;
    
    Если ПустаяСтрока(Строка) Тогда
        Если Разделитель = " " Тогда
            Результат.Добавить("");
        КонецЕсли;
        Возврат Результат;
    КонецЕсли;
    
    Позиция = Найти(Строка, Разделитель);
    Пока Позиция > 0 Цикл
        Подстрока = Лев(Строка, Позиция - 1);
        Если Не ПустаяСтрока(Подстрока) Тогда
            Результат.Добавить(Подстрока);
        КонецЕсли;
        Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));
        Позиция = Найти(Строка, Разделитель);
    КонецЦикла;
    
    Если Не ПустаяСтрока(Строка) Тогда
        Результат.Добавить(Строка);
    КонецЕсли;
    
    Возврат Результат;
КонецФункции

&НаСервере
Процедура ПрочитатьФайлСервер()
    Для ИндексСтроки = 1 По ТекстДок.КоличествоСтрок() Цикл
        Строка = СокрЛП(ТекстДок.ПолучитьСтроку(ИндексСтроки));
        Если ПустаяСтрока(Строка) Тогда
            Продолжить;
        КонецЕсли;            
        Массив = РазложитьСтрокуВМассивПодстрок(Строка,",");
        Если ИндексСтроки = 1 Или ИндексСтроки = 2 Тогда
            НоваяСтрокаТаблицы1 = Таблица1.Добавить();
            // заполнение строк ТЗ1
        ИначеЕсли ИндексСтроки = 3 Тогда
            НоваяСтрокаТаблицы2 = Таблица2.Добавить();
            // заполнение строк ТЗ2
        ИначеЕсли ИндексСтроки = 4 Тогда
            НоваяСтрокаТаблицы3 = Таблица3.Добавить();
            // заполнение строк ТЗ3
        КонецЕсли;            
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ПрочитатьФайл(Команда)
    ПрочитатьФайлСервер();
КонецПроцедуры
mavrik
Я хочу записать в ТЗ чтоб потов выгрузить в Табличную Часть документа, Спасибо и на этом
logist
Цитата(mavrik @ 14.04.13, 20:50) необходимо зарегистрироваться для просмотра ссылки
Я хочу записать в ТЗ чтоб потов выгрузить в Табличную Часть документа

Ну так записывайте сразу в ТЧ, зачем еще гонять ТЗ, в УП можно на сервере можно работать с ТЧ как с ТЗ, см. РеквизитФормыВЗначение.

p.s. не люблю вот это вытягивание по одному слову, мне больше не интересно отвечать в этой теме.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.