8.х Отчёт по контрагентам

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Диана, 23 авг 2012.

  1. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Не выкладывайте на сторонние ресурсы, пользуйтесь расширенной формой, в ней вы сможете прикрепить файлы (предварительно архивируйте)
  2. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    отправляю еще раз этот файл

    Вложения:

    • Doc1.rar
      Размер файла:
      89,6 КБ
      Просмотров:
      29
  3. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    То что вы выложили - ничего не стоит.
    Есть у вас тимвьювер ?
  4. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    неа нет
  5. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Плохо что нет.
    Откройте ветку метаданных Общие модули, и найдите модуль УправлениеКонтактнойИнформацией, посмотрите, какие процедуры и функции содержатся в данном модуле.
  6. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Ура! Я нашла эт управление .
    а там этот код нашла

    Код:
    // Процедура копирует КИ из Ффактич адреса в юридический и наоборот
    Процедура СкопироватьАдресКонтактнойИнформации(СтрокаСАдресом, ТаблицаКИ) Экспорт
    
    Если (СтрокаСАдресом = Неопределено) Или (ТаблицаКИ = Неопределено) Тогда
    Возврат;
    КонецЕсли;
    
    Если СтрокаСАдресом.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента Тогда
    ВидПоиска = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
    ИначеЕсли СтрокаСАдресом.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента Тогда
    ВидПоиска = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента;
    ИначеЕсли СтрокаСАдресом.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации Тогда
    ВидПоиска = Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации;
    ИначеЕсли СтрокаСАдресом.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации Тогда
    ВидПоиска = Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации;
    Иначе
    Возврат;
    КонецЕсли;
    
    ЗадаватьВопросОбИзменении = Истина;
    
    // бежим по всем записям регистра и те которые нужно поменять - меняем
    Для Каждого СтрокаДляИзменения Из ТаблицаКИ Цикл
    
    // если представление не заполнено то только тогда можно предложить его поменять
    Если СтрокаДляИзменения.Вид = ВидПоиска И НЕ ЗначениеЗаполнено(СтрокаДляИзменения.Представление) Тогда
    
    Если ЗадаватьВопросОбИзменении Тогда
    
    // вопрос задаем только в том случае, если представление не заполнено, а когда оно заполнено, то ничего не спрашиваем и не меняем
    НужноМенятьАдрес = Вопрос("Изменился " + СтрокаСАдресом.Вид.Наименование + ".
    |Автоматически изменить " + СтрокаДляИзменения.Вид.Наименование + "?", РежимДиалогаВопрос.ДаНет);
    // если менять не нужно - то не меняем	  
    Если НужноМенятьАдрес <> КодВозвратаДиалога.Да Тогда
    Возврат;
    КонецЕсли;
    ЗадаватьВопросОбИзменении = Ложь;
    КонецЕсли;
    
    // изменяем адрес
    СкопироватьДанныеАдреса(СтрокаСАдресом, СтрокаДляИзменения);
    
    КонецЕсли;
    
    КонецЦикла;
    
    КонецПроцедуры
    


    мне кажется что т о можно вытащить используя эт код.
  7. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Это не то. Рано радуетесь. Чтобы использовать этот код, придется идти через анал одно место. Читайте 25 пост.
  8. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    "Читайте 25 пост. " - не совсем поняла

    да чувствую , что будет мне оч тяжело все параметры вытащить ((((
  9. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Поставьте тимвьювер, посмотрю что там у вас. Натолкну на мысль.
  10. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    А Это???

    Код:
    //  Функция формирует сведения об указанном ЮрФизЛице. К сведениям относятся -
    // наименование, адрес, номер телефона, банковские реквизиты.
    //
    // Параметры:
    //  ЮрФизЛицо   - организация или физическое лицо, о котором собираются сведения.
    //  ДатаПериода - дата, на которую выбираются сведения о ЮрФизЛице.
    //  ДляФизЛицаТолькоИнициалы - Для физ. лица выводить только инициалы имени и отчества.
    //
    // Возвращаемое значение:
    //  Сведения - собранные сведения.
    //
    Функция СведенияОЮрФизЛице(ЮрФизЛицо, ДатаПериода = '00010101', ДляФизЛицаТолькоИнициалы = Истина, БанковскийСчет = Неопределено) Экспорт
    Сведения = Новый Структура("Представление, ПолноеНаименование, СокращенноеНаименование, НаименованиеДляПечатныхФорм, КодПоОКПО, ИНН, КПП, Телефоны, ЮридическийАдрес, Банк, БИК, КоррСчет, НомерСчета, АдресБанка");
    Запрос   = Новый Запрос;
    Данные   = Неопределено;
    Если НЕ ЗначениеЗаполнено(ЮрФизЛицо) Тогда
    Возврат Сведения;
    КонецЕсли;
    Если БанковскийСчет = Неопределено ИЛИ БанковскийСчет.Пустая() Тогда
    ТекБанковскийСчет = ЮрФизЛицо.ОсновнойБанковскийСчет;
    Иначе
    ТекБанковскийСчет = БанковскийСчет;
    КонецЕсли;
    
    // Выберем основные сведения о контрагентеЮрФизЛицо.ОсновнойБанковскийСчет.БанкДляРасчетов.Пустая
    Если ТекБанковскийСчет.БанкДляРасчетов.Пустая() Тогда
    ИмяРеквизитаБанка = "Банк";
    Иначе
    ИмяРеквизитаБанка = "БанкДляРасчетов";
    КонецЕсли;
    
    Если ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Организации") Тогда
    ИмяСправочника = "Организации";
    ИначеЕсли ТипЗнч(ЮрФизЛицо) = Тип("СправочникСсылка.Контрагенты") Тогда
    ИмяСправочника = "Контрагенты";
    Иначе
    Возврат Сведения;
    КонецЕсли;
    Запрос.УстановитьПараметр("ПарЮрФизЛицо",	  ЮрФизЛицо);
    Запрос.УстановитьПараметр("ПарБанковскийСчет", ТекБанковскийСчет);
    Запрос.Текст =
    "ВЫБРАТЬ
    | Организации.Представление КАК Наименование,
    | Организации.НаименованиеПолное КАК ПолноеНаименование,
    | Организации.ИНН,
    | Организации.КПП,
    | Организации.КодПоОКПО КАК КодПоОКПО,";
    
    Если ИмяСправочника = "Организации" Тогда
    Запрос.Текст = Запрос.Текст + "
    | Организации.НаименованиеСокращенное КАК СокращенноеНаименование,
    | ВЫБОР
    |  КОГДА Организации.ВариантНаименованияДляПечатныхФорм = ЗНАЧЕНИЕ(Перечисление.ВариантыНаименованияДляПечатныхФорм.СокращенноеНаименование)
    |   ТОГДА Организации.НаименованиеСокращенное
    |  ИНАЧЕ
    |   Организации.НаименованиеПолное
    | КОНЕЦ КАК НаименованиеДляПечатныхФорм,
    | Организации.СвидетельствоСерияНомер,
    | Организации.СвидетельствоДатаВыдачи,";
    ИначеЕсли ИмяСправочника = "Контрагенты" Тогда
    Запрос.Текст = Запрос.Текст + "
    | Организации.Представление КАК СокращенноеНаименование,
    | Организации.НаименованиеПолное КАК НаименованиеДляПечатныхФорм,";
    КонецЕсли;
    
    Если НЕ ЗначениеЗаполнено(ТекБанковскийСчет) Тогда
    
    Запрос.Текст = Запрос.Текст + "
    | """"						   КАК НомерСчета,
    | """"						   КАК Банк,
    | """"						   КАК БИК,
    | """"						   КАК КоррСчет,
    | """"						   КАК АдресБанка
    |ИЗ
    | Справочник."+ИмяСправочника+" КАК Организации
    |
    |ГДЕ
    | Организации.Ссылка = &ПарЮрФизЛицо";
    
    Иначе
    
    Запрос.Текст = Запрос.Текст + "
    | БанковскиеСчета.НомерСчета					 КАК НомерСчета,
    | БанковскиеСчета."+ИмяРеквизитаБанка+"		  КАК Банк,
    | БанковскиеСчета."+ИмяРеквизитаБанка+".Код	  КАК БИК,
    | БанковскиеСчета."+ИмяРеквизитаБанка+".КоррСчет КАК КоррСчет,
    | БанковскиеСчета."+ИмяРеквизитаБанка+".Адрес    КАК АдресБанка
    |ИЗ
    | Справочник."+ИмяСправочника+" КАК Организации,
    | Справочник.БанковскиеСчета    КАК БанковскиеСчета
    |
    |ГДЕ
    | Организации.Ссылка	   = &ПарЮрФизЛицо
    | И БанковскиеСчета.Ссылка = &ПарБанковскийСчет";
    
    КонецЕсли;
    
    Данные = Запрос.Выполнить().Выбрать();
    Данные.Следующий();
    Сведения.Вставить("КодПоОКПО",   "");
    Сведения.Вставить("КПП",		 "");
    Сведения.Вставить("Свидетельство", "");
    Если НЕ (ЮрФизЛицо.Метаданные().Реквизиты.Найти("ЮрФизЛицо") = Неопределено) Тогда
    Сведения.КодПоОКПО = Данные.КодПоОКПО;
    
    Если ЮрФизЛицо.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
    
    Сведения.КПП = Данные.КПП;
    
    ИначеЕсли ИмяСправочника = "Организации" Тогда
    
    Сведения.Свидетельство = "свидетельство " + Данные.СвидетельствоСерияНомер + " от " + Формат(Данные.СвидетельствоДатаВыдачи, "ДФ=dd.MM.yyyy");
    
    КонецЕсли;
    ИначеЕсли ИмяСправочника = "Организации" Тогда
    
    Сведения.КодПоОКПО = Данные.КодПоОКПО;
    Сведения.КПП	   = Данные.КПП;
    
    КонецЕсли;
    
    Сведения.Вставить("ПолноеНаименование", СокрЛП(Данные.ПолноеНаименование));
    Сведения.Вставить("СокращенноеНаименование", СокрЛП(Данные.СокращенноеНаименование));
    Сведения.Вставить("НаименованиеДляПечатныхФорм", СокрЛП(Данные.НаименованиеДляПечатныхФорм));
    Сведения.Вставить("Представление",    СокрЛП(Данные.Наименование));
    Сведения.Вставить("ИНН",			  Данные.ИНН);
    Сведения.Вставить("Телефоны",		 ПолучитьТелефонИзКонтактнойИнформации(ЮрФизЛицо));
    Сведения.Вставить("НомерСчета",	   Данные.НомерСчета);
    Сведения.Вставить("Банк",			 Данные.Банк);
    Сведения.Вставить("БИК",			  Данные.БИК);
    Сведения.Вставить("АдресБанка",	   Данные.АдресБанка);
    Сведения.Вставить("КоррСчет",		 Данные.КоррСчет);
    Сведения.Вставить("ЮридическийАдрес", ПолучитьАдресИзКонтактнойИнформации(ЮрФизЛицо, "Юридический"));
    Сведения.Вставить("ФактическийАдрес", ПолучитьАдресИзКонтактнойИнформации(ЮрФизЛицо, "Фактический"));
    Если НЕ ЗначениеЗаполнено(Сведения.ПолноеНаименование) Тогда
    Сведения.ПолноеНаименование = Сведения.Представление;
    КонецЕсли;
    Возврат Сведения;
    
    хорошо. сейчас попробую найти эту прогу
  11. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Вот это уже оно.

    Вот же у вас функция:
    Код:
    ЮрАдрес = ПолучитьАдресИзКонтактнойИнформации(ЮрФизЛицо, "Юридический");
    Смотрите в книгу - видите фигу это называется.
  12. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    одной этой функцией я смогу вытаскивать и юр и физ лицо ? я сейчас вот пробую посмотрю что получится
  13. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Пробуйте. Я скоро отлучусь по делам.
  14. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    не могу все равно создать запрос, у меня макет не таблица а вордовский файл .
  15. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    все я сдаюсь. нашла и установила. там айди требует

    жду вас теперь ((. не могу догнать почему так (
  16. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    А в чем сложность заполнять в шаблоне вордовского документа ???????
  17. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    вчера пыталась все переделать и ничего (((

    наверно ничего, если б у меня получалось вытащить мне нужные реквизиты ((
  18. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Поставили тимвьювер ?
  19. Fira
    Offline

    Fira Опытный в 1С

    Регистрация:
    28 авг 2012
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    да

    поставила требует ID что писать?
  20. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Скиньте мне в личку ваш ID и пароль

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