|
при выгрузке из 1с в Excel 2013 в ячейке вместо 1300 - 1я300 | ☑ | ||
---|---|---|---|---|
0
Печкин
03.12.13
✎
12:19
|
Добрый день! Выгружаю данные и формирую файл .csv. По отладчику количество 1300 а в выгрузку попадает 1я300. Если 300 то 300. Т.е. если больше 3-х цифр excel добавляет свои знаки чтоли? Никто не сталкивался с этим?
|
|||
1
shuhard
03.12.13
✎
12:21
|
(0) все сталкивались
|
|||
2
Fragster
модератор
03.12.13
✎
12:22
|
я думаю, что дело в том, как автор "формирует файл .csv". Ведь не через ADO же...
|
|||
3
Печкин
03.12.13
✎
12:22
|
И как решался вопрос?
|
|||
4
Печкин
03.12.13
✎
12:22
|
могу код скинуть
|
|||
5
ДенисЧ
03.12.13
✎
12:23
|
(3) А формат применить?
И вообще - глазками глянуть в этот файлик? |
|||
6
Печкин
03.12.13
✎
12:24
|
фрагмент кода:
Для каждого СтрТоваров Из ДокСтрока.ДокуметОтгрузки.Товары Цикл КодТовара = ПеревестиКирилицуВЛатиницу(СокрЛП(СтрТоваров.Номенклатура.Код)); КоличествоМест = СтрТоваров.КоличествоМест; Коэффициент = СтрТоваров.ЕдиницаИзмеренияМест.Коэффициент; ДатаИзготовления=Формат(СтрТоваров.СерияНоменклатуры.ДатаИзготовления,"ДФ=yyyyMMdd"); Если СокрЛП(СтрТоваров.ЕдиницаИзмеренияМест.Наименование) = "блок" Тогда Если Цел(КоличествоМест) = КоличествоМест Тогда СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоМест+";"+"Box"+";"+";"+Символы.ПС; //";"+";" добавил ИначеЕсли Цел(КоличествоМест) = 0 Тогда КоличествоШт = Окр(КоличествоМест * Коэффициент); СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоШт+";"+"PC"+";"+";"+Символы.ПС; Иначе КоличествоМестЦел = Цел(СтрТоваров.КоличествоМест); КоличествоШт = Окр((КоличествоМест - КоличествоМестЦел) * Коэффициент); СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоМестЦел+";"+"Box"+";"+";"+Символы.ПС; СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоШт+";"+"PC"+";"+";"+Символы.ПС; КонецЕсли; ИначеЕсли СокрЛП(СтрТоваров.ЕдиницаИзмеренияМест.Наименование) = "упак" или СокрЛП(СтрТоваров.ЕдиницаИзмеренияМест.Наименование) = "короб" Тогда Если Цел(КоличествоМест) = КоличествоМест Тогда СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоМест+";"+"UPAK"+";"+";"+ДатаИзготовления+Символы.ПС; ИначеЕсли Цел(КоличествоМест) = 0 Тогда КоличествоШт = Окр(КоличествоМест * Коэффициент); СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоШт+";"+"PC"+";"+";"+Символы.ПС; Иначе КоличествоМестЦел = Цел(СтрТоваров.КоличествоМест); КоличествоШт = Окр((КоличествоМест - КоличествоМестЦел) * Коэффициент); СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоМестЦел+";"+"UPAK"+";"+";"+Символы.ПС; СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоШт+";"+"PC"+";"+";"+Символы.ПС; КонецЕсли; ИначеЕсли СокрЛП(СтрТоваров.ЕдиницаИзмеренияМест.Наименование) = "шт" Тогда КоличествоШт = Окр(КоличествоМест * Коэффициент); СтрокаСТоварами = СтрокаСТоварами+"I;"+НомерДок+";"+КодТовара+";"+КоличествоШт+";"+"PC"+";"+";"+Символы.ПС; Иначе Сообщить("Строка "+СтрТоваров.НомерСтроки+" док: "+ДокументыОтгрузки+" НЕ ВЫГРУЖЕНА"); КонецЕсли; КонецЦикла; СтрокаЗаголовока = "H;"+КодФирмы+";"+КодКлиента+";"+НаименованиеКонтрагента+";"+НомерДок+";"+ДатаОтгрузки; ИмяФайла = ФайлВыгрузки+"\order_in"+СокрЛП(НомерДок)+".CSV"; Если Склад = Справочники.Склады.НайтиПоКоду("000000045") Тогда Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.Системная); Иначе Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.OEM); КонецЕсли; Текст.ЗаписатьСтроку(СтрокаЗаголовока+Символы.ПС+СтрокаСТоварами); Текст.Закрыть(); КонецЦикла; |
|||
7
shuhard
03.12.13
✎
12:25
|
(3) форматом, ясен пень
|
|||
8
Печкин
03.12.13
✎
12:27
|
вот так получается:
I E000024967 C0005518 673 UPAK I E000024967 C0005519 674 UPAK I E000024967 C0005517 1я300 UPAK |
|||
9
Мимохожий Однако
03.12.13
✎
12:28
|
традиционно: Отладчиком смотрел?
|
|||
10
Печкин
03.12.13
✎
12:29
|
(9) Смотрел, там 1300
|
|||
11
ДенисЧ
03.12.13
✎
12:30
|
(10) Черепашка.
|
|||
12
goleaff2006
03.12.13
✎
12:39
|
Адназначно формат и укажи в нем группировку.
|
|||
13
Печкин
03.12.13
✎
12:49
|
Всем спасибо. Формат. Получилось.
|
|||
14
Fragster
модератор
03.12.13
✎
12:55
|
НаименованиеКонтрагента = "Привет;Мир" добавит веселья...
|
|||
15
Fragster
модератор
03.12.13
✎
12:56
|
Ну и вот это:
Если Склад = Справочники.Склады.НайтиПоКоду("000000045") Тогда Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.Системная); Иначе Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.OEM); КонецЕсли; я бы заменил на вкряживание ДопСвойства со значениями "Системная" и "OEM" и знчаением по умолчанию |
|||
16
Fragster
модератор
03.12.13
✎
12:58
|
с всякими СокрЛП(СтрТоваров.ЕдиницаИзмеренияМест.Наименование) = "упак" или СокрЛП(СтрТоваров.ЕдиницаИзмеренияМест.Наименование) = "короб"
- пока непонятно, но наверное лучше хардкоденые значения вывести в соответствие в одно место, чем размазывать по ЕСЛИ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |