7.7 Загрузка КБК из Excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Timoha, 13 апр 2010.

  1. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Пример:
    Код:
    спр=создатьобъект("Справочник.НазваниеСправочника");
    спр.Удалить(<?>)
    
    
    Ну а на счет пустых сделай проверку на нужные реквизиты.
  2. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Типо так?

    Процедура кнопка()

    спр=СоздатьОбъект("Справочник.Номенклатура");

    ПустаяСтрока(спр.РЕКВИЗИТ);

    спр.РЕКВИЗИТ.Удалить(1);




    КонецПроцедуры
  3. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Ну если организовать поиск по справочнику то
    Код:
    спр=СоздатьОбъект("Справочник.Номенклатура");
    спр.выбратьэлементы();
    пока спр.получитьэлемент()=1 цикл
    Если ПустаяСтрока(спр.текущийэлемент.РЕКВИЗИТ);//только для строкового выражения
    спр.текущийэлемент.Удалить(1);
    КонецЕсли;
    КонецЦикла;
    


    Лучше используй метод
    Код:
    ПустоеЗначение()
    
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А если по уму, то их не надо загружать. Т.е. такая проверка должна быть при загрузке.
  5. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Как сделать проверку на пустое значение реквизитов при загрузке? :unsure: :smile: :aua: :vis: :D
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Перед тем как сделать
    Спр.Записать()
    сделать проверку
    ПустоеЗначение(Спр.[НужныйРеквизит])

    Типа так:
    Код:
    Если (ПустоеЗначение(Спр.[НужныйРеквизит1]) = 0) и
    (ПустоеЗначение(Спр.[НужныйРеквизит2]) = 0) и
    // ....
    (ПустоеЗначение(Спр.[НужныйРеквизитN]) = 0) Тогда
    Спр.Записать();
    КонецЕсли;
    
  7. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Cпасибо, после делфи голова пухнет от 1с
  8. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Появилась новая проблемка :-(
    Существуют 2 справочника:
    1)KBK с реквизитами Кбк, код, название;
    2)Налогоплательщики с реквизитами ИНН, КПП, Наименование, Дата, КБК, Сумма.
    Как сделать чтоб в отчете сверялся кбк с 1 справочника со 2, и если совпадает выдывал соответствующую информацию из 2 справочника (т.е. ИНН, КПП, Наименование, Дата, КБК, Сумма).
    Помогите плис...
  9. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    ну это жесть совсем, даже не знаю - реально ли такое в семерке замутить
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Есть 2 варианта
    1) Перебор элементов в цикле (даже обсуждать не буду - долго на больших объемах и не красиво)
    2) Через запрос.
    Замутить общий запрос одновременно к 2м справочникам вряд-ли получится, а вот через 2 запроса - легко.

    Как надо:
    1) Формируем 2 запроса к справочникам (кбк и налогоплательщик. У второго в запросе должна быть группировка по ТекущемуЭлементу и КБК)
    2) В цикле выводим первый запрос по КБК
    Вложенный цикл по воторому запросу:
    Код:
    Таб.ВывестиСекцию("КБК");//выводим КБК из Запроса1
    Запрос2.вНачалоВыборки();
    Пока Запрос2.Группировка("КБК")=1 Цикл
    Если Запрос1.КБК=Запрос2.КБК Тогда
    //это то что нам надо! Через Запрос2 можно дотянуться до 
    //всех остальных реквизитов которые нужны в отчете
    КонецЕсли;
    КонецЦикла;
    
    
    Это пример вывода ВСЕХ КБК (будут выведены даже те, которые не выбраны ни у одного налогоплательщика.
    Если нужно показать только те КБК которые задействованы - первый запрос (по КБК) не нужен вообще.
  11. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Очен благодарен, буду пробовать :unsure:
  12. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Если не трудно, сформируйте код без 1 запроса, а то не совсем понятно как он будет без него выглядеть...
  13. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Без итогов;
    |ТекущийЭлемент = Справочник.Контрагенты.ТекущийЭлемент;
    |КБК= Справочник.Контрагенты.КБК;
    |Группировка КБК без групп;
    |Группировка ТекущийЭлемент;
    |"//}}ЗАПРОС;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка() = 1 Цикл
    // Заполнение полей Сформировать
    Таб.ВывестиСекцию("Сформировать");
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
    КонецПроцедуры
    
    
    
  14. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    и снова Большое спасибо! :unsure:
  15. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Ну это просто вывод кбк с 1 справочника, вопрос остался :unsure: :smile: :aua: :vis: :D
    Как сделать чтоб в отчете сверялся кбк с 1 справочника со 2, и если совпадает выдывал соответствующую информацию из 2 справочника (т.е. ИНН, КПП, Наименование, Дата, КБК, Сумма).
    Что в этот отчет дописать?
  16. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ны просто не озвучил какая конфа - поэтому пример из головы.

    У тебя есть Налогоплательщик. У него есть реквизит КБК (это справочник). У справочника КБК есть КОД. Вот для того чтобы получить код (или наименование) замени в запросе
    Код:
    |КБК= Справочник.Контрагенты.КБК
    //на
    |КБК= Справочник.Контрагенты.КБК.Код
    //или
    |КБК= Справочник.Контрагенты.КБК.Наименование
    
    
    
  17. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    А это для чего? Напишите плис примерный код чтоб в отчете сверялся кбк со справочника "СПР1" со справочником "СПР2", и если совпадает выдывал информацию из справочника "СПР2" по данному КБК (Дату, сумму, кбк, налогоплательщика)
  18. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Давайте сделаем проще. Выложите МДшник в какой-либо файлообменник, а сюда ссылку на него. Я гляну - чем смогу, помогу. Иначе не зная структуры вашей конфы мы еще неделю с вами будем играть в угадайку
  19. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Обычная структра, я учусь просто реализовывать свои мысли в 1с.
    Объяснил же, конфу... щас еще раз изложу:
    Существуют 2 справочника, допустим первый - СПР1 (Реквизиты - Дата, КБК, Налогоплательщик, ИНН, сумма) второй - СПР2 (реквизиты - КБК, Код, Наименование).
    Вопрос состоит в том чтоб в отчете сверялся кбк со справочника "СПР2" со справочником "СПР1", и если совпадает выдывал информацию из справочника "СПР1" по данному КБК (Дату, сумму, кбк, ИНН, налогоплательщика)
  20. TopicStarter Overlay
    Timoha
    Offline

    Timoha

    Регистрация:
    13 апр 2010
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Вот допустим эти справочники

    Вложения:

    • СПР1.jpg
      СПР1.jpg
      Размер файла:
      53,5 КБ
      Просмотров:
      15
    • СПР2.jpg
      СПР2.jpg
      Размер файла:
      49,6 КБ
      Просмотров:
      17
Похожие темы
  1. Snickbw
    Ответов:
    2
    Просмотров:
    807
  2. Ivan2014
    Ответов:
    12
    Просмотров:
    1.939
Загрузка...

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