Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 11:21
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Выгрузка договоров контрагентов в DBF  (Прочитано 2331 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн slimuz

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-02
  • Сайт: 
Здравствуйте.
Поставлена задача написать по выгрузке договоров и приложений договоров контрагентов в DBF, не хватает отдельного поля связующего приложения к договорам. Отдельное поле с "родителем" приложений не подходит. Бухгалтерия 3.0 КОРП. Я новичок в этом деле, подскажите как можно решить эту задачу ?
Процедура ВыполнитьЗапросНаСервереНаСервере()
Сообщить("Начало");
ДБФ = Новый XBase;
ДБФ.Кодировка = КодировкаXBase.OEM;

ДБФ.поля.Добавить("ID", "S", 20);
ДБФ.поля.Добавить("DOC_NUM", "S", 20);
ДБФ.поля.Добавить("NAME", "S", 70);
ДБФ.поля.Добавить("RODITEL", "S", 70);
ДБФ.поля.Добавить("DATE", "S", 40);
ДБФ.поля.Добавить("TYPE", "S", 50);
ДБФ.поля.Добавить("VALIDITY", "S", 40);
ДБФ.поля.Добавить("PAY_PERIOD", "S", 20);
ДБФ.поля.Добавить("VAL", "S", 10);
ДБФ.поля.Добавить("PRICE_TYPE", "S", 30);
ДБФ.поля.Добавить("COMPANY", "S", 40);
ДБФ.поля.Добавить("COMPAN_RUK", "S", 50);
ДБФ.поля.Добавить("COM_R_DOL", "S", 30);
ДБФ.поля.Добавить("KONTRAGENT", "S", 130);
ДБФ.поля.Добавить("FULL_KONTR", "S", 135);
ДБФ.поля.Добавить("KONTR_RUK", "S", 50);
ДБФ.поля.Добавить("KONT_R_DOL", "S", 30);
ДБФ.поля.Добавить("KOMMENT", "S", 100);

ДБФ.СоздатьФайл(ПутьКФайлу);
                                                 
    Запрос = Новый Запрос;           
Запрос.Текст = "ВЫБРАТЬ
| Договоры.Код,
| Договоры.Номер,
| Договоры.Наименование,
| Договоры.Родитель,
| Договоры.Дата,
| Договоры.ВидДоговора,
| Договоры.СрокДействия,
| Договоры.СрокОплаты,
| Договоры.ВалютаВзаиморасчетов,
| Договоры.ТипЦен,
| Договоры.Организация,
| Договоры.Руководитель,
| Договоры.ДолжностьРуководителя,
| Договоры.Владелец,
| Контрагенты.НаименованиеПолное,
| Договоры.РуководительКонтрагента,
| Договоры.ДолжностьРуководителяКонтрагента,
| Договоры.Комментарий
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК Договоры
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО Договоры.Владелец=Контрагенты.Ссылка";

Выборка = Запрос.Выполнить().Выгрузить();
                                                                     
Для Каждого СтрокаВыборки Из Выборка Цикл
ДБФ.Добавить();
ДБФ.ID = СтрокаВыборки.Код;
ДБФ.DOC_NUM = СтрокаВыборки.Номер;
ДБФ.NAME = СтрокаВыборки.Наименование;
ДБФ.RODITEL = СтрокаВыборки.Родитель;
ЕСЛИ СтрокаВыборки.Дата='00010101' Тогда
СтрокаВыборки.Дата=null;
КонецЕсли;
ДБФ.DATE = СтрокаВыборки.Дата;
ДБФ.TYPE = СтрокаВыборки.ВидДоговора;
ЕСЛИ СтрокаВыборки.СрокДействия='00010101' Тогда
СтрокаВыборки.СрокДействия=null;
КонецЕсли;
ДБФ.VALIDITY = СтрокаВыборки.СрокДействия;
ЕСЛИ СтрокаВыборки.СрокОплаты=0 Тогда
СтрокаВыборки.СрокОплаты=null;
КонецЕсли;
ДБФ.PAY_PERIOD = СтрокаВыборки.СрокОплаты;
ДБФ.VAL = СтрокаВыборки.ВалютаВзаиморасчетов;
ДБФ.PRICE_TYPE = СтрокаВыборки.ТипЦен;
ДБФ.COMPANY = СтрокаВыборки.Организация;
ДБФ.COMPAN_RUK = СтрокаВыборки.Руководитель;
ДБФ.COM_R_DOL = СтрокаВыборки.ДолжностьРуководителя;
ДБФ.KONTRAGENT = СтрокаВыборки.Владелец;
ДБФ.FULL_KONTR = СтрокаВыборки.НаименованиеПолное;
ДБФ.KONTR_RUK = СтрокаВыборки.РуководительКонтрагента;
ДБФ.KONTR_RUK = СтрокаВыборки.ДолжностьРуководителяКонтрагента;
ДБФ.KOMMENT = СтрокаВыборки.Комментарий;
ДБФ.Записать();

КонецЦикла;

Если ДБФ.Открыта() Тогда
ДБФ.ЗакрытьФайл();
КонецЕсли;

КонецПроцедуры


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
А как связываются приложения и договора? Думаю, что или через владельца или в приложениях есть реквизит, указывающий на договор.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
1. просто параллельно: зачем в запросе нужен справочник Контрагенты если НаименованиеПолное прекрасно можно получить из Владельца?
2. Приложение к договору - это доп.соглашение? которое также является элементом справочника Договоры?
3. Ну основной вопрос как эта связь реализована на стороне ДБФ?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
просто параллельно: зачем в запросе нужен справочник Контрагенты если НаименованиеПолное прекрасно можно получить из Владельца?

Ну, я б сказал, что идеалогически запрос написан правильно, как по учебнику. Но согласен, что в контексте данной задачи пересечением можно пренебречь и и доставать наименование из владельца

Оффлайн slimuz

  • *
  • Сообщений: 28
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-02
  • Сайт: 
1. просто параллельно: зачем в запросе нужен справочник Контрагенты если НаименованиеПолное прекрасно можно получить из Владельца?
2. Приложение к договору - это доп.соглашение? которое также является элементом справочника Договоры?
3. Ну основной вопрос как эта связь реализована на стороне ДБФ?

1. Контрагенты, нужны для связи с другим ДБФ.
2. В общем то приложение к договору создаётся как отдельный договор (просто пишется Прил. №... к дог. № ...), единственное что указывается это в какую группу он входит (Папка).
3. Пока ни как.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Сурово. Без нового реквизита построить нормальную связь практически нереально.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
1. Контрагенты, нужны для связи с другим ДБФ.

да на здоровье.
просто чем вот это
    |    Договоры.Владелец,
    |    Контрагенты.НаименованиеПолное,

отличается от
    |    Договоры.Владелец,
    |    Договоры.Владелец.НаименованиеПолное,

??
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
В общем то приложение к договору создаётся как отдельный договор (просто пишется Прил. №... к дог. № ...), единственное что указывается это в какую группу он входит (Папка)

у нас в бюджетке например мы сделали у договора реквизит ОсновнойДоговор и соответственно у допсоглашения он заполняется...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
просто чем вот это
    |    Договоры.Владелец,
    |    Контрагенты.НаименованиеПолное,
Явное левое соединение. Платформа построить запрос только к одному реквизиту.
отличается от
    |    Договоры.Владелец,
    |    Договоры.Владелец.НаименованиеПолное,
Неявное левое соединение.Платформа построит запрос с наличием всех реквизитов каждого контрагента в запросе на каждую запись.
Для разовых, редковыполняющихся запросов - можно не заморачиваться.
При сложных объемных часто выполняющихся запросах различия во времени выполнения становится более заметным.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
просто чем вот это
    |    Договоры.Владелец,
    |    Контрагенты.НаименованиеПолное,
Явное левое соединение. Платформа построить запрос только к одному реквизиту.
отличается от
    |    Договоры.Владелец,
    |    Договоры.Владелец.НаименованиеПолное,
Неявное левое соединение.Платформа построит запрос с наличием всех реквизитов каждого контрагента в запросе на каждую запись.
Для разовых, редковыполняющихся запросов - можно не заморачиваться.
При сложных объемных часто выполняющихся запросах различия во времени выполнения становится более заметным.


В общем и целом согласен, но в качестве "ответного бурчания"...
http://www.forum.mista.ru/topic.php?id=615947
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


 

выгрузка из "Платежные документы" выборочно в "Бухгалтерию предприятия"

Автор hkvРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 4122
Последний ответ 09 Окт 2014, 15:58
от дфтын
Выгрузка Бух учет из "Зарплаты и управления персоналом 8" в "1С:Бухгалтерию 8"

Автор KazakOFFРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2433
Последний ответ 10 Ноя 2015, 16:20
от vitasw
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8578
Последний ответ 26 Апр 2012, 23:08
от Dethmontt
Модуль "выгрузка в банк"

Автор Dima IgnatovРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 953
Последний ответ 11 Май 2016, 13:23
от Rasty
Выгрузка из "Зарплата и кажпы" платеж за три месяца

Автор vlasssov71Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 1236
Последний ответ 07 Июл 2015, 15:19
от vlasssov71

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
53 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 249
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal