0
Haivel
11.10.11
✎
08:47
|
Проблема с переносом остатков по лицевым счетам ... остатки лицевых счетов берутся из регистра накопления..квартплата(источник), должны перенестись в регистр накопления взаиморасчеты(приемник)...
я так понимаю надо чтоб остатки записывались на какой либо документ .. выбрал документ Ввод начальных остатков \\
как реализовать сию процедуру, может чего то я не правильно понял ..
в правилах создаю ПКО
ПереносОстатковПоЛицевымСчетам(объект источник-поиск,получить из входящих данных) объект источник (ДокументСсылка.ВводНачальныхОстатков)
оброботка при загрузке:
Объект.ТаблицаРегистровНакопления.Очистить();
СтрокаТаблицы = Объект.ТаблицаРегистровНакопления.Добавить();
СтрокаТаблицы.Имя = "Взаиморасчеты";
СтрокаТаблицы.Представление = "Остатки по лицевым счетам";
создаю ПВД ПереносОстатковРегистраНакопления
вот здесь возникает вопрос при написании запроса ...
вот типовой запрос я нашел в интернете ... немогу разобраться в нем
Запрос = Новый запрос();
Запрос.текст = "ВЫБРАТЬ
| ОстаткиТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
| ОстаткиТоваровНаСкладахОстатки.КоличествоОстаток КАК Количество
| ИЗ
| РегистрНакопления.ОстаткиТоваровНаСкладах.Остатки КАК ОстаткиТоваровНаСкладахОстатки";
Выборка = запрос.Выполнить().Выбрать();
ТоварыНаСкладах = Новый ТаблицаЗначений();
ТоварыНаСкладах.Колонки.Добавить("Номенклатура");
ТоварыНаСкладах.Колонки.Добавить("Количество");
ТоварыНаСкладах.Колонки.Добавить("Период");
ДатаВыгрузки = ТекущаяДата();
Пока Выборка.Следующий() Цикл
СтрокаТоваров = ТоварыНаСкладах.Добавить();
СтрокаТоваров.Номенклатура = Выборка.Номенклатура;
СтрокаТоваров.Количество = Выборка.Количество;
СтрокаТоваров.Период = ДатаВыгрузки;
КонецЦикла;
ТаблицаИменРегистров = Новый ТаблицаЗначений();
ТаблицаИменРегистров.Колонки.Добавить("Имя");
ТаблицаИменРегистров.Колонки.Добавить("Представление");
СтрокаТаблицы = ТаблицаИменРегистров.Добавить();
СтрокаТаблицы.Имя = "ОстаткиТоваровНаСкладах";
СтрокаТаблицы.Представление = "Остатки товаров на складах";
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Номер", "001");
ИсходящиеДанные.Вставить("Дата", ДатаВыгрузки);
ИсходящиеДанные.Вставить("Комментарий", "Перенос остатков товаров на " + Строка(ДатаВыгрузки));
ИсходящиеДанные.Вставить("ТаблицаРегистровНакопления", ТаблицаИменРегистров);
ИсходящиеДанные.Вставить("ОстаткиТоваровНаСкладах", ТоварыНаСкладах);
ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ПереносОстатковТоваров");
|
|