7.7 Выгрузка в 1С бух

Тема в разделе "Обмен данными в "1С:Предприятие 7.7"", создана пользователем egorkin, 28 мар 2011.

  1. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    Добрый день, уважаемые! помогите разобраться в проблеме. Стоит 1С Е-фарма, начинаю выгружать данные в 1С бух пишет "Отдел не найден: а/п "Гостиница"
    Выгрузка данных завершена!" если в параметрах указать выгрузку данных на данный отдел, то процедуру прохолит успешно. Подскажите как наладить систему чтобы видел отдел?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте на форме задать параметны и сохранить штатными средствами
  3. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    Немного не понятен ответ. куда именно надо лесть? В этой форме что на рисунке?

    Вложения:

    • 1_с.bmp
      Размер файла:
      731,6 КБ
      Просмотров:
      47
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да. Вторая кнопка формы вверху слева
  5. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    Данное средство не помогло... Давние работники бухгалтерии говорят, что специалист по 1С в конфигураторе что-то прописывал по отделам (т.е. по выгрузки я понимаю).
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Чтобы понять нужно анализировать МДшник (если выгрузка встроена внутрь конфигурации) или ERTешку (если выгрузка реализована через внешний отчет). Скиньте.... Ну или можно глянуть удаленно через TreamViewer
  7. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    через внешний отчет. вроде там по образцу надо добавить. Подскажите

    Вложения:

  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте процедуру ПриОткрытии подправить таким образом:

    Код:
    Процедура ПриОткрытии()
    
    НачальнаяИнициализация();
    
    //	Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
    
    //	    СЗ = Форма.Параметр;
    //		ФормДатаНач = СЗ.Получить("ФормДатаНач");
    //		ФормДатаКон = СЗ.Получить("ФормДатаКон");
    //		ФормИмяФайлаДанных = СЗ.Получить("ФормИмяФайлаДанных");
    //		ФормЮрЛицо = СЗ.Получить("ФормЮрЛицо");
    //		Периодичность.ТекущаяСтрока(Число(СЗ.Получить("Периодичность")));
    //		ФормНомерЖурнала = СЗ.Получить("ФормНомерЖурнала");
    //		ФормВыгружатьПроводки = СЗ.Получить("ФормВыгружатьПроводки");
    //		ВыгружатьКнигуПродаж = СЗ.Получить("ВыгружатьКнигуПродаж");
    //		ВыгружатьКнигуПокупок = СЗ.Получить("ВыгружатьКнигуПокупок");
    //		ВыгружатьКассовыеОрдера = СЗ.Получить("ВыгружатьКассовыеОрдера");
    //		НомерРелиза.ТекущаяСтрока(Число(СЗ.Получить("НомерРелиза")));
    
    //		ВыгрузитьНаборДанных();
    
    //	Иначе
    
    Если ПустоеЗначение(ФормДатаНач) > 0 Тогда
    
    ФормДатаНач	= РабочаяДата();
    
    КонецЕсли;
    
    Если ПустоеЗначение(ФормДатаКон) > 0 Тогда
    
    ФормДатаКон	= РабочаяДата();
    
    КонецЕсли;
    
    НомерРелиза.ТекущаяСтрока(2);
    
    //	КонецЕсли;
    
    КонецПроцедуры		//	ПриОткрытии()
    
    
    В этом случае программа запомнит установки которые вы ей задали.
    Судя по коду какие-то параметры передаются из самой конфы... Без МДшника невозможно сказать что/где подправить
  9. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    //---- Создаем проводки операции ----------------------------------------
    Код:
    	
    Таб.ВыбратьСтроки();
    Пока Таб.ПолучитьСтроку() = 1 Цикл
    
    СчетДт	=	СокрЛП(Таб.СчетД);
    Если СчетДт = "41.14" Тогда
    СубконтоД2 = СокрЛП(Таб.СубконтоД2.Наименование);
    Если (СубконтоД2 = "Отдел запасов") <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/или')">или			</span>(СубконтоД2 = "Склад") Тогда
    Продолжить;
    ИначеЕсли (СубконтоД2 = "а/п ""Дежурный""") или (СубконтоД2 = "а/п ""Дежурный"" (Н)") или (СубконтоД2 = "Аптека ""Отдел готовых лекарственных форм""") Тогда
    СчетДт	=	"41.11";
    ИначеЕсли СубконтоД2 = "а/п ""Приокский""" Тогда
    СчетДт	=	"41.12";
    ...
    ИначеЕсли СубконтоД2 = "а/п ""Гостиница""" Тогда
    СчетДт	=	"41.28";
    
    Иначе
    Сообщить("Отдел не найден: " + СубконтоД2);
    КонецЕсли;
    ИначеЕсли (СчетДт	=	"41.1") Тогда
    СубконтоД2 = Таб.СубконтоД2;
    Если ПустоеЗначение(СубконтоД2) = 0 Тогда
    Если СокрЛП(СубконтоД2.Наименование) = "СКЛАД ОПС" Тогда
    СчетДт	=	"41.2";
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    СчетКт	=	СокрЛП(Таб.СчетК);
    Если СчетКт = "41.14" Тогда
    СубконтоК2 = СокрЛП(Таб.СубконтоК2.Наименование);
    Если (СубконтоК2 = "Отдел запасов") или (СубконтоК2 = "Склад") Тогда
    Продолжить;
    ИначеЕсли (СубконтоК2 = "а/п ""Дежурный""") или 
    //(СубконтоК2 = "а/п ""Дежурный"" (Н)") или 
    (СубконтоК2 = "Аптека ""Отдел готовых лекарственных форм""") Тогда
    СчетКт	=	"41.11";
    ИначеЕсли СубконтоК2 = "а/п ""Приокский""" Тогда
    СчетКт	=	"41.12";
    ...
    
    ИначеЕсли СубконтоК2 = "а/п ""Гостиница""" Тогда
    СчетКт	=	"41.28";
    Иначе
    Сообщить("Отдел не найден: " + СубконтоК2);
    КонецЕсли;
    ИначеЕсли (СчетКт	=	"41.1") Тогда
    СубконтоК2 = Таб.СубконтоК2;
    Если ПустоеЗначение(СубконтоК2) = 0 Тогда
    Если СокрЛП(СубконтоК2.Наименование) = "СКЛАД ОПС" Тогда
    СчетКт	=	"41.2";
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    
    Таким образом я добавил новый отдел. Теперь программа видит отдел и все выгружает без проблем.
    Но теперь при загрзке в бух появляется ошибка следующего рода:

    Начало загрузки: 13:00:44
    Код не уникальный - назначен новый код существующему элементу: <>
    Порядковый номер объекта в файле: 28
    Объект.Записать();
    {Обработка.ЗагрузкаДанных.Форма.Модуль(77)}: Код не уникальный!
    [warn="Внимание!"]
    Пользуемся тегами - уважайте коллег по форуму
    [/warn]
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ассоциация справочников идет по кодам.
    - Сделайте кода одинаковыми вручною (заведите соотвествующие элементы)
    - Или (у вас сбита нумерация в бухгалтерии - удалены лидирующие нули) восстановите нумерацию чтобы 1с автоматом могла создать новый элемент.
  11. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    А подробней можно? В 1С с нуля начинаю...
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Покажите скриншот списка справочника в который происходит загрузка. Если речь идет о 41м счете то это МХ (места хранения)
  13. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    Наконец бухи открыли мне глаза... Оказывается прежде чем загрузить в 1С бух, нужно зайти в сотрудники, переименовать пользователя1, сохранить и пометить на удаление!!! После этой процедуру все идет. Правда при каждой загрузке так приходится. Не понятна причина, может что в базе из которой выгружаю?

    Вложения:

  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Посмотреть вложение 6857
    в таком варианте 1с НИКОГДА не создаст новый элемент автоматически....
    Нумерация должна иметь вид:

    0000001
    0000002
    ......
    0000099
    0000100
    ......

    Или перенумеровывайте (можно использовать обработку) или заводите недостающие элементы ручками
  15. TopicStarter Overlay
    egorkin
    Offline

    egorkin Опытный в 1С

    Регистрация:
    28 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    Руками перебил, первая загрузка прошла. Создался опять пользователь1, при последующей загрузке опять таже ошибка!

    Вложения:

    • 1С_2.JPG
      1С_2.JPG
      Размер файла:
      57,8 КБ
      Просмотров:
      20
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Конечно лучше "пробежаться" отладчиком при загрузке данных... Нужно понять как происходит ассоциация многострадального справочника... Возможно идет тупое сравнение на равенство, а 1с возвращает код справочника дополнный пробелами... Короче - на месте смотреть надо.

Поделиться этой страницей