|
v7: в операции нет документа | ☑ | ||
---|---|---|---|---|
0
alex_reglament
07.12.11
✎
10:47
|
привет всем
не получается получить документ из операции чего я там не того делаю спрБанка = СоздатьОбъект("Справочник.БанковскиеСчета"); ДатаКон = Дата_; Если Счет_62 = 1 Тогда Счет_62_ = СчетПоКоду("62"); Иначе Счет_62_ = ""; КонецЕсли; Если Счет_76 = 1 Тогда Счет_76_ = СчетПоКоду("76"); Иначе Счет_76_ = ""; КонецЕсли; счет = Счет_62_ + Счет_76_; //******************************************* ТаблЗн = СоздатьОбъект("ТаблицаЗначений"); ТаблЗн.НоваяКолонка("Наименование", "Справочник.Контрагент"); ТаблЗн.НоваяКолонка("УНП"); ТаблЗн.НоваяКолонка("РачетныйСчет"); ТаблЗн.НоваяКолонка("СуммаОбщая", "Число", 19); ТаблЗн.НоваяКолонка("ЗуммаПросроченная", "Число", 19); Таб = СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Шапка"); //******************************************* Ит_1 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит_2 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит_1.ИспользоватьСубконто(ВидыСубконто.Контрагенты); Ит_1.ВыполнитьЗапрос(,ДатаКон,счет,,,,"Операция"); //******************************************* Ит_1.ВыбратьСубконто(1); Пока Ит_1.ПолучитьСубконто(1) = 1 Цикл РачетныйСчет = ""; СуммаОбщая = ""; //******************************************* Если Ит_1.СКД() <> 0 Тогда спрБанка.ИспользоватьВладельца(Ит_1.Субконто(1).ТекущийЭлемент()); Контрагент = Ит_1.Субконто(1); УНП = Ит_1.Субконто(1).УНН; спрБанка.ВыбратьЭлементы(); Пока спрБанка.ПолучитьЭлемент() = 1 Цикл Если Число(спрБанка.Код) = 1 Тогда РачетныйСчет = спрБанка.Наименование + ": р/с №" + СокрЛП(спрБанка.НомерСчета);//спрБанка.НомерСчета;//найти по контрагенту; Иначе РачетныйСчет = ""; КонецЕсли; КонецЦикла; СуммаОбщая = Ит_1.СКД(); СуммаПросроченная = ""; ЧислоДней = Ит_1.Операция.Документ.ДнейТребования; ДатаПроводкиДокумента = Ит_1.Операция.Документ.ДатаДок; СуммаДат = ДатаПроводкиДокумента + ЧислоДней; Если СуммаДат > Дата_ Тогда Ит_2.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Ит_1.Субконто(1).ТекущийЭлемент()); Ит_2.ВыполнитьЗапрос(ДатаПроводкиДокумента,ДатаПроводкиДокумента,счет,,,,"Операция"); Ит_2.ВыбратьСубконто(1); Пока Ит_2.ПолучитьСубконто(1) = 1 Цикл Если Ит_2.Операция.Документ.НомерДок = Ит_1.Операция.Документ.НомерДок Тогда СуммаПросроченная = Ит_2.Операция.Документ.Итог("Сумма"); Иначе СуммаПросроченная = "-"; КонецЕсли; КонецЦикла; КонецЕсли; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; |
|||
1
alex_reglament
07.12.11
✎
10:48
|
интересуют имено эти строки
документа в них нет хотя в оборотке есть ЧислоДней = Ит_1.Операция.Документ.ДнейТребования; ДатаПроводкиДокумента = Ит_1.Операция.Документ.ДатаДок; |
|||
2
Андрей_Андреич
naïve
07.12.11
✎
10:51
|
Ничего не понял. Периоды не выбираются. Запрос на конец периода, а не за период. Откуда докам взяться?
|
|||
3
alex_reglament
07.12.11
✎
10:51
|
я начинающий но что типа того уже делал а щас чегото заклинило помогите плиз
|
|||
4
alex_reglament
07.12.11
✎
10:53
|
я конечно прошу прощения а что если на конец периода запрос формировать доки не выбираются??
|
|||
5
Андрей_Андреич
naïve
07.12.11
✎
10:54
|
1. Ит_1.ВыполнитьЗапрос(,ДатаКон,счет,,,,"Операция");
Данная строка смысла не имеет - не хватает конечной даты. 2. Для выборки операций надо Ит.ВыбратьПериоды() |
|||
6
Андрей_Андреич
naïve
07.12.11
✎
10:55
|
+5 Т.е. начальной даты
(4) нет |
|||
7
alex_reglament
07.12.11
✎
10:55
|
странно я делал и так но не чего не выходит
Ит_1.ВыполнитьЗапрос(НачМесяца(ДатаКон),ДатаКон,счет,,,,"Операция"); но эфект от этого ни какой |
|||
8
OnCheck
07.12.11
✎
10:57
|
ты бы сначала порядок с форматировнаием навел, сложно читать текст
|
|||
9
OnCheck
07.12.11
✎
10:57
|
я так понимаю что ИТ1 не спозиционирована ни на какой записи в момент получения поля документ
|
|||
10
alex_reglament
07.12.11
✎
10:58
|
Ит_1 = СоздатьОбъект("БухгалтерскиеИтоги");
Ит_2 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит_1.ИспользоватьСубконто(ВидыСубконто.Контрагенты); Ит_1.ВыполнитьЗапрос(,ДатаКон,счет,,,,"Операция"); //******************************************* Ит_1.ВыбратьПериоды(); Пока Ит_1.ПолучитьПериод() = 1 Цикл Ит_1.ВыбратьСубконто(1); то есть так нужно делать? |
|||
11
OnCheck
07.12.11
✎
10:58
|
Ит_1.ВыбратьСубконто(2); попробуй заменить
|
|||
12
alex_reglament
07.12.11
✎
10:59
|
(11) шутишь?
|
|||
13
alex_reglament
07.12.11
✎
10:59
|
(10) правильно ?
|
|||
14
OnCheck
07.12.11
✎
11:00
|
(12) возможно с бухитогами мало работал
|
|||
15
OnCheck
07.12.11
✎
11:00
|
+ (14) возможно, с бухитогами мало работал
|
|||
16
alex_reglament
07.12.11
✎
11:01
|
вообще нет работал достаточно но с выборкой доков работал пару раз и тоже достаточно долго делал
|
|||
17
alex_reglament
07.12.11
✎
11:01
|
я только 3тий мес работаю с 1с
|
|||
18
alex_reglament
07.12.11
✎
11:03
|
начирикал такую вещь вообще перестало все формироваться
Ит_1 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит_2 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит_1.ИспользоватьСубконто(ВидыСубконто.Контрагенты); Ит_1.ВыполнитьЗапрос(,ДатаКон,счет,,,,"Операция"); //******************************************* Ит_1.ВыбратьПериоды(); Пока Ит_1.ПолучитьПериод() = 1 Цикл Ит_1.ВыбратьСубконто(1); Пока Ит_1.ПолучитьСубконто(1) = 1 Цикл |
|||
19
alex_reglament
07.12.11
✎
11:04
|
да я понимаю что в моем запросе можно и так
Ит_1.ВыбратьСубконто(); Пока Ит_1.ПолучитьСубконто() = 1 Цикл но я думаю что это не мешает или я не прав? |
|||
20
alex_reglament
07.12.11
✎
11:04
|
всеравно на 62 и 76 счетах одно субконто "Контрагенты" и все
|
|||
21
alex_reglament
07.12.11
✎
11:06
|
наверно мне кто то в кофе тормозной житкости подли
|
|||
22
alex_reglament
07.12.11
✎
11:07
|
ладненько буду сам бороться спасибо всем
|
|||
23
Андрей_Андреич
naïve
07.12.11
✎
11:10
|
Нет начальной даты в
Ит_1.ВыполнитьЗапрос(Где начдата!!!,ДатаКон,счет,,,,"Операция"); |
|||
24
alex_reglament
07.12.11
✎
11:11
|
Ит_1.ВыполнитьЗапрос(НачМесяца(ДатаКон),ДатаКон,счет,,,,"Операция");
//******************************************* Ит_1.ВыбратьСубконто(1); Пока Ит_1.ПолучитьСубконто(1) = 1 Цикл Ит_1.ВыбратьПериоды(); Пока Ит_1.ПолучитьПериод() = 1 Цикл РачетныйСчет = ""; СуммаОбщая = ""; но при этом в отладчике Ит_1.ВыбратьПериоды() = 0 |
|||
25
alex_reglament
07.12.11
✎
11:12
|
Ит_1.ВыполнитьЗапрос(НачМесяца(ДатаКон),ДатаКон,счет,,,,"Операция");
может не опрерацию нужно писать а Месяц ? |
|||
26
alex_reglament
07.12.11
✎
11:12
|
(23) смотри (24)
|
|||
27
vladko
07.12.11
✎
11:14
|
автор, может воспользуешься конструктором бух.итогов в конфигураторе? и поправишь получившийся отчёт уже своими данными
|
|||
28
alex_reglament
07.12.11
✎
11:16
|
ну так интереснее же самому добиться да вы мне поможете я пойму как формировать а если в конструкторе то что я с него возму
|
|||
29
alex_reglament
07.12.11
✎
11:28
|
блин ну помогите люди
|
|||
30
alex_reglament
07.12.11
✎
11:29
|
в конструкторе чушь какаято получилась
|
|||
31
Андрей_Андреич
naïve
07.12.11
✎
11:32
|
Давай ты хоть суть расскажешь - чего надобно-то?
|
|||
32
vladko
07.12.11
✎
11:40
|
Исходя из твоего алгоритма, достаточно:
Ит_1= СоздатьОбъект("БухгалтерскиеИтоги"); Ит_1.ИспользоватьПланСчетов(ОсновнойПланСчетов()); Ит_1.ВыполнитьЗапрос(НачМесяца(ДатаКон),ДатаКон,счет,,, 1, "Операция", "С"); Ит_1.ВыбратьПериоды(); Пока Ит_1.ПолучитьПериод() = 1 Цикл РачетныйСчет = ""; СуммаОбщая = ""; //******************************************* Если Ит_1.СКД() <> 0 Тогда спрБанка.ИспользоватьВладельца(Ит_1.Субконто(1).ТекущийЭлемент()); Контрагент = Ит_1.Субконто(1); УНП = Ит_1.Субконто(1).УНН; спрБанка.ВыбратьЭлементы(); Пока спрБанка.ПолучитьЭлемент() = 1 Цикл Если Число(спрБанка.Код) = 1 Тогда РачетныйСчет = спрБанка.Наименование + ": р/с №" + СокрЛП(спрБанка.НомерСчета);//спрБанка.НомерСчета;//найти по контрагенту; Иначе РачетныйСчет = ""; КонецЕсли; КонецЦикла; СуммаОбщая = Ит_1.СКД(); СуммаПросроченная = ""; ЧислоДней = Ит_1.Операция.Документ.ДнейТребования; ДатаПроводкиДокумента = Ит_1.Операция.Документ.ДатаДок; СуммаДат = ДатаПроводкиДокумента + ЧислоДней; Если СуммаДат > Дата_ Тогда Ит_2.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Ит_1.Субконто(1).ТекущийЭлемент()); Ит_2.ВыполнитьЗапрос(ДатаПроводкиДокумента,ДатаПроводкиДокумента,счет,,,,"Операция"); Ит_2.ВыбратьСубконто(1); Пока Ит_2.ПолучитьСубконто(1) = 1 Цикл Если Ит_2.Операция.Документ.НомерДок = Ит_1.Операция.Документ.НомерДок Тогда СуммаПросроченная = Ит_2.Операция.Документ.Итог("Сумма"); Иначе СуммаПросроченная = "-"; КонецЕсли; КонецЦикла; КонецЕсли; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; |
|||
33
vladko
07.12.11
✎
11:40
|
но что-то мне подсказывает, что ты неправильный алгоритм избрал
|
|||
34
vladko
07.12.11
✎
11:40
|
хотя я задачи не знаю точной
|
|||
35
alex_reglament
07.12.11
✎
11:40
|
клиенту нужен отчет о дебиторской задолжности он должен формироваться по счета "62,76 , СКД это сумма задолжности но мне нужно указать еще и сумму просроченной задолжности каким оброзам на форме документа расход товара есть реквизит ДнейТребования в нем указывается сколько дней доется клиенту для погошения задолжности
я решил сделать так получить значение реквизита ДнейТребования + занчения даты документа = дата и если эта дата > даты запроса тогда вывести сумму задолжности |
|||
36
vladko
07.12.11
✎
11:51
|
к (32)
Если Ит_1.СКД() <> 0 Тогда спрБанка.ИспользоватьВладельца(Ит_1.Субконто(1).ТекущийЭлемент()); Контрагент = Ит_1.Субконто(1); УНП = Ит_1.Субконто(1).УНН; спрБанка.ВыбратьЭлементы(); Пока спрБанка.ПолучитьЭлемент() = 1 Цикл Если Число(спрБанка.Код) = 1 Тогда РачетныйСчет = спрБанка.Наименование + ": р/с №" + СокрЛП(спрБанка.НомерСчета);//спрБанка.НомерСчета;//найти по контрагенту; Иначе РачетныйСчет = ""; КонецЕсли; КонецЦикла; заменить на Если Ит_1.СКД() <> 0 Тогда Ит_1.Операция.Документ.Контрагент Контрагент = Ит_1.Операция.Документ.Контрагент; спрБанка.ИспользоватьВладельца(Контрагент); УНП = Контрагент.УНН; спрБанка.ВыбратьЭлементы(); Пока спрБанка.ПолучитьЭлемент() = 1 Цикл Если Число(спрБанка.Код) = 1 Тогда РачетныйСчет = спрБанка.Наименование + ": р/с №" + СокрЛП(спрБанка.НомерСчета);//спрБанка.НомерСчета;//найти по контрагенту; Иначе РачетныйСчет = ""; КонецЕсли; КонецЦикла; |
|||
37
alex_reglament
07.12.11
✎
12:17
|
(36) мне нужно не Р/С получить его я получаю
а не получаю я только док и периоды = 0 тоесть в отладчике выбратьпериод() = 0 |
|||
38
alex_reglament
07.12.11
✎
12:23
|
смотрите
если формировать так то Процедура Сформировать() спрБанка = СоздатьОбъект("Справочник.БанковскиеСчета"); Если Счет_62 = 1 Тогда Счет_62_ = СчетПоКоду("62"); Иначе Счет_62_ = ""; КонецЕсли; Если Счет_76 = 1 Тогда Счет_76_ = СчетПоКоду("76"); Иначе Счет_76_ = ""; КонецЕсли; счет = Счет_62_ + Счет_76_; //******************************************* Таб = СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Шапка"); Ит_1 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит_1.ИспользоватьСубконто(ВидыСубконто.Контрагенты); Ит_1.ВыполнитьЗапрос(НачМесяца(Дата_),Дата_,счет,,,,"Месяц"); Ит_1.ВыбратьСубконто(1); Пока Ит_1.ПолучитьСубконто(1) = 1 Цикл РачетныйСчет = ""; СуммаОбщая = ""; СуммаПросроченная = ""; Если Ит_1.СКД() <> 0 Тогда спрБанка.ИспользоватьВладельца(Ит_1.Субконто(1).ТекущийЭлемент()); Контрагент = Ит_1.Субконто(1); УНП = Ит_1.Субконто(1).УНН; спрБанка.ВыбратьЭлементы(); Пока спрБанка.ПолучитьЭлемент() = 1 Цикл Если Число(спрБанка.Код) = 1 Тогда РачетныйСчет = спрБанка.Наименование + ": р/с №" + СокрЛП(спрБанка.НомерСчета); //значения выводятся и правельны Иначе РачетныйСчет = ""; КонецЕсли; КонецЦикла; СуммаОбщая = Ит_1.СКД(); //значения тоже выводятся и правильны СуммаПросроченная = Ит_1.Операция; //значение = Операция Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Таб.ПараметрыСтраницы(2, , , , , , , , , 1); Таб.Опции(0, 0, 5, 2, "дебиторская задолжность"); Таб.ТолькоПросмотр(1); Таб.Показать("дебиторская задолжность"); КонецПроцедуры СуммаПросроченная = Ит_1.Операция; //значение = Операция почему если делать так то значения вообще не выводятся и ошибок нет! все то же самое за исключением следующих строк Ит_1.ВыполнитьЗапрос(НачМесяца(Дата_),Дата_,счет,,,,"Месяц"); Ит_1.ВыбратьПериоды(); Пока Ит_1.ПолучитьПериод() = 1 Цикл и при этом в отладчике Ит_1.ВыбратьПериоды() = 0 |
|||
39
alex_reglament
07.12.11
✎
12:25
|
+(38)
и еще так пробовал Ит_1.ВыполнитьЗапрос(НачМесяца(Дата_),Дата_,счет,,,,"Операция"); и (36) тоже пробовал |
|||
40
alex_reglament
07.12.11
✎
12:25
|
в оборотке формировал документы есть
|
|||
41
alex_reglament
07.12.11
✎
12:25
|
мне может кто нибуть объяснить что я не правильно пишу
|
|||
42
alex_reglament
07.12.11
✎
12:28
|
мне что ни кто не может помочь?
|
|||
43
chief accountant
07.12.11
✎
12:30
|
счет = Счет_62_ + Счет_76_
не взлетит одназначна |
|||
44
alex_reglament
07.12.11
✎
12:34
|
и что изза этого не формирует
|
|||
45
chief accountant
07.12.11
✎
12:36
|
(44) смотри типовые на предмет бухзапросов
|
|||
46
alex_reglament
07.12.11
✎
12:41
|
хорошо спасибо
|
|||
47
alex_reglament
07.12.11
✎
16:37
|
люди кому не лень подрубиться помочь?
TeamViewer 7 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |