|
импорт txt. Заполнение табличной части документа | ☑ | ||
---|---|---|---|---|
0
jojojoba2
05.05.20
✎
16:09
|
Добрый день!
Помогите разобраться новичку. Создал обработку импорта TXT файла: ------------------------------------------------------------------------------------- Мобильный = ЭтотОбъект.Номера.Найти(,"НомерТелефона"); Если ПустаяСтрока(Мобильный.НомерТелефона) Тогда СтрТаб = ЭтотОбъект.Номера.Добавить(); СтрТаб.НомерТелефона = Тел; СтрТаб.НомерКонтракта = Контракт; СтрТаб.ТарифнийПлан = Тариф; АбонплатаПдв = Абонплата*0.2; АбонплатаСПдв = АбонплатаПдв+ Абонплата; СтрТаб.Абонплата = АбонплатаСПдв; СтрТаб.Скидка = ЗНИЖКИ ; СтрТаб.ТекСумма = ТекСумма; ТекСуммаПДВ = ТекСумма*0.2; ТекСуммаСПДВ = +ТекСуммаПДВ+ТекСумма; СтрТаб.ТекСуммаСПДВ = ТекСуммаСПДВ; КонецЕсли; Контракт=""; Тел=""; Пакет=""; Тариф=0; Абонплата = 0; ЗНИЖКИ = 0; Загалом=0; КонецЕсли; КонецЦикла; ЭтотОбъект.СуммаИтого = СуммаБезПДВ2; ЭтотОбъект.Номер_рахунку =НомерРахунку; ЭтотОбъект.ОсобовийРахунок = ОсобовийРахунок; ЭтотОбъект.Организация = Организация2 ; ЭтотОбъект.СуммаСПдв =СуммаСПДВ2; ЭтотОбъект.Примечание =НомерРахункуРозрах+" "+РозрахунковийПеріод; Для Каждого ТабСтр из ЭтотОбъект.Номера Цикл СправМоб = Справочники.МобильныеНомераСотрудников.СоздатьЭлемент(); Если Справочники.МобильныеНомераСотрудников.НайтиПоНаименованию(ТабСтр.НомерТелефона).Пустая() Тогда СправМоб.Наименование = ТабСтр.НомерТелефона; СправМоб.НомерКонтракта = ТабСтр.НомерКонтракта; СправМоб.ТарифнийПлан = ТабСтр.ТарифнийПлан; СправМоб.Записать(); КонецЕсли ; ---------------------------------------------------------------------------------------------------- Хочу чтобы из TXT файла данные заполнялись в табличную часть если строка с номером(мобильной связи) пустая. Если повторение тогда пропуск. Только новые номера из TXT файла. И чтобы старые данные в табличной части документа оставались кроме колонок абонплата,скидка, СуммаИтого и СуммаСПдв. Вот это не сработало: Если ПустаяСтрока(Мобильный.НомерТелефона) Тогда СтрТаб = ЭтотОбъект.Номера.Добавить(); Вообще не заполняет. Буду рад за любую помощь. Спасибо. |
|||
1
VladZ
05.05.20
✎
16:42
|
(0) Отладчик в руки.
|
|||
2
hhhh
05.05.20
✎
16:55
|
(0) вот первая строка вообще непонятная. Что она делает?
Мобильный = ЭтотОбъект.Номера.Найти(,"НомерТелефона"); |
|||
3
jojojoba2
05.05.20
✎
17:09
|
Мобильный = ЭтотОбъект.Номера.Найти(,"НомерТелефона"); -- это не работает.
Я хочу чтобы в табличную часть заполнялись номера если их нету в ТЧ. Для справочника работает корректно: Для Каждого ТабСтр из ЭтотОбъект.Номера Цикл СправМоб = Справочники.МобильныеНомераСотрудников.СоздатьЭлемент(); Если Справочники.МобильныеНомераСотрудников.НайтиПоНаименованию(ТабСтр.НомерТелефона).Пустая() Тогда СправМоб.Наименование = ТабСтр.НомерТелефона; СправМоб.НомерКонтракта = ТабСтр.НомерКонтракта; СправМоб.ТарифнийПлан = ТабСтр.ТарифнийПлан; СправМоб.Записать(); КонецЕсли ; |
|||
4
onetone
05.05.20
✎
18:26
|
Мобильный = ЭтотОбъект.Номера.Найти(,"НомерТелефона");
А может вместо Найти = НайтиСтроки(Новый Структура(ИмяКолонки, Значение))? |
|||
5
onetone
05.05.20
✎
18:28
|
(4) т.е. Объект.Номера.НайтиСТроки(Новый Структура(ИмяКолонки, Значение));
|
|||
6
onetone
05.05.20
✎
18:33
|
(5) Ну и еще, в колонке, где хранится номер, какой тип данных? Число или строка? Если строка, то длина фикс или переменная?
|
|||
7
jojojoba2
05.05.20
✎
19:56
|
Строка,переменная
|
|||
8
hhhh
05.05.20
✎
20:21
|
(7) ну правильно, это ведь не должно работать
Если ПустаяСтрока(Мобильный.НомерТелефона) Тогда оно и не работает. Откуда там возьмется пустая строка в Мобильный.НомерТелефона ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |