7.7 Помогите доделать обработку для выгрузки данных

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

  1. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Доброго всем времени суток). ситуация:
    есть конфигурация Торговля+склад.
    есть обработка, которая создаёт 4 файла для выгрузки в них инфы из БД:
    1.ccatalog.dbf инфа о товарах из справочника "номенклатура"
    2. cclients.dbf инфа обо всех клиентах
    3. csales.dbf инфа о продажах и возвратах
    4. crest.dbf инфа об остатках на складе
    Задача: поступило новое тех.задание: должен созаваться 5-й файл csalrepr.dbf, в который будет выгружаться инфа о торговых представителях (ФИО и его код в БД). а также в файл csales.dbf добавляется колонка с кодом торгового представителя, через которого реализуется конкретный товар. в документах, из которых берётся инфа о реализации торговый представитель выбирается по ссылке из справочника "проекты", в документе отображается только его фио, но также в справочнике "проекты" много других работников не ТП, значит выгрузить из него не выйдет....создал справочник "ТорПред" в котором реквизит ФИО выбирается по ссылке "справочник.проекты", но как сделать, чтобы из справочника "проекты" ещё брался и личный код этого ТП и записывался в справочник "ТорПред"?!
    вторая проблема: не знаю каким образом выгружать кодТП в файл csales.dbf
    прикрепляю файл с исходником для 4-х файлов.....помогите пожалуйста кто чем сможет....опыта работы очень мало, а сроки поджимают((( буду очень благодарен любым подсказкам.....сам без помощи чисто физически не успею разобраться...

    Вложения:

  2. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    >прикрепляю файл с исходником для 4-х файлов

    не, так не пойдет
    никто не будет разбираться в этом тексте
    выкладывай саму обработку
  3. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    вот запрос для файла csales.dbf, я не знаю, как мне определить переменную, чтобы ей присваивался код выбранного торгового представителя...впринципе основная проблема в этом....повторю, что торговые представители по всем документам реализации проходят выбором из справочника "проекты" из реквизитов только ФИО.......

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

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Проект= Регистр.Продажи.ТекущийДокумент.Проект;
    
    
    получили ссылку на элемент справочника... Далее делаем что хотим
  5. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    спасибо))помогло) код торгового представителя в колонку выгружается))...буду доделывать сейчас, возможно ещё пару вопросиков будет)
  6. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    ещё вот вопросик остался...
    есть справочник "Проекты" с реквизитами ФИО и Код, есть справочник "ТорПред" с реквизитами Фио и КодТП, ФИО в ТорПред заполняется ссылкой на Справочник.Проекты, нужно, чтобы КодТП в ТорПред заполнился из Код в Проекты.
  7. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    зря ты создал новый спр. лишний он.
    лучше в спр.проекты добавь реквизит типа флаг - ТоргПредставитель
  8. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    если честно пока не представляю, как с флагами работать.....
    а если поступить так, как вы говорите, то потом выгружать инфу через выборку тех, который с флагом
    и всё же думаю доделать пока так, как задумал, тем более осталось всего ничего, а потом уж видно будет, может модернизирую по ходу изучения языка....
    я думаю код совсем несложный будет, который прошу (насчёт присвоения реквизита одного справочника реквизиту другого) , просто тяжело сориентироваться мне пока...
  9. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    Спр.Проекты.ТоргПред=1 или =0
    Поле типа число 1 точн.0
  10. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    спасибо!)
    подумал над вашим советом про лишний справочник, тоже пришёл к такому выводу....сделал просто в справочнике "проекты" дополнительный реквизит, который заполняется единицей, если это торговый представитель......и использовал условие:
    "Если ПустоеЗначение(Спр.ТипТП) = 1 Тогда"
  11. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    в спр доб рекв, тип число 1, точн 0
    на форме вставить-реквизит диалога-выбираешь-внизу вставлять поле ввода-меняешь на флажок-на форме появится поле с галкой. есть галка- в рекв=1, нет-0
    Если Спр.ТоргПред = 1 Тогда //это торгпред
  12. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    понял, спасибо, завтра опробую)так конечно будет удобнее, чем с единичками моими))
  13. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    всё сделал, норм вышло))так удобней
    ещё раз спасибо за помощь)
  14. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    в той выгрузке всё ок работает)....терь то же техническое задание нужно сделать для другой базы...тоже торговля+склад....но тут смысл в том, что торговые представители занесены в базу в справочник "контрагенты" в качестве групп....ну поясню: в справочнике "контрагенты" есть группы с именами торговых представителей, в этих группах клиенты этих ТорПредов...при создании документов по продажам выбирается клиент из этого справочника....вопрос: как выцепить инфу, по какому торговому представителю были продажи?? что-то с "родителем", я полагаю, но не могу полностью разобраться....
    вот полный путь к клиентам : контрагенты=>покупатели=>ФамилияТорПреда=>енвд=>клиенты...
  15. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    как выцепить инфу, по какому торговому представителю были продажи

    в какой момент, т.е. когда нужна инфа
    если, допустим, в отчете по конкретному торгпреду, тогда в реквизит формы выбирай эту группу

    если по всем, то можно по уровню вложенности, либо по подготовленному списку

    или я чего-то не догнал
  16. Бухгалтерский угодник
    Offline

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

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

    Код:
    Представитель=Регистр.Продажи.Договор.Владелец.Родитель;
    
    
  17. TopicStarter Overlay
    module
    Offline

    module

    Регистрация:
    27 ноя 2010
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    да-да, вот именно это мне и нужно было))....сейчас буду пробовать) спасибо
  18. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да не за что... Только учтите ситуацию что у контрагента может и не быть родителя (уровень 0) или вложенность более 1го уровня...

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