Страницы: 1
RSS
Слетает формат данных отчета из 1С или глюк PQ
 
Всем здравствуйте!
Коротко напишу о проблеме, может кто-то уже сталкивался с подобным.
Формирование некоторых отчетов у меня организовано таким образом:
Есть папка куда выгружаются отчеты из 1с, далее открываю файл с запросами, которые трансформируют эти отчеты
в  таблицы с нужным мне форматом и данными и все это растаскивается по листам с формами в основном обычным ВПР
Казалось бы все хорошо выгрузил в папку нужные отчеты, загрузил файл с запросами обновился и ВСЕ.
Но бывают дни когда один и тот же файл из 1с выгружен в папку как всегда с нужными отборами и настройками, но при обращении к данным появляется пустой столбец в начале данных, которые должны обрабатываться (как бы данные сдвигаются) и соответственно приходится переписывать часть запроса.
Так держу в блокноте 2 варианта с запросами меняя их в зависимости как выгружен файл
Открывал 2 копии из 1с за разные даты,в обоих файлах везде одинаково объединены ячейки, одинаковый набор столбцов, в общем я просмотрел все построчно
отличий не нашел.
Может кто сталкивался с подобным?
Мое видение проблемы, что дело не с PQ, а возможно с разным форматированием данных при выгрузке из 1с (если конечно такое возможно)
Всем благодарен за ответ.  
 
Осталось только показать вашу выгрузку, запрос к ней и показать скриншот с ситуацией когда обнаруживается сдвиг. Тогда станет хоть что-то понятно.
В каком формате сохраняет выгрузки из 1с? xlsx или xls?
Вот горшок пустой, он предмет простой...
 
А не обращали внимание, нет ли скрытого или о-о-о-очень узкого столбца перед выгрузкой? Такое часто бывает и его просто не замечают. А отчет из-за этого начинается со столбца В, а не А. Сказать что-либо конкретное без примера таких двух файлов нельзя. Очистите файлы от основных данных(оставьте только структуру и шапки) и приложите сюда. Тогда будет шанс что-то углядеть.  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Mirdv написал:
Может кто сталкивался с подобным?
Сталкивался с таким, одна и та же настройка одного отчета иногда сбоила и появлялся лишний пустой столбец. Только у меня это был 5 или 6 по счету столбец, из-за чего ВПР так же сползал на 1 столбец. Заметил, что такая фигня возможна только на самописных отчетах 1С (наличие пустых столбцов). На стандартных отчетах 1С всегда нормально выгружается. Решение, либо при каждой выгрузке из 1С визуально обращать на это внимание, либо формулы переписать с помощью ИНДЕКС и ПОИСКПОЗ.
 
Цитата
Vladimir Chebykin написал:
визуально обращать на это внимание
Зачем? Я так понял что ВПРит ТС из таблички, которая является результатом запроса, т.е. ему нужно в запросе просто сделать проверку на наличие пустых столбцов - удалить их, если они имеются и вывести зачищенную таблицу на лист. А дальше зачем-то из этого всего он ВПРит вместо того чтобы тащить все запросами, и в принципе не париться на тему наличия лишних столбцов.
З.Ы. Кстати, можно и без проверки обойтись, а просто заранее составить список нужных столбцов и через Table.SelectColumns оставлять только их. В общем исходник нужен и желаемый результат как всегда.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
просто заранее составить список нужных столбцов и через Table.SelectColumns оставлять только их
+100500
самый оптимальный вариант
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
PooHkrd - файлы, выгружаются в формате "xlsx"
Дмитрий(The_Prist) Щербаков - узкий пустой столбец действительно есть во всех исходниках, я как раз и не могу это понять почему запрос один раз видит впереди пустой столбец, а за другую дату нет
PooHkrd - список столбцов не подходит, потому что часть столбцов называется [Column1], [Column2], [Column3] допустим я запомнил их, но вы же согласитесь, что когда впереди в очередной раз появится пустой столбец на выходе будут уже столбцы [Column2],[Column3], [Column4] или речь про другое?
 
Vladimir Chebykin хоть кто-то подтвердил, что такое имеет место быть, формулы это финальная стадия, у меня запрос перестает работать из-за появления пустого столбца и не выводится сама таблица откуда формулами выбираются данные

в любом случае всем спс за интерес к теме
Изменено: Mirdv - 28.02.2020 15:04:07
 
Цитата
Mirdv написал:
хоть кто-то подтвердил, что такое имеет место быть
Не совсем. Vladimir Chebykin написал:
Цитата
Vladimir Chebykin написал:
одна и та же настройка одного отчета иногда сбоила и появлялся лишний пустой столбец.
Т.е. Владимир написал, что сама 1С один и тот же отчет выгружала по-разному. Вы же пишите, что файлы выгружаются одинаковые, но PQ их по разному видит:
Цитата
Mirdv написал:
узкий пустой столбец действительно есть во всех исходниках, я как раз и не могу это понять почему запрос один раз видит впереди пустой столбец, а за другую дату нет
поэтому просьба приложить оба варианта файлов(один - где PQ нормально все видит, второй - где появляется лишний столбец). Тогда будет о чем говорить.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Не совсем
Судите сами
Цитата
Mirdv написал:
Но бывают дни когда один и тот же файл из 1с выгружен в папку как всегда с нужными отборами и настройками, но при обращении к данным появляется пустой столбец в начале данных, которые должны обрабатываться (как бы данные сдвигаются) и соответственно приходится переписывать часть запроса.
Файлы могу выложить,но не в общий форум, надеюсь на понимание
 
Обезличьте данные в выгрузках, они тут никому не нужны, тут главное это структура источника.
Вот горшок пустой, он предмет простой...
 
PooHkrd, я понял.
файлы на работе, в понедельник прикреплю
 
Цитата
Mirdv написал:
Судите сами
что судить-то? Я написал лишь про то, что проблемы разные: у Вас файлы как Вы говорите выглядят совершенно одинаково после выгрузки 1С и только после отбора появляется что-то лишнее, а у Владимира - по разному(в одном случае выгружается из 1С без столбца, в другом - с ним). Я уж не знаю как иначе донести эту мысль-то до Вас
Цитата
Mirdv написал:
Файлы могу выложить,но не в общий форум, надеюсь на понимание
тоже надеюсь на понимание и правильное прочтение:
Цитата
Дмитрий(The_Prist) Щербаков написал:
Очистите файлы от основных данных(оставьте только структуру и шапки) и приложите сюда
никто не просит Ваши данные - нам структура нужна. И запрос. Вдруг Вы там используете обращение ко всему листу(типа UsedRange) и в одном случае PQ видит его с А1, а в другом - с В1. Такая проблема тоже известна. В этом случае можно в запросе это обыграть попробовать. Правда, это очень непросто - зависит именно от структуры данных. Возможно, придется перед загрузкой данных просто проверять конкретную ячейку на наличие данных. Если их там нет - удалять первый столбец.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Всем, здравствуйте.

В общем в посте #12 я написал, что приложу файлы со структурой.
Увы! Я несколько дней пытался выгрузить хоть какой-то отчет из 1С, чтобы показать проблему.
Любое корректирование данных приводит к "падению" структуры файла.
Ломаются запросы на всех отчетах выгруженных из 1С, и самописных , и не самописных как только какие-то действия выполняются в файле.
Смог решить проблему как описал в посте #5 - ProHD Запрос хорошо работает, если появляются пустые столбцы в любом месте, кроме первого
Если столбец первый пустой запрос - "падает" , приходится корректировать запрос .Как обойти это самостоятельно решение пока не придумал.

P.s. запрос падает на этой строчке если что
Цитата
Table.SelectRows(Источник, each [Column1]="Склад")
 
Цитата
Mirdv написал:
запрос падает
с какой именно ошибкой?
F1 творит чудеса
 
Максим, здравствуйте!
Увидел ваше сообщение уже дома

попровал проделать дома, что и на работе
удивительно, но при внесении изменений в исходный файл (на который ссылаюсь запросом) после обновления не добавляется впереди пустой столбец
но вылетает такая ошибка [Expression.Error]Элементов в перечислении было не достаточно для выполнения операции
Изменено: Mirdv - 06.03.2020 21:37:46
 
Всем, добрый день.
Во вложении  два файла:
некоторая выгрузка из 1С (файл Подотчет.xlsx)
И сам запрос, который ссылается на файл Подотчет (файл пример)
эта часть запроса Пользовательская1 = Table.SelectRows(chgtype, each параметр="Фил")
возвращает пустую таблицу
Параметр - это запись, я не знаю как передать для Table.SelectRows значение параметр как столбец.
Пробовал такое "["&параметр&"]" - тоже пустая таблица
Подскажите, пожалуйста, как надо?
Благодарю
 
Mirdv, где в вашем вопросе хоть что-то про 1С? Модераторы могут помощь в этой теме скрыть. Создайте новую тему, если она является логическим продолжением этой, то дайте на неё ссылку, если вы считаете что помогающим это поможет.
Вот горшок пустой, он предмет простой...
 
PooHkrd,
я в курсе, что модераторы могут все!
Повторюсь, я прикрепил 2 файла "подотчет" и "пример"
Подотчет есть выгрузка из 1с, файл пример содержит запрос, который ссылается на файл Подотчет
К теме отношение имеет самое прямое, так как я отредактировал выгрузку из 1с (подотчет), то в запросе (файл пример) автоматически добавился пустой столбец.
В не откорректированном файле этот же запрос не возвращает пустой столбец, хотя визуально он есть как вы его можете наблюдать просто открыв файл подотчет
Не откорректированный файл приложить не могу, чтобы вы убедились, что это именно так
 
Это все прекрасно, но из вашего кода не очень понятно что нужно получить на выходе? Убрать пустые столбцы заранее не зная есть они или их нет?
Вот горшок пустой, он предмет простой...
 
PooHkrd, я прошу прощения
Я сделал отдельную тему
 
Ответил. И вот при чем там 1С?  ;)
Вот горшок пустой, он предмет простой...
 
PooHkrd, я вам тоже ответил в новой теме

А тема все та же , с файлом работают несколько человек. Каждый выгружает из 1С свои данные в файл. После этого обновляются запросы
Иногда все проходит гладко, а иногда запросы ломаются из-за того, что добавляется пустой столбец.
Теперь мне кажется я смогу решить эту задачу
Еще раз спс
Изменено: Mirdv - 30.03.2020 17:22:54
 
Если что вам на заметку:
Код
//Функция, которая автоматически находит и удаляет из таблицы все пустые столбцы, названия столбцов при этом не сохраняются, если таких нет, то ничего не меняется.
FnRemoveEmptyColumns = (tab as table) =>
    Table.FromColumns( List.RemoveNulls( List.Transform( Table.ToColumns( tab ), each if List.RemoveNulls(_)={} then null else _ ) ) )
Изменено: PooHkrd - 30.03.2020 17:34:51
Вот горшок пустой, он предмет простой...
 
PooHkrd,
Премного Благодарен за функцию
Вечером после работы обязательно попробую ее применить

в общем функцию я прикрутить не смог, просто потому, что я не понимаю как это сделать
а вот эта часть отработала отлично  
Table.FromColumns( List.RemoveNulls( List.Transform( Table.ToColumns( Источник), each if List.RemoveNulls(_)={} then null else _ ) ) )
Изменено: Mirdv - 30.03.2020 18:23:25
Страницы: 1
Наверх