Помощь - Поиск - Пользователи - Календарь
Полная версия: Перенос Остатков
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 7.7" > (7.7) Обмен данными
Андрейка
Подскажите пожалуйста модуль программы выгрузки и загрузки Остатков из одной базы в другую, желательно в формате электронных таблиц...
Stado_adama
Может тебе проще сделать копию базы, а оригинал свернуть скажем на начало 2008го года?
Андрейка
Цитата(Stado_adama @ 5.3.2008, 12:39) *

Может тебе проще сделать копию базы, а оригинал свернуть скажем на начало 2008го года?


Нет мне нужно внешнюю обработку, что бы можно было в любой момент перенести остатки в любой базе :))
Stado_adama
а конфа какая?
Андрейка
Цитата(Stado_adama @ 5.3.2008, 13:25) *

а конфа какая?




А это играет какую то роль?

Ну на данный момент у меня 7.70.257
Stado_adama
ну вот и переноси со своей конфы "7.70.257" че хочешь куда хочешь... а модуль тебе так никто не покажет... не зная какая компонента у тебя используется...
Андрейка
Цитата(Stado_adama @ 5.3.2008, 14:11) *

ну вот и переноси со своей конфы "7.70.257" че хочешь куда хочешь... а модуль тебе так никто не покажет... не зная какая компонента у тебя используется...



Мне просто нужен пример, а там я сам подкоректирую то что мне надо...
WaRDeR
Если у тебя достаточно опыта, чтобы самому "корректировать", то пример тут совсем ни к чему, а если на вопрос об конфе выбдаешь релиз, то лучше обращайся к специалисту (учет на предприятии - штука серьезная)
Андрейка
Цитата(WaRDeR @ 5.3.2008, 17:24) *

Если у тебя достаточно опыта, чтобы самому "корректировать", то пример тут совсем ни к чему, а если на вопрос об конфе выбдаешь релиз, то лучше обращайся к специалисту (учет на предприятии - штука серьезная)




Да нет, скиньте внешнюю обработку с загрузкой и выгрузкой остатков, я посматрю напримере как это делаеться и сделаю свою... Что так сложно понять что ли?
WaRDeR
Цитата
Что так сложно понять что ли?

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


ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|ТоварыНаСкладахОстатки.Номенклатура,
|ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
|ТоварыНаСкладахОстатки.СерияНоменклатуры,
|ТоварыНаСкладахОстатки.Качество,
|ТоварыНаСкладахОстатки.КоличествоОстаток,
|NULL как ЦенаВРознице
|ИЗ
|РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, Склад = &Склад)КАК ТоварыНаСкладахОстатки
|ГДЕ
|ТоварыНаСкладахОстатки.КоличествоОстаток > 0
|ОБЪЕДЕНИТЬ ВСЕ
|ВЫБРАТЬ
|ТоварыВНТТОстатки.Номенлатура,
|ТоварыВНТТОстатки.ХарактеристикаНоменклатуры,
|ТоварыВНТТОстатки.СерияНоменклатуры,
|NULL,
|ТоварыНаСкладахОстатки.КоличествоОстаток,
|ТоварыВНТТОстатки.ЦенаВРознице
|ИЗ
|РегистрНакопления.ТоварыВНТТ.Остатки(&КонДата, Склад = &Склад) КАК ТоварыВНТТОстатки
|ОБЪЕДЕНИТЬ ВСЕ
|ВЫБРАТЬ
|
|Функция НачПродСтоимость = НачОст(ПродСтоимость);
|Функция КонПродСтоимость = КонОст(ПродСтоимость);
|Функция ПрихПродСтоимость = Приход(ПродСтоимость);
|Функция РасхПродСтоимость = Расход(ПродСтоимость);

|Условие (МестоХранения в Склад);
|Условие (Номенклатура в Товар);

|Группировка МестоХранения без групп;
|Группировка Номенклатура без групп;";

Запрос = СоздатьОбъект("Запрос");

// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Предупреждение("Запрос по партиям не выполнился!!!");
Возврат;
КонецЕсли;
КвоПозиций = 0;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
Таб.ВывестиСекцию("Шапка");
Пока Запрос.Группировка(1) = 1 Цикл
МестоХранения = Запрос.МестоХранения;
тзДанные.НоваяСтрока();
тзДанные.Склад = МестоХранения;
тзДанные.Товары = СоздатьОбъект("ТаблицаЗначений");
тзТовары = тзДанные.Товары;
тзТовары.Очистить();
Для Инд = 1 По спРекв.РазмерСписка() Цикл
Колонка = спРекв.ПолучитьЗначение(Инд);
тзТовары.НоваяКолонка(Колонка);
КонецЦикла;

Таб.ВывестиСекцию("Склад");
Пока Запрос.Группировка(2) = 1 Цикл
ТМЦ = Запрос.Номенклатура;
КонОстаток = Запрос.КонОстаток;
КонСтоимость = Запрос.КонСтоимость;
ПрихДок = Запрос.ПрихДокумент;
Счет = Запрос.Счет;
Если (рБезНулевых = 1) и (КонОстаток = 0) Тогда
Продолжить;
КонецЕсли;
тзТовары.НоваяСтрока();
тзТовары.ТМЦ = ТМЦ;
тзТовары.Счет = Счет;
тзТовары.Кво = КонОстаток;
тзТовары.СуммаБезНДС = КонСтоимость;
Таб.ВывестиСекцию("ТМЦ");
КвоПозиций = КвоПозиций + 1;
Состояние("Вывод: ["+СокрЛП(КвоПозиций)+"]");
Индикатор = "Вывод: "+Строка(КвоПозиций);
Форма.Обновить();
КонецЦикла;
// свернем таблицу
тзТовары.Свернуть("ТМЦ,Счет","Кво,СуммаБезНДС");
КонецЦикла;

Если Excel 0 Тогда
ВыгрузитьВЭксель(тзДанные);
Excel.Visible = 1;
Сообщить("Выгруженно: "+СокрЛП(КвоПозиций),"i");
Индикатор = "Выгруженно: ["+СокрЛП(КвоПозиций)+"]";
Форма.Обновить();
КонецЕсли;

Если (рПечать = 1) или (Excel = 0) Тогда
Таб.ВывестиСекцию("Дно");
Таб.ТолькоПросмотр(1);
Таб.Показать("Остатки за период: "+ПериодСтр(Дата1,Дата2));
КонецЕсли;
КонецПроцедуры





Вот что тут неправильно, помогите исправить...
Часть кода внешней обработки по выгрузке остатков..
Stado_adama
Андрейка, ты будешь крайне удивлен, но первое что тут не правильно, это то, что запрос у тебя от 8ки, а не от 7ки!!!
Андрейка
Напиши тогда мне запрос 7-ки плз...
Snake-84
Андрейка! Не обижайся, но судя по твоим фразам ты 1С не знаешь и не понимаешь впринципе. Так что или садись разбирайся с логикой ее работы или не пытайся лезть в то, чего не понимаешь.
Андрейка
Цитата(Snake-84 @ 12.3.2008, 14:44) *

Андрейка! Не обижайся, но судя по твоим фразам ты 1С не знаешь и не понимаешь впринципе. Так что или садись разбирайся с логикой ее работы или не пытайся лезть в то, чего не понимаешь.



Вот я и для этого спрашиваю что бы разобраться...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.