Опер.ВыбратьОперацииСПроводками(...) в виде запроса
10.08.2009
08:42
#11
"могу дать посоветовать:
Во-первых, зачем городить огороды с ВыбратьСубконто(1), ВыбратьСубконто(2);
на мой взгляд это здесь не надо. просто БИ.ВыбратьПериоды() и вперёд перебор всех...
Во-вторых, следующие строки кода
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.НазначенияИспользования);
Ничего не датут - можно их не писать."
Во-первых, зачем городить огороды с ВыбратьСубконто(1), ВыбратьСубконто(2);
на мой взгляд это здесь не надо. просто БИ.ВыбратьПериоды() и вперёд перебор всех...
Во-вторых, следующие строки кода
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ИспользоватьСубконто(ВидыСубконто.НазначенияИспользования);
Ничего не датут - можно их не писать."
10.08.2009
08:50
#12
Возможно ты и прав, я еще только начинаю варится в этой каше, вот и нагородил, опытному человеку на этот код смотреть наверное смешно, но вот я пока так))) я вообще не понял смысла этого перебора БИ.ВыбратьПериоды(), поэтому и замешкался. если есть время и возможность напиши поподробнее как написать.
10.08.2009
08:59
#13
Если надо выбрать по определённым субконто данные, то
ИспользоватьСубконто(...)
ИспользоватьСубконто(...)
а потом:
выбратьСубконто(1)
пока получитьСубконто() = 1 цикл
выбратьСубконто(2)
пока получитьСубконто() = 1 цикл
заметь, что циклы вложены...
а если надо выбрать все записи за период, тогда просто:
ВыбратьПериоды()
и всё - так легче будет запомнить.
ИспользоватьСубконто(...)
ИспользоватьСубконто(...)
а потом:
выбратьСубконто(1)
пока получитьСубконто() = 1 цикл
выбратьСубконто(2)
пока получитьСубконто() = 1 цикл
заметь, что циклы вложены...
а если надо выбрать все записи за период, тогда просто:
ВыбратьПериоды()
и всё - так легче будет запомнить.
10.08.2009
19:09
#14
"Не могу понять как правельно сделать?
если я этот цикл:
БИ.ВыбратьПериоды(, 1);
Пока БИ.ПолучитьПериод() = 1 Цикл
Док = БИ.операция.Документ; // доступ к документу, который ввел данную операцию
Ном=Док.НомерДок;
Дат=Док.ДатаДок;
КонецЦикла;
вставляю в первый цикл то у меня менятеся перебор по субконто, правельно выводятся номера документов, но не правельно считается итого по Сальдл конечное дебетовое.
а если втавляю во второй цикл то итого считается правельно, но номера докуметов присваюваются через одного.
подскажите что сделать, сроки жмут(
Сейчас код выглядит так:
Процедура Сформировать()
БИ= СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ВыполнитьЗапрос("01.01.09","30.06.09","10.11.1",,,,"Операция", "СК");
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("""");
Таб.ВывестиСекцию("Шапка");
БИ.ВыбратьСубконто(1); //первое субконто
Пока БИ.ПолучитьСубконто(1)=1 Цикл
Сотр= Строка(БИ.Субконто(1)); //ноименование субконто(сотрудник)
Код2= Строка(БИ.Субконто(1).Код); //код субконто
СотрСКД = (БИ.СКД("С"));
БИ.ВыбратьПериоды(, 1);
Пока БИ.ПолучитьПериод() = 1 Цикл
Док = БИ.операция.Документ; // доступ к документу, который ввел данную операцию
Ном=Док.НомерДок; //номер документа
Дат=Док.ДатаДок; //дата документа
БИ.ВыбратьСубконто(2); //второе субконто
Пока БИ.ПолучитьСубконто(2)=1 Цикл
ОСТАТКИк = (БИ.СКД("К"));
ОСТАТКИс = (БИ.СКД("С")); //сальдо конечное дебетовое
Если (ОСТАТКИк>0) И(ОСТАТКИс>0) Тогда
Мат= Строка(БИ.Субконто(2)); //ноименование субконто(спецодежда)
Код1= Строка(БИ.Субконто(2).Код); //код субконто
Таб.ВывестиСекцию("Строка1");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Опции(0,0,0,0);
Таб.Показать("""");
КонецПроцедуры
но он не правельно считает СКД("С")"
если я этот цикл:
БИ.ВыбратьПериоды(, 1);
Пока БИ.ПолучитьПериод() = 1 Цикл
Док = БИ.операция.Документ; // доступ к документу, который ввел данную операцию
Ном=Док.НомерДок;
Дат=Док.ДатаДок;
КонецЦикла;
вставляю в первый цикл то у меня менятеся перебор по субконто, правельно выводятся номера документов, но не правельно считается итого по Сальдл конечное дебетовое.
а если втавляю во второй цикл то итого считается правельно, но номера докуметов присваюваются через одного.
подскажите что сделать, сроки жмут(
Сейчас код выглядит так:
Процедура Сформировать()
БИ= СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Сотрудники);
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
БИ.ВыполнитьЗапрос("01.01.09","30.06.09","10.11.1",,,,"Операция", "СК");
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("""");
Таб.ВывестиСекцию("Шапка");
БИ.ВыбратьСубконто(1); //первое субконто
Пока БИ.ПолучитьСубконто(1)=1 Цикл
Сотр= Строка(БИ.Субконто(1)); //ноименование субконто(сотрудник)
Код2= Строка(БИ.Субконто(1).Код); //код субконто
СотрСКД = (БИ.СКД("С"));
БИ.ВыбратьПериоды(, 1);
Пока БИ.ПолучитьПериод() = 1 Цикл
Док = БИ.операция.Документ; // доступ к документу, который ввел данную операцию
Ном=Док.НомерДок; //номер документа
Дат=Док.ДатаДок; //дата документа
БИ.ВыбратьСубконто(2); //второе субконто
Пока БИ.ПолучитьСубконто(2)=1 Цикл
ОСТАТКИк = (БИ.СКД("К"));
ОСТАТКИс = (БИ.СКД("С")); //сальдо конечное дебетовое
Если (ОСТАТКИк>0) И(ОСТАТКИс>0) Тогда
Мат= Строка(БИ.Субконто(2)); //ноименование субконто(спецодежда)
Код1= Строка(БИ.Субконто(2).Код); //код субконто
Таб.ВывестиСекцию("Строка1");
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Опции(0,0,0,0);
Таб.Показать("""");
КонецПроцедуры
но он не правельно считает СКД("С")"
10.08.2009
20:31
#15
> Уточняю: Как в мне в этом модуле обратиться к номеру и дате документа, по которому были
> переданы материалы сотруднику. Не могу понять как правельно сделать?
Если нужны переданные сотруднику материалы по документам, то почему СКД(), а не ДО()?
А если нужны остатки, то при чем здесь документы?
> переданы материалы сотруднику. Не могу понять как правельно сделать?
Если нужны переданные сотруднику материалы по документам, то почему СКД(), а не ДО()?
А если нужны остатки, то при чем здесь документы?
10.08.2009
20:59
#16
мне нужны остатки со счета 10.11.1 на 30.06.09 это получается, и еще нужны номера и даты документов(проводок) по которым по которым были операции.
10.08.2009
21:56
#17
"БИ.ВыбратьСубконто(1); //первое субконто
Пока БИ.ПолучитьСубконто(1)=1 Цикл
Сотр= Строка(БИ.Субконто(1)); //ноименование субконто(сотрудник)
Код2= Строка(БИ.Субконто(1).Код); //код субконто
СотрСКД = (БИ.СКД("С"));
БИ.ВыбратьСубконто(2); //второе субконто
Пока БИ.ПолучитьСубконто(2)=1 Цикл
ОСТАТКИк = (БИ.СКД("К"));
ОСТАТКИс = (БИ.СКД("С")); //сальдо конечное дебетовое
Если (ОСТАТКИк>0) И(ОСТАТКИс>0) Тогда
Мат= Строка(БИ.Субконто(2)); //ноименование субконто(спецодежда)
Код1= Строка(БИ.Субконто(2).Код); //код субконто
Таб.ВывестиСекцию("Строка1"); //* здесь выводятся остатки по материалу
БИ.ВыбратьПериоды(, 1);
Пока БИ.ПолучитьПериод() = 1 Цикл
Док = БИ.операция.Документ; // доступ к документу, который ввел данную операцию
Ном=Док.НомерДок; //номер документа
Дат=Док.ДатаДок; //дата документа
СуммаДок = БИ.ДО("С"); //* если нужны суммы по документу
Таб.ВывестиСекцию("СтрокаДок"); //* здесь выводится инфо о документе
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЦикла;
"
Пока БИ.ПолучитьСубконто(1)=1 Цикл
Сотр= Строка(БИ.Субконто(1)); //ноименование субконто(сотрудник)
Код2= Строка(БИ.Субконто(1).Код); //код субконто
СотрСКД = (БИ.СКД("С"));
БИ.ВыбратьСубконто(2); //второе субконто
Пока БИ.ПолучитьСубконто(2)=1 Цикл
ОСТАТКИк = (БИ.СКД("К"));
ОСТАТКИс = (БИ.СКД("С")); //сальдо конечное дебетовое
Если (ОСТАТКИк>0) И(ОСТАТКИс>0) Тогда
Мат= Строка(БИ.Субконто(2)); //ноименование субконто(спецодежда)
Код1= Строка(БИ.Субконто(2).Код); //код субконто
Таб.ВывестиСекцию("Строка1"); //* здесь выводятся остатки по материалу
БИ.ВыбратьПериоды(, 1);
Пока БИ.ПолучитьПериод() = 1 Цикл
Док = БИ.операция.Документ; // доступ к документу, который ввел данную операцию
Ном=Док.НомерДок; //номер документа
Дат=Док.ДатаДок; //дата документа
СуммаДок = БИ.ДО("С"); //* если нужны суммы по документу
Таб.ВывестиСекцию("СтрокаДок"); //* здесь выводится инфо о документе
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЦикла;
"
11.08.2009
06:16
#18
Мне нужно, что бы вот такая таблица была
|Код|Субконто1|Код2|Субконто2|НомерДок|ДатаДок|СКД("С")|
то есть конкретно номер документа по которому данный материал передан в эксплуатацию данному сотруднику и еще скд.
|Код|Субконто1|Код2|Субконто2|НомерДок|ДатаДок|СКД("С")|
то есть конкретно номер документа по которому данный материал передан в эксплуатацию данному сотруднику и еще скд.
4 суток происходит открытие оперативного периода в комплексной конфигурации.Помогите.Создание роли для нового пользователя!
Читают тему
(гостей: 1)