|
v7: Непонятки с датой документа при экспорте с ексель |
☑ |
0
uno-group
30.07.20
✎
09:13
|
7.7 дбф. Все работало как часы. Изменился клиент банк. екселевский файл экспорта тот же только с другим именем поменял имя файла.
файл стал экспортироваться. Пишет успешно загружен, но документа в базе не видно. Нашел его в самом начале журнала. В журнале отображается правильная дата
29.07.20 потом идут документы 98 года. Если документ открыть и записать интерактивно он располагается в журнале в нужном месте.
если документ очистить и перезагрузить банк по программно он находится и перезаполняеться.
то есть вот такой код его прекрасно находит
нашли=0;
Док.ВыбратьДокументы(ТекДата,ТекДата);
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.РСчет = ВыбСчет Тогда
Нашли=1;
Прервать;
КонецЕсли;
КонецЦикла;
А вот глПроверкаДатыДок работае неадекватно
Если ДатаДок > Константа.ДатаЗапретаРедактирования Тогда
Возврат;
КонецЕсли;
Если РежимСтр = "открытие" Тогда
// открываем форму
Конт.Форма.ТолькоПросмотр(1);
Предупреждение("Запрещено редактирование документов (операций), "+РазделительСтрок+"введенных по "+Формат(Константа.ДатаЗапретаРедактирования,"ДДДММММГГГГ")+" !",4);
Выскакиваете предупреждение о запрете редактирование документа. Хотя в отладчике показывает то кое значение переменных
Конт.ДатаДок = '29.07.20'
ДатаДок = '29.07.20'
Константа.ДатаЗапретаРедактирования = '01.01.17'
Базу переиндексировал. Год начала столетия 1960.
|
|
1
Saval1986
30.07.20
✎
09:18
|
А эксель не обновлялся? Попробуйте подсовывать 1с всегда 4-хзначную дату.
|
|
2
Saval1986
30.07.20
✎
09:19
|
Как вариант можно попробовать checkdb сделать
|
|
3
uno-group
30.07.20
✎
09:22
|
В журнале если его просто открыть и выставить период видимости этого документа нет. А вот если найти его по номеру то он находиться и появляется в самом верху. Сперва подумал на индексы переиндексировался но тоже самое 3 день та же самая история.
Дата документа читается так
дат=СокрЛП(НашЛист.Cells(i,16).Value);
День=Сред(Дат,1,2);
Мес=Сред(Дат,4,2);
год=Сред(Дат,7,4);
Тз.Дата=Дата(год,мес,день);
потом
ТекДата=Тз.Дата;
Док.ДатаДок=Дата(ТекДата);
|
|
4
Ёпрст
гуру
30.07.20
✎
09:24
|
(0) 1920 год поди, да ?
|
|
5
Ёпрст
гуру
30.07.20
✎
09:25
|
в сервис-параметры выстави отображение года 4 знаками и сымотри, чего там
|
|
6
Злопчинский
30.07.20
✎
09:26
|
В настройках 1С самой выставить чтобы показывало даты 4-я цифрами, после этого - смотреть что куда попало, а не гадать.
ну и
год=Сред(Дат,7,4); - не гарантирует что получишь 4 цифры если вэлью типа 01.01.20 - год = "20"
|
|
7
uno-group
30.07.20
✎
09:39
|
включил показывать 4 цифры таки да 0020.
хотя в экселе дата отображается как 29.07.2020.
Всем спасибо поборол.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой