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

Автор Тема: Проблема с созданием документа, только перевыбрав Контрагента док. проводится  (Прочитано 4403 раз)

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

Оффлайн Laura

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Ученик 1С
Клиенты торопятся очень, банк-кассу должны выгружать каждый день. Не пользуются типовой выгрузкой-загрузкой, потому что конфигурация (ТиС) из которой загружаю  самописная. И так,загружаю данные из дбф в 1С:БП 8, создаю новые документы "Списание с р\с". Все реквизиты благополучно создаются-заполняются-проверяются, так как надо. Но документ не проводится  :( Проводится, только после того как перевыбирается Контрагент на уровне пользователя. Почему так может быть? Кто сталкивался с такой проблемой?


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Что значит "не проводится"? Ошибки выдает?
Поставьте отладку, на строке записи дока, посмотрите чему равен Контрагент. Проследите так же, пошагово, где вываливается проведение.

Подозреваю. что при перевыборе Контрагента просто перезаполняется более корректно какое-нибудь поле документа типа "Счет контрагента", "Договор Контрагента" и т.д., после этого данные становятся корректными.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Laura

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Ученик 1С
Упс-с, я зарегистрировалась на украиском форуме... Но это не важно, коды то похожи.
"Галочка" стоит, как будто док сформировал проводки. На момент записи Контрагент в режиме отладки, тот который нужен. И действительно, после перевыбора "Счета контрагента" и  "Договора Контрагента" тоже док проводится. У этого нового контрагента записываются и договор, и банковский счет. А что значит не корректно заполняются? Что я не знаю? Где искать?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Laura

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Ученик 1С
"Такая выгрузка)))"  А выгрузка причем? Ее не я делала. Вот кусок кода:

//Создаем нового контрагента
НовКонтр.Наименование = XBKontrag.NAME;
НовКонтр.НаименованиеПолное= СокрЛП(XBKontrag.PREFIX)+" "+XBKontrag.NAME;
НовКонтр.Записать();
///бла-бла-бла
///создаем новый договор
дог.Владелец = НовКонтр.Ссылка;
дог.Наименование = "#дбф поставщик";
дог.Записать();
Объект=Контр.ПолучитьОбъект();
Объект.ОсновнойДоговорКонтрагента= дог.Ссылка;
Объект.ДоговорКонтрагента=дог.Ссылка;
//////

Делала так, потому что по другому у меня не записывался договор.

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
"Такая выгрузка)))"  А выгрузка причем? Ее не я делала. Вот кусок кода:

//Создаем нового контрагента
НовКонтр.Наименование = XBKontrag.NAME;
НовКонтр.НаименованиеПолное= СокрЛП(XBKontrag.PREFIX)+" "+XBKontrag.NAME;
НовКонтр.Записать();
///бла-бла-бла
///создаем новый договор
дог.Владелец = НовКонтр.Ссылка;
дог.Наименование = "#дбф поставщик";
дог.Записать();
Объект=Контр.ПолучитьОбъект();
Объект.ОсновнойДоговорКонтрагента= дог.Ссылка;
Объект.ДоговорКонтрагента=дог.Ссылка;
//////

Делала так, потому что по другому у меня не записывался договор.

А где в этом куске кода ДОКУМЕНТ???
То что вы контрагента создали это молодчина, но это не главное!!! Главное как вы Документ заполняете!!! (в вашем случае)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Laura

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Ученик 1С
Сначала создаю документ, по ходу проверяю на наличие реквизитов в базе, если нет-создаю:

Пока НЕ хб.ВКонце() Цикл

If хб.SIGN=0 Then     ///списание  с р\с
Док = Документы.СписаниеСРасчетногоСчета.СоздатьДокумент(); //создаем ДОКУМЕНТ            
док.Дата = хб.DOCDATE;
Док.ВидОперации=перечисления.ВидыОперацийСписаниеДенежныхСредств.ОплатаПоставщику; //настроить
Док.Организация= Справочники.Организации.НайтиПоНаименованию(Организация);    

XBKontrag.Первая();             
Пока НЕ XBKontrag.ВКонце() Цикл               
Если XBKontrag.CODE =  хб.KLIENTP Тогда      //ищем контрагента по коду
Прервать;
КонецЕсли;                
XBKontrag.Следующая();                
КонецЦикла;   

Контр = Справочники.Контрагенты.НайтиПоНаименованию(XBKontrag.NAME);
Если контр = Справочники.Контрагенты.ПустаяСсылка() тогда
   Сообщить("Добавляем Контрагента "+XBKontrag.NAME);
   НовКонтр = Справочники.Контрагенты.СоздатьЭлемент();  //создаем Контрагента
   НовКонтр.Наименование = XBKontrag.NAME;
   НовКонтр.НаименованиеПолное= СокрЛП(XBKontrag.PREFIX)+" "+XBKontrag.NAME;
   Если СокрЛП(XBKontrag.PREFIX) =СокрЛП("ИП")      Тогда   //Изменить   
      НовКонтр.ЮрФизЛицо =Перечисления.ЮрФизЛицо.ФизЛицо;               
   Иначе
      НовКонтр.ЮрФизЛицо =Перечисления.ЮрФизЛицо.ЮрЛицо;
   КонецЕсли;      
               
НовКонтр.Записать();
   НовКонтр.ГоловнойКонтрагент=НовКонтр.Ссылка;
               
   КонтрГруппа= Справочники.Контрагенты.НайтиПоНаименованию(XBKontrag.CODER);
   Если  КонтрГруппа=Справочники.Контрагенты.ПустаяСсылка() Тогда   //создаем группу
      НовКонтрГруппа = Справочники.Контрагенты.СоздатьГруппу();  //
      НовКонтрГруппа.Наименование = XBKontrag.CODER;
      НовКонтрГруппа.Записать();
      НовКонтр.Родитель= НовКонтрГруппа;
   Иначе
      НовКонтр.Родитель= КонтрГруппа;                  
   КонецЕсли;
   НовКонтр.ИНН=XBKontrag.INN;///и прочие реквизиты добавляем
Иначе
   //тут просто выбираем контрагента
КонецЕсли;
     док.Ответственный=Справочники.Пользователи.НайтиПоНаименованию("хб.AVTOR");
   Док.Контрагент = Контр;       //Продолжаем записывать ДОКУМЕНТ
   Если    XBBody.Code1= XBKontrag.Code1   Тогда    //находим по коду
      Док.СчетБанк=ПланыСчетов.Хозрасчетный.РасчетныеСчета;
      Док.СчетКонтрагента=ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
      Док.ДоговорКонтрагента = Дог.Ссылка;
   КонецЕсли;            
      док.ДокументОснование=XBBody.DOK;
      док.ПлатежноеПоручениеОснование= XBBody.DOK;
                       док.РасшифровкаПлатежа.Очистить();
            //Объект.Основание=РеквизитыШапки["Основание"];
            
            СтрРасшиф=док.РасшифровкаПлатежа.Добавить();
            СтрРасшиф.ДоговорКонтрагента=Дог.Ссылка;
            СтрРасшиф.СуммаПлатежа=XBBody.SUMM;             
            СтрРасшиф.СуммаНДС=XBBody.NDS;            
            СтрРасшиф.СтатьяДвиженияДенежныхСредств=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Оплата поставщику");
            СтрРасшиф.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.РасчетыСПокупателями;
            СтрРасшиф.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным;
            СтрРасшиф.СпособПогашенияЗадолженности=Перечисления.СпособыПогашенияЗадолженности.Автоматически;
            
            """""""""""""""""""""""""""
            док.ВалютаДокумента  = ВалютаОсновная;
            док.СчетКонтрагента=Справочники.БанковскиеСчета.НайтиПоКоду("852500102");
            док.СчетОрганизации=Организация.ОсновнойБанковскийСчет;///!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! изменить
            док.СуммаДокумента=XBBody.SUMM;
            док.ДатаВходящегоДокумента=XBBody.DOD; //дата вх. док  XBBody.SD;//дата счета
            док.ДатаВходящегоДокумента=XBBody.DON;
                     
   док.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
         хб.Следующая();
         
      КонецЦикла;
      
      хб.ЗакрытьФайл();
      
Вот как то так. Может не все перенесла? Еще у меня куча всякой лабуды с адресами-договорами-телефонами и .т.д.

Оффлайн Laura

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Ученик 1С
 Ну я и разошлась!!! Конечно в одно сообщение текст не влезет :)
Сократим.

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

EndIf;   
         
         док.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
         Сообщить(док);
         хб.Следующая();
         
      КонецЦикла;
      
      хб.ЗакрытьФайл();

Я что то, очень "Главное" при создании дока видимо не понимаю. Ведь все реквизиты красивенько записываются в документ, через Отладчик все вроде в порядке, ни каких ошибок не выводится.
Клиенты так спешат, мне сегодня нужно им запустить обработку (((

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
И что пишет при проведении?
(Советую хотя бы глазочком взглянуть на процедуру КонтрагентПриИзменении)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Laura

  • *
  • Сообщений: 7
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-02-21
  • Сайт: 
  • Профессия: Ученик 1С
Ок. Спасибо. Сейчас посмотрю. Обязательно отпишусь


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4477
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

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

Ответов: 6
Просмотров: 15941
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 4200
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 632
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7746
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal