Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Записать из массива в ТЗ          
mavrik Подменю пользователя
сообщение 14.04.13, 18:15
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

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

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



 ! 

Правила, п.3,9
 


Сообщение отредактировал logist - 14.04.13, 18:46

logist Подменю пользователя
сообщение 14.04.13, 18:23
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(mavrik @ 14.04.13, 18:15) *
Не могу понять принцып роботы &НАКлиенте на &НАСервере

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

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



Signature
Личные бесплатные консультации не даю, для этого есть форум!

mavrik Подменю пользователя
сообщение 14.04.13, 18:40
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

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

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

logist Подменю пользователя
сообщение 14.04.13, 18:50
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Я так и не увидел, а проблема в чем? В УП работа с файлами и ТЗ выполняется только НаСервере.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

mavrik Подменю пользователя
сообщение 14.04.13, 18:55
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(logist @ 14.04.13, 19:50) *
Я так и не увидел, а проблема в чем? В УП работа с файлами и ТЗ выполняется только НаСервере.

Напишите пример Как передать массив в процедура НАСервере,Об

logist Подменю пользователя
сообщение 14.04.13, 19:04
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(mavrik @ 14.04.13, 18:55) *
Напишите пример Как передать массив в процедура НАСервере,Об

Откуда передать? Опишите всю ситуацию, задавать встречные вопросы у меня больше нет желания.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

mavrik Подменю пользователя
сообщение 14.04.13, 19:33
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

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

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


Как мне первою и вторую строку записать в ТаблицуЗначений1,третью записать в ТаблицуЗначений2,а четвертую ТаблицуЗначений3.

logist Подменю пользователя
сообщение 14.04.13, 20:28
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

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

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

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

&НаКлиенте
Процедура ПрочитатьФайл(Команда)
    ПрочитатьФайлСервер();
КонецПроцедуры


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: mavrik,

mavrik Подменю пользователя
сообщение 14.04.13, 20:50
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 120
Из: Украина
Спасибо сказали: 2 раз
Рейтинг: 0

Я хочу записать в ТЗ чтоб потов выгрузить в Табличную Часть документа, Спасибо и на этом

logist Подменю пользователя
сообщение 14.04.13, 21:05
Сообщение #10

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(mavrik @ 14.04.13, 20:50) *
Я хочу записать в ТЗ чтоб потов выгрузить в Табличную Часть документа

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

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 14:56
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!