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

Автор Тема: Вопрос по созданию выборки документов  (Прочитано 7650 раз)

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

Оффлайн wad_str

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-27
  • Сайт: 
  • Профессия: Программист 7.7
1С 7.7.025 (типовая релиз 530, переписанная)
Суть вопроса: Необходимо создать выборку документов типа "Счет фактура выданный" с условием отбора во виду операции.
текст модуля
ДокСф = СоздатьОбъект("Документ.СчетФактура");
ДокСф.ВыбратьДокументы(НачМесяца(ДатаДок),КонМесяца(ДатаДок));
Пока (ДокСф.ПолучитьДокумент() = 1) Цикл
   Если ДокСф.ВидОперации = "Реализация" Тогда
   Сообщить(ДокСф);
Иначе
   Возврат;
КонецЕсли;
КонецЦикла;

Если не ставить условие по Если, то документы выбираются за указанный период, а при подключении условия -не работает, где ошибка.
Опыт пока небольшой, только учусь на практике.


Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Если ДокСф.ВидОперации = Перечисление.ВидыОперацийСчетаФактурыВыданного.Реализация Тогда
Кнопочка Спасибо - слева!

Оффлайн wad_str

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-27
  • Сайт: 
  • Профессия: Программист 7.7
Спасибо, всё понял. Работает. Теперь задача поместить выбранные документы в документ "Формирование записей книги покупок (для восстановления НДС с возвратов от покупателя.... пока -никак... как заполнить табличную часть данными из выбранного документа????

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
	
// в начале модуля
д = СоздатьОбъект("Документ.ЗаписиКнигиПокупок");
д.Новый(); // или найти старый
д.НомерДок = ;
д.ДатаДок = ;
д.Комментарий = ;

//в цикле
// Цикл по строкам
д.НоваяСтрока();
д.ДатаНомерСчетаФактуры = ;
д.СчетФактура = ;
д.Оплата = ;
д.Приход = ;
д.Контрагент = ;
д.СтранаГТД = ;
д.Всего = ;
д.БезНДС20 = ;
д.НДС20 = ;
д.БезНДС10 = ;
д.НДС10 = ;
д.НДС0 = ;
д.Освобождаемые = ;
д.СубСчет19 = ;
д.Аванс = ;
д.Авто = ;
д.ТипЗаписи = ;
д.ЗаписьДопЛиста = ;
д.ДатаДопЛиста = ;
//КонецЦикла;
//после цикла
д.Записать();
Кнопочка Спасибо - слева!

Оффлайн wad_str

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-27
  • Сайт: 
  • Профессия: Программист 7.7
Спасибо, но не всё понял. Пытаюсь добавить документы в модуле существующего в конфигурации документа "ЗаписиКнигиПокупок" в конце модуля сначала отобрать нужные по условию, затем заполнить табличную часть документа  "ЗаписиКнигиПокупок", и сформировать проводки по Дт счетов ЗПК соответственно по значениям НДС.

Текст модуля:ДокСф = СоздатьОбъект("Документ.СчетФактура");
ДокСф.ВыбратьДокументы(НачМесяца(ДатаДок),КонМесяца(ДатаДок));
Пока (ДокСф.ПолучитьДокумент() = 1) Цикл
   Если ДокСф.Выбран()=1 Тогда
      ВидОперации= ДокСф.ПолучитьАтрибут("ВидОперации");
   Если ВидОперации = Перечисление.ВидыОперацийСчетаФактурыВыданного.ВозвратОтПокупателя Тогда
   Сообщить(ДокСф);
Иначе
   Продолжить;
КонецЕсли;
КонецЕсли;
ДокСф.ВыбратьСтроки();
Пока ДокСф.ПолучитьСтроку()=1 Цикл
// а вот здесь что нужно описать???? Простите чайника.....
КонецЦикла;


Если (ДокСФ.Вид()="СчетФактура") Тогда
       Оплата             = ДокСФ.ДокументОприходования;
      Приход             = ДокСФ.ДокументОприходования;
   Иначе
      Оплата            = ДокСФ.ТекущийДокумент();
      Приход             = ДокСФ.ТекущийДокумент();
   КонецЕсли;
   Контрагент             = ДокСФ.контрагент;
   ТипЗаписи            = Перечисление.ТипыЗаписейКнигиПокупок.ВозвратОтПокупателя;
   Всего               = 0;
   
   ПроводкиДокумента = СоздатьОбъект("Операция");
   ПроводкиДокумента.НайтиОперацию(ДокСФ);
   ПроводкиДокумента.ВыбратьПроводки();
   Пока ПроводкиДокумента.ПолучитьПроводку()=1 Цикл
      Если (ПустоеЗначение(Строка(ПроводкиДокумента.Кредит.Счет.Код)) = 0)
      и (Найти("ЗПК.20.Б,ЗПК.20.Н,ЗПК.10.Б,ЗПК.10.Н,ЗПК.0,ЗПК.БН",Строка(ПроводкиДокумента.Кредит.Счет.Код)) > 0) Тогда
         
         Если ПроводкиДокумента.НомерПроводки() = ПроводкиДокумента.КоличествоПроводок() Тогда
            ЗачестьСумма = Зачесть - Всего;
         Иначе
            ЗачестьСумма = К*ПроводкиДокумента.Сумма;
         КонецЕсли;
         
         Всего          = Всего + ЗачестьСумма;   
         
         Если ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.20.Б") Тогда
            БезНДС20      = ЗачестьСумма;
         ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.20.Н") Тогда
            НДС20         = ЗачестьСумма;   
         ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.10.Б") Тогда
            БезНДС10      = ЗачестьСумма;       
         ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.10.Н") Тогда
            НДС10         = ЗачестьСумма;       
         ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.0") Тогда
            НДС0         = ЗачестьСумма;       
         ИначеЕсли ПроводкиДокумента.Кредит.Счет = СчетПоКоду("ЗПК.БН") Тогда
            Освобождаемые   = ЗачестьСумма;       
         КонецЕсли;
      КонецЕсли;
   КонецЦикла;

   Если Всего = 0 Тогда
       УдалитьСтроку();
      Возврат;
   КонецЕсли;
КонецЦикла; 

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Если смотреть в код, то все данные берутся из проводок.
поэтому
ДокСф.ВыбратьСтроки();
Пока ДокСф.ПолучитьСтроку()=1 Цикл
// а вот здесь что нужно описать???? Простите чайника.....
КонецЦикла;
здесь не нужно.
Кнопочка Спасибо - слева!

Оффлайн wad_str

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-27
  • Сайт: 
  • Профессия: Программист 7.7
понятно, это я уберу, но никак не связывается в кучу счфактура с записями книги покупок......  мозга видимо не хватает....

Оффлайн wad_str

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-27
  • Сайт: 
  • Профессия: Программист 7.7
привожу полный текст модуля форма документа записи книги покупок где переделывал стоят ремарки вад и дата ошибок нет всё проходит, но искомый счет фактура выданный с видом операции ВозвратОтПокупателя в доке не появляется.... Вывих мозга я себе обеспечил......


Модуль во вложении (текст файл)


Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Добавлять надо в Процедуру Заполнить(), а ты куда то в конец вставил
Кнопочка Спасибо - слева!


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
163 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal