Здравствуйте. Имеется конфигурация 1С Бухгалтерский учет 7.7 с релизом 7.70.570 (релиз в конкретном случае не так важен), а также имеется другая программа, используемая в аптеке. Наладили выгрузку из этой программы в 1С Бухгалтерию 7.7, но есть небольшая трудность. Система работы такая: из аптекарской программы (будем её так называть) выгружается файл с расширением *.ttx. Потом в 1С БУ 7.7, с помощью созданной обработки, загружается информация из этого файла. Но при загрузке появляется проблема, контрагенты начинают дублироваться. Опытным путем заметили, что, если у контрагента убрать кпп, то дублирования не происходит. Если необходимо (а скорее всего необходимо) скину обработку или код обработки, потому что сам не могу никак додуматься, где надо исправить, чтобы данной проблемы не было. Заранее спасибо за любую полезную информацию.
По теме из базы знаний
- Контроль дублей контрагентов по ИНН, КПП и Наименованию
- Перенос документов из УНФ в Бухгалтерию 3.0
- Перенос/копирование и установка отбора/фильтра/периода при интерактивном переключении или смене варианта отчета/СКД в БСП 3.1 (1C ERP, УТ, БП, ...)
- Книга покупок и продаж с отбором по подразделениям, а также отчет по остаткам и оборотам 76.АВ с разбивкой по подразделениям
- [Расширение] Отбор по организации в форме Безналичные платежи. УТ 11
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) AndrewUs,
Добавляете ее над функцией "НайтиКонтрагента(ИмяСубк,СтрокаПоиска,СтрокаИНН" и строку "|Условие (СокрЛП(ИНН)=СокрЛП(СтрокаИНН))";" в НайтиКонтрагента меняете на "|Условие (ВернутьИНН(СтрокаИНН)=ВернутьИНН(ИНН))";".
Тестируете на пробной базе (копия).
Функция ВернутьИНН(ТекИНН)
Перем ИНН, НомНайдСим;
ИНН=СокрЛП(ТекИНН);
НомНайдСим = Найти(ИНН,"/");
Если НомНайдСим = 0 Тогда
НомНайдСим = Найти(ИНН,"\");
КонецЕсли;
Если НомНайдСим <> 0 Тогда
ИНН = СокрЛП(Лев(ИНН,НомНайдСим - 1));
КонецЕсли;
Возврат ИНН;
КонецФункции
ПоказатьДобавляете ее над функцией "НайтиКонтрагента(ИмяСубк,СтрокаПоиска,СтрокаИНН" и строку "|Условие (СокрЛП(ИНН)=СокрЛП(СтрокаИНН))";" в НайтиКонтрагента меняете на "|Условие (ВернутьИНН(СтрокаИНН)=ВернутьИНН(ИНН))";".
Тестируете на пробной базе (копия).
Можете выслать файл выгрузки хотя бы по одному контрагенту?
и что в карточке этого контрагента в той программе откуда идет выгрузка?
Потому что в обработке идет чисто сравнение двух реквизитов в бух и что пришло.
Надо посмотреть что приходит из источника? может там тоже кпп добавлен но не через / поэтому сравнение неверное и добавляется новый контрагент.
Ну или сами в отладчике можете посмотреть по одному контрагенту Функция НайтиКонтрагента(....) что пришло в 1с бух и что реально в карточке по этому контрагнету.
и что в карточке этого контрагента в той программе откуда идет выгрузка?
Потому что в обработке идет чисто сравнение двух реквизитов в бух и что пришло.
Надо посмотреть что приходит из источника? может там тоже кпп добавлен но не через / поэтому сравнение неверное и добавляется новый контрагент.
Ну или сами в отладчике можете посмотреть по одному контрагенту Функция НайтиКонтрагента(....) что пришло в 1с бух и что реально в карточке по этому контрагнету.
(4) Irken_1, Вам необходимо выслать файл, из которого загружаются данные ... верно?
Вот файл, за январь 2014.
Вот файл, за январь 2014.
Прикрепленные файлы:
trans1.ttx
(9) AndrewUs, может приведете несколько примеров соответствия, какой ИНН указан в файле выгрузки и какой у соответствующего контрагента в справочнике 1С (на всякий случай, файл выгрузки читается например Блокнотом). В файле каждая строка состоит из разделенных запятыми полей. Предпоследнее поле - ИНН (в том виде, в котором он выгружается из внешней программы), последнее - наименование контрагента (тоже из внешней программы).
Соответствие:
Контрагент: Протек 42 /Курск
ИНН в файле: 7724053916\1
ИНН в 1С: ??????????????
Не видя базы, но хотя бы видя примеры, можно будет думать, как сделать "отсечение символов" и поможет ли это.
Соответствие:
Контрагент: Протек 42 /Курск
ИНН в файле: 7724053916\1
ИНН в 1С: ??????????????
Не видя базы, но хотя бы видя примеры, можно будет думать, как сделать "отсечение символов" и поможет ли это.
Андрей, вобщем в вашу задачку можно решить это точно.
Удалять кпп из внешней программы скорей всего некорректно, вы ведь первичку выдаете из нее, а не из 1с?
Вобщем надо понять как инн и кпп сливаются в один реквизит из вашей внешней программы при выгрузке. И далее смотреть как инн вместе с кпп заполнены в 1с.
Удалять кпп из внешней программы скорей всего некорректно, вы ведь первичку выдаете из нее, а не из 1с?
Вобщем надо понять как инн и кпп сливаются в один реквизит из вашей внешней программы при выгрузке. И далее смотреть как инн вместе с кпп заполнены в 1с.
(17) Но "\1" - это никак не КПП. КПП - 9 симолов.
Что значит "начинают дублироваться" ? У дублей ИНН\КПП совпадает полностью ?
Возможно у Вас в аптекарской программе заведены несколько например обособленных подразделения (ИНН одинаковый, КПП разные) одного контрагента.
Тогда надо разобраться - Вы продажу кому производите, договор у Вас с кем ? Нескольким подразделениям или всё-таки некоему "головному", а остальные фактически - только в роли грузополучателя ? В зависимости от этого в бухгалтерской\налоговой отчетности должны фигурировать либо один КПП, либо все.
Вариант с "\1" наводит ещё на мысль, что возможно менеджеры в аптекарской программе сознательно "размножили" контрагентов через \1 \2 \3 , чтобы отделить например разные торговые точки - для своего удобства
Что значит "начинают дублироваться" ? У дублей ИНН\КПП совпадает полностью ?
Возможно у Вас в аптекарской программе заведены несколько например обособленных подразделения (ИНН одинаковый, КПП разные) одного контрагента.
Тогда надо разобраться - Вы продажу кому производите, договор у Вас с кем ? Нескольким подразделениям или всё-таки некоему "головному", а остальные фактически - только в роли грузополучателя ? В зависимости от этого в бухгалтерской\налоговой отчетности должны фигурировать либо один КПП, либо все.
Вариант с "\1" наводит ещё на мысль, что возможно менеджеры в аптекарской программе сознательно "размножили" контрагентов через \1 \2 \3 , чтобы отделить например разные торговые точки - для своего удобства
в этой обработке по загрузке запрос выборка из справочника с условием СокрЛП(ИНН) - из справочника = СокрЛП(ИННВнещнийИсточник)
Вопрос по какому принципу и что сливается в переменную ИНН из аптеки. То что выкладывалось вроде как без КПП, но контрагенты со слэшом это что?
Ждем ответа чтобы что-то уяснить как вырулить с загрузкой.
Вопрос по какому принципу и что сливается в переменную ИНН из аптеки. То что выкладывалось вроде как без КПП, но контрагенты со слэшом это что?
Ждем ответа чтобы что-то уяснить как вырулить с загрузкой.
Но это может работать только в том случае, если строка получаемая из программы-экспортера форматируется аналогично 1с.
Т.е. ИНН\КПП или ИНН\билиберда ИНН/либилерда. При наличии сторонних (прочих не числовых) символов в строке будут ошибки (все это тоже решаемо, но нужно знать ньюансы и не лениться :)).
Т.е. ИНН\КПП или ИНН\билиберда ИНН/либилерда. При наличии сторонних (прочих не числовых) символов в строке будут ошибки (все это тоже решаемо, но нужно знать ньюансы и не лениться :)).
(33) Jill, В третьем и пятом моих сообщениях были файлы, которые можно скачать. Например, продублировался АМП/Воронеж, просто я по этому контрагенту проверяю. Просто, возможно, а скорее всего ошибка, точнее, упущен момент в самой обработке. Хотя, неизвествно, что там не так ... Спасибо, что пытаетесь помочь.
Создал в чистой базе контрагента "ТестКонтр" с ИНН\ОКП "3665012499\555" - операции по "АМП /Воронеж" загрузились на него. Нового АМП не появилось...
Если у Вас обработка выглядит так же (прикрепил ту что пользовал), то нужно смотреть на реальной базе.
И я бы порекомендовал Вам пригласить 1с программиста.
ЗЫ а вообще, ИМХО, импорт очень своеобразно написан. При загрузке больших объемов терпение нужно железное иметь.
Если у Вас обработка выглядит так же (прикрепил ту что пользовал), то нужно смотреть на реальной базе.
И я бы порекомендовал Вам пригласить 1с программиста.
ЗЫ а вообще, ИМХО, импорт очень своеобразно написан. При загрузке больших объемов терпение нужно железное иметь.
Прикрепленные файлы:
Загрузка.ert
(36) AndrewUs, ну да, есть такие кадры, хотя тут сложно судить: такие ТЗ порой интересные раздают, а потом выясняется...
Но как я уже говорил: то что очень "своеобразно" он ее написал, на мой взгляд, это факт.
(37)
Загружать нужно, естественно, до момента задвоения, иначе вся инфа будет грузиться на "первого попавшегося" контрагента с ИНН, совпадающим с ИНН контрагента программы-экспортера.
Флаг "Удалять операции перед загрузкой" удаляет, как это ни странно, только операции - задвоениями не занимается. :)
Но как я уже говорил: то что очень "своеобразно" он ее написал, на мой взгляд, это факт.
(37)
Загружать нужно, естественно, до момента задвоения, иначе вся инфа будет грузиться на "первого попавшегося" контрагента с ИНН, совпадающим с ИНН контрагента программы-экспортера.
Флаг "Удалять операции перед загрузкой" удаляет, как это ни странно, только операции - задвоениями не занимается. :)
(38) Jill, А вот такой вот момент, при загрузке с момента задвоения, при формировании ОСБ по счету, всё с контрагентом хорошо, но появляется ещё одна строка "Основной договор", т.е. идут две строки основного договора ... и приходится перевыбирать основной договор в операции, которая загружалась. Хотя в списке договоров контрагента он там один. Не подхватывается получается основной договор.
(42) AndrewUs, я так понимаю "основной договор для выписок" уже был в базе?
По-поводу необходимости перегрузки выписок ничего сказать не могу - не знаю каким образом они импортируются...
Но оно, на самом деле, не особо важно.
Важно знать что унификация договоров контрагента в обработке загрузки операций происходит по наименованию, т.е. "Основной_договор" и "Основной__договор" не одно и то же.
Нужно сравнить наименования договоров "операций" и "выписок" и устранить несоответствия перед загрузкой операций в 1с, в учетных системах-экспортерах и, при необходимости, в обработках импорта (наименования договоров по умолчанию), если они присутствуют.
По-поводу необходимости перегрузки выписок ничего сказать не могу - не знаю каким образом они импортируются...
Но оно, на самом деле, не особо важно.
Важно знать что унификация договоров контрагента в обработке загрузки операций происходит по наименованию, т.е. "Основной_договор" и "Основной__договор" не одно и то же.
Нужно сравнить наименования договоров "операций" и "выписок" и устранить несоответствия перед загрузкой операций в 1с, в учетных системах-экспортерах и, при необходимости, в обработках импорта (наименования договоров по умолчанию), если они присутствуют.
(43) Jill, Дело в том, что основной договор один у контрагента. И в данном случае вопрос такой, при открытии операций, выгруженных ранее, и перевыборе этого самого основного договора по контрагентам двойные строки пропадают.
А выгрузка выписок идет из обычной системы клиент банка стандартными обработками.
Я так понимаю, что нужно контрагентов посмотреть и в клиент банке на счет договоров?
А выгрузка выписок идет из обычной системы клиент банка стандартными обработками.
Я так понимаю, что нужно контрагентов посмотреть и в клиент банке на счет договоров?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот