7.7 Ошибка в запросе: Переменная описывают различные типы данных

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

  1. TopicStarter Overlay
    phcode
    Offline

    phcode Опытный в 1С

    Регистрация:
    13 апр 2009
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, подскажите как решить проблему в запросе:
    Код:
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Контрагент = Документ.РасходнаяНакладная.Контрагент, Документ.ПриходныйОрдер.Субконто1;
    |ТочкаПокупателя = Документ.РасходнаяНакладная.ТочкаПокупателя, Документ.ПриходныйОрдер.ТочкаПокупателя;
    |Всего = Документ.РасходнаяНакладная.Всего;
    |ВсегоОпл = Документ.ПриходныйОрдер.Сумма;	
    |Функция ВсегоСумма = Сумма(Всего);
    |Функция ВсегоСуммаОпл = Сумма(ВсегоОпл);
    |Группировка ТочкаПокупателя;
    |Условие(Контрагент = ВыбКонтрагент);
    
    ....
    </span>
    ....
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/если')">	Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    Отчет выводит сумму, на которую взяли товар физические лица (ТорговаяТочка) и сколько было оплачено ими через ПриходныйОрдер.


    Дело в том что, в приходном ордере реквизит Субконто1 имеет тип непредельный, но при счете 62,1 - Контрагент. Подскажите,как можно выйти из ситуации...
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
  3. TopicStarter Overlay
    phcode
    Offline

    phcode Опытный в 1С

    Регистрация:
    13 апр 2009
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    А можно поподробней?
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Судя по вопросу вы пытаетесь написать что-то типа акта свреки для бухгалтерии (кстати - он в ней есть) Так не проще ли использовать бухгалтерские итоги Ведь расходная накладная тоже формирует движения по счетам...
  5. TopicStarter Overlay
    phcode
    Offline

    phcode Опытный в 1С

    Регистрация:
    13 апр 2009
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    Бухгалтерский угодник, так и есть. Загвоздка в субконто, у счета 62.1 в плане счетов их два: Контрагенты и Договора.

    Так вот, так повелось если выписывают расходник на физическое лицо, то выбирают Контрагента - Прочие, и ставят Торговую Точку - ФИО физ.лица купившего в розницу товар.
    (торговая точка, подчинен справочнику контрагенты)
    Перед до мной и стоит задача, организовать что типа акта сверки, для выявление задолженности...
    Если через бухгалтерские итоги то, надо создавать третье субконто, а хотелось бы обойтись без вмешательства в план счетов.
  6. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Если хочешь сделать это через запрос, то в тексте запроса используй две переменные для контрагентов, а когда проходишь по группировке, подбирай значение из нужной.
  7. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    А расходная накладная торгда как отписывается?
  8. TopicStarter Overlay
    phcode
    Offline

    phcode Опытный в 1С

    Регистрация:
    13 апр 2009
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    Всем большое спасибо за помощь, все сделал.
  9. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну так покажи хоть что получилось... интересно все же :angry:
  10. TopicStarter Overlay
    phcode
    Offline

    phcode Опытный в 1С

    Регистрация:
    13 апр 2009
    Сообщения:
    68
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура Сформировать()
    
    Перем Запрос, ТекстЗапроса, Таб;
    
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Контрагент = Документ.РасходнаяНакладная.Контрагент;
    |Контрагент2 = Документ.ПриходныйОрдер.Субконто1;
    |ТочкаПокупателя = Документ.РасходнаяНакладная.ТочкаПокупателя, Документ.ПриходныйОрдер.ТочкаПокупателя;
    |Всего = Документ.РасходнаяНакладная.Всего;
    |Сумма = Документ.ПриходныйОрдер.Сумма;
    |Функция ВсегоСумма = Сумма(Всего);
    |Функция СуммаСумма = Сумма(Сумма);
    |Группировка ТочкаПокупателя;
    |Условие(Контрагент = ВыбКонтрагент);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей ТочкаПокупателя
    Таб.ВывестиСекцию("ТочкаПокупателя");
    КонецЦикла;
    // Заполнение полей "Итого"
    Таб.ВывестиСекцию("Итого");
    Таб.ВывестиСекцию("Подвал");
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");	
    КонецПроцедуры
    
  11. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну получение суммы можно делать одной переменной, и функцию одну тоже использовать. А вот как ты определяешь переменную контрагента тут не видно :angry:
  12. alleh
    Offline

    alleh

    Регистрация:
    12 май 2011
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    надо так:
    и всё будет путём...а то, как вы сделали - по-ходу вообще не учитывает Контрагент1...))

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