Имя: Пароль:
1C
1C 7.7
v7: Ввод Остатков
0 Недобитый романтик
 
03.01.12
04:11
Здравствуйте.База ТиС.Имеется 4 склада. Учет товара ведется уже около 5 лет. За это время база сильно выросла. и свертка базы не производилась. Подскажите пожалуйста как быстро произвести свертку. или быстро создать документы ВводаОстатков на даты 31.12.2008,31.12.2009,31.12.2010,31.12.2011
1 zxcvb
 
03.01.12
04:18
01.01.2012 лучше всего. Там штатно есть.
2 Недобитый романтик
 
03.01.12
04:23
(1) что там штатно есть
3 Длинный Клиент
 
03.01.12
04:26
wrap.ert в extforms
4 Недобитый романтик
 
03.01.12
04:30
(3) сама обработка не запускается. Обьясните что эта за обработка.
5 ДенисЧ
 
03.01.12
04:34
(3) чООООООООО???????? wrap для свёртки торговли????
Ты что, бухой????
(4) Сервис - свертка.
6 Недобитый романтик
 
03.01.12
04:38
(5) вопрос как быстро сформировать в ТиС документ ВводаОстатков Товара на даты в (0)
7 v4442
 
03.01.12
04:38
(5) Замучаются сворачивать, 5 лет, вели наверно без книг продаж, покупок и тд.
8 v4442
 
03.01.12
04:39
Номенклатура большая? если не очень, то сделать отчет и завести руками.
9 v4442
 
03.01.12
04:40
(6) Документ должен быть один
10 Недобитый романтик
 
03.01.12
04:43
(8) да номенклатура большая
11 Недобитый романтик
 
03.01.12
04:44
Что можете посоветовать с документом ВводОстатковТМЦ. Или справочник и остатков в УТ 11
12 v4442
 
03.01.12
04:44
Недавно сворачивал подобную базу.
Надо с файлами поколдовать, потом тестирование, далее измененную обработку свертки запустить и еще немного с базой поработать.
13 v4442
 
03.01.12
04:47
(11) Если ниразу неделал подобное то можешь убить очень много времени, дня 2-3 .
С небольшой базой у меня ушло 5 часов, хоошо что свертка запускалось на ночь, а  ручное колдовсто  заняло 2 часа .
14 v4442
 
03.01.12
04:49
Какой размер базы? сколько документов ?
15 v4442
 
03.01.12
04:50
Сворачивать только товар? Деньги не нужно сворачивать?
16 Cthulhu
 
03.01.12
05:02
а взаиморасчеты - пушкин будет сворачивать?
17 Недобитый романтик
 
03.01.12
05:22
(14) база 3 ГВ
18 Недобитый романтик
 
03.01.12
05:23
(16) с взаиморасчетами все понятно.
19 Недобитый романтик
 
03.01.12
05:25
Как побыстрее сделать свертку. Я понимаю так что необходимо сформировать Документы Ввода Остатков и все доки которые ранне удалить.
20 v4442
 
03.01.12
05:28
(19) Самое быстро - это пригласить того кто сворачивал подобные базы. Я за такую работу прошу 10 000 руб
21 Недобитый романтик
 
03.01.12
05:30
В общем проблема такова. Я собрался переходить с этой базы на УТ 11. Штатными обработками делаю выгрузку Настроек и остатков. У меня выдается где- то через час работы "Недостаточно памяти".
22 Недобитый романтик
 
03.01.12
05:30
Как по другому можно осуществить переход с ТиС на УТ 11?
23 Недобитый романтик
 
03.01.12
05:30
Или сформировать документы ВводаОстатков?
24 v4442
 
03.01.12
05:31
Если базу пришлешь, то  в два раза дешевле. 5000 руб
25 Недобитый романтик
 
03.01.12
05:31
И в чем прикол то что тестирование и исправление не делается. А закрывается с ошибкой на любом компе. Я даже выгрузку\загрузку делал не помогает
26 v4442
 
03.01.12
05:33
Сложно сказать не видев базы.
27 v4442
 
03.01.12
05:34
Видимо базу вели как разумели, а соответсвенно и глюков там много.
28 v4442
 
03.01.12
05:35
Высылай базу и готовь 5000 руб
29 Недобитый романтик
 
03.01.12
05:36
(24) а ты не можешь поделится информацией хоть с чего начать или обработками
30 Недобитый романтик
 
03.01.12
05:37
я просто начинающий хочется разобраться
31 v4442
 
03.01.12
05:38
1 УДАЛИТЬ ФАЙЛЫ  РЕГИСТРА КНИГА ПРОДАЖ, ПОКУПОК
И ТД
32 Недобитый романтик
 
03.01.12
05:43
(31) книгу продаж покупок не ведем . Я выгрузил данные с ТиС. Создал новую базу и загрузил туда данные
33 Недобитый романтик
 
03.01.12
05:43
вот что нарыл а разобраться не могу
Переделываем типовую свертку от ТИС, оставляем от нее только создание документов Ввода остатков (без проведения) и удаление периодики
34 Недобитый романтик
 
03.01.12
05:44
она не запускается в таком случае
35 v4442
 
03.01.12
05:47
Проще взять  отчет остатков и на основании его заполнить документ начальных остатков и потом обработкой удалить ненужные доки. Так быстрее получиться.
36 Недобитый романтик
 
03.01.12
05:54
Так вот я с этого и начал и затормозился. Взял Отчет ОстаткиТМЦ там есть кнопка Инвентаризация. Изменил там документ с Инвентаризации на Ввод остатков. И ничего При формировании остатков документ сформировался пустой.
37 Недобитый романтик
 
03.01.12
05:54
(35) дай мне свой номер icq пообщаемся
38 v4442
 
03.01.12
05:56
Думаю что все что бесплатно уже написал.
39 Недобитый романтик
 
03.01.12
05:57
помоги на основании отчета заполнить документ ввода остатков
40 Недобитый романтик
 
03.01.12
05:58
а остальное я все сам сделаю.
41 Недобитый романтик
 
03.01.12
05:58
или подскажи где найти про то что ты написал в (35)
42 v4442
 
03.01.12
05:59
(41) искать в коде отчета
43 Недобитый романтик
 
03.01.12
06:00
(42) в отчете ОстаткиТМЦ
44 Недобитый романтик
 
03.01.12
06:12
у кого еще какие варианты есть?
45 Недобитый романтик
 
03.01.12
07:10
написал обработку создания документа ВВодаОстатков на дату просьба подправить и покритиковать
//*******************************************
Процедура Сформировать()
   Перем ТаблОстатков; //выгрузка итогов по регистру ПартииНаличие
   Перем ТабОстатковДок, ТЗДокумНом; //таблица остатков для формирования документов
   
   
//******************************************************************************
//            Эта часть формирует документы ввода остатков на основании
//            данных остатков по партиям
//******************************************************************************
   
   СкладыФирмы =  СоздатьОбъект("Справочник.Склады");            //Справочник Склады
   СпрСтавкиНП =  СоздатьОбъект("Справочник.СтавкиНП");            //Справочник Ставки НП
   ВремРегистры = СоздатьОбъект("Регистры");

   ПартииНаличие = ВремРегистры.ПартииНаличие;       //Регистр ПартииНаличие
   ТаблНоменклДляОстатков  =СоздатьОбъект("ТаблицаЗначений");    //Список номенклатуры

   СпрСтавкиНП.ВыбратьЭлементы();
   Если СпрСтавкиНП.НайтиПоНаименованию("Без налога")=1 Тогда
        СтавкаНПТек= СпрСтавкиНП.ТекущийЭлемент();
   КонецЕсли;
   
   ПартииНаличие.ВременныйРасчет();
   ВремРегистры.РассчитатьРегистрыНа(ДатаСвертки);
   ПартииНаличие.УстановитьЗначениеФильтра("Фирма", ФирмаДляСвертки, 1);          
   ПартииНаличие.ВыгрузитьИтоги(ТаблОстатков,1,1);
   //Создадим список номенклатуры по которой есть остатки партий
     ТаблОстатков.Выгрузить(ТаблНоменклДляОстатков);
   ТаблНоменклДляОстатков.Свернуть("Номенклатура","");
   //Выбираем склады для остатков
   СкладыФирмы.ВыбратьЭлементы();
   Пока   СкладыФирмы.ПолучитьЭлемент()=1 Цикл      //Обход по складам
            ТекМОЛ=СкладыФирмы.МОЛ; //Определим МОЛ для текущего склада
   //Для текущего МОЛ отберем партии
       ПартииНаличие.УстановитьЗначениеФильтра("МОЛ", ТекМОЛ, 1);          
       ПартииНаличие.ВыгрузитьИтоги(ТабОстатковДок,1,1);
       ТабОстатковДок.Свернуть("МОЛ, Номенклатура,Партия","Количество,СуммаУпр,СуммаРуб,СуммаБезНДС");
       ТабОстатковДок.НоваяКолонка("НомДок","Число");
       //Пройдем по номенклатуре и отберем партии для текущей номенклатуры
         ТаблНоменклДляОстатков.ВыбратьСтроки();          
             Пока  ТаблНоменклДляОстатков.ПолучитьСтроку()=1 Цикл    //Обход по номенклатуре
                 ТабОстатковДок.ВыбратьСтроки();
                 НомДляДок=0;
                 Пока ТабОстатковДок.ПолучитьСтроку()=1 Цикл  
                     
                     Если  ТабОстатковДок.Номенклатура = ТаблНоменклДляОстатков.Номенклатура Тогда
                     НомДляДок=НомДляДок+1;
                     ТабОстатковДок.НомДок = НомДляДок;    
                     КонецЕсли;    
               КонецЦикла;
                 КонецЦикла;   //Обход по номенклатуре
  //Распределили номенклатуру по документам
  //посмотрим сколько документов у нас
 ТабОстатковДок.Выгрузить(ТЗДокумНом);
  //Свернув ТЗ по полю НомДок получим необходимое кол-во документов
 ТЗДокумНом.Свернуть("НомДок","");
 ТЗДокумНом.ВыбратьСтроки();
 //Теперь можно формировать документы ввода остатков ТМЦ
 Пока ТЗДокумНом.ПолучитьСтроку()=1 Цикл
      ТекНомДок = ТЗДокумНом.НомДок;
      //Выбираем всю номенклатуру для тек.номера и заносим в таб.часть документа
           ДокОст = СоздатьОбъект("Документ.ВводОстатковТМЦ");
       ДокОст.Новый();
       ДокОст.ВидОперации = Перечисление.ВидыОперацийПоВводуОстатков.ОстаткиТМЦ;
       ДокОст.ДатаДок = ДатаСвертки;
       ДокОст.Фирма = ФирмаДляСвертки;
       ДокОст.НазначитьТип("ВидСтатус", "Перечисление.ВидыТМЦ");
       ДокОст.ВидСтатус    = Перечисление.ВидыТМЦ.Товар;
       ДокОст.Склад = СкладыФирмы.ТекущийЭлемент();
       
       ДокОст.Автор   = ГлПользователь;
       ДокОст.Комментарий = "Создан обработкой 'СверткаБазыDZ' "+ТекущаяДата();
       // удаляем старые табличные части
       ДокОст.УдалитьСтроки();  
 ТабОстатковДок.ВыбратьСтроки();        
       Пока   ТабОстатковДок.ПолучитьСтроку()=1 Цикл
           Если ТекНомДок=ТабОстатковДок.НомДок Тогда
           ДокОст.НоваяСтрока();
           ДокОст.Номенклатура = ТабОстатковДок.Номенклатура;
           ДокОст.Количество = ТабОстатковДок.Количество;
           ДокОст.Единица = ТабОстатковДок.Номенклатура.БазоваяЕдиница;
           ДокОст.Коэффициент = ТабОстатковДок.Номенклатура.БазоваяЕдиница.Коэффициент;  
             ДокОст.Сумма = ТабОстатковДок.СуммаБезНДС;
             ДокОст.СтавкаНДС = Перечисление.СтавкиНДС.БезНДС;
             ДокОст.СтавкаНП = СтавкаНПТек;
             ДокОст.СуммаРуб = ТабОстатковДок.СуммаРуб;
             ДокОст.СуммаУпр = ТабОстатковДок.СуммаУпр;
           КонецЕсли;
       КонецЦикла;
         ДокОст.АвтоВремяКонецДня();
       ДокОст.Записать();
   КонецЦикла;
КонецЦикла;
46 Недобитый романтик
 
03.01.12
07:21
Обработка не взлетела
47 Недобитый романтик
 
03.01.12
07:21
просьба помочь
48 Недобитый романтик
 
03.01.12
07:50
???
49 KRV
 
03.01.12
08:02
креативненько...
50 Недобитый романтик
 
03.01.12
08:19
(49) Как уукажи на ошибки обработка уже выполняется около часу
51 Недобитый романтик
 
03.01.12
08:20
укажи на ошибки обработка уже выполняется около часу
52 KRV
 
03.01.12
08:26
в складах МОЛ заполнен?
53 Недобитый романтик
 
03.01.12
08:30
(52) да заполнен
54 KRV
 
03.01.12
08:39
мыло дай - кину свертку, которой штук 20 баз свернул (спасибо ее автору). Там пошагово расписано все. Занимает максимум час, включая поход в магазин.
55 Недобитый романтик
 
03.01.12
08:48
(54) мыло [email protected]
56 KRV
 
03.01.12
09:01
уплыло - пользуйся.. ;)
57 KRV
 
03.01.12
18:17
гы... затих... или получилось или убился напрочь... :)))
58 inspam
 
03.01.12
18:24
(57) в магазин побежал..
59 Cthulhu
 
03.01.12
19:52
(54): мнится мне, что всем интересно.
60 Злопчинский
 
03.01.12
19:58
(59) думаешь, поделиться?
61 Cthulhu
 
03.01.12
20:56
(60): ну, может, попросить надо?.. давай, присоединяйся:
(54): KRV, Рома, ты так вкусно про свертку рассказал, что захотелось хотя бы взглянуть - мочи нет прям. Пожалуйста, будь так любезен, прояви свою доброту, выложив свертку с инструкциями в место общедоступное (напоминаю: скурвившийся нимфостapт с некоторых пор к таковым местам не относится).
62 KRV
 
03.01.12
21:37
ээ.. лень уже за комп лезть.. утром тему апну ссылкою..
63 KRV
 
04.01.12
07:43
http://webfile.ru/5755160  -  как обещал, утренний  Up
(60)(61) кстати! авторство чье свертки не помню, так что не удивляйся, если твое окажется, ибо найдено на просторах ынтырнета, может, даже и с нимфостарта когда-то вынимал, до того, как он совсем обсеренился..
64 nicxxx
 
04.01.12
08:51
а не проще ли ничего никуда не перегружать, а удалить из текущей базы ненужные данные?
например:
//1. очистка регистров
       ДатаТА = DateToDBF(Дата(2012,1,1));
   ДатаНачМес = DateToDBF(Дата(2011,12,1));
       СписокРегистров = СоздатьОбъект("СписокЗначений");
   СписокРегистров.ДобавитьЗначение("rg2351");
   //в список регистров добавить все регистры, удалил повторяющиеся строки, чтобы пример на занимал много места
   Для сч = 1 по СписокРегистров.РазмерСписка() Цикл
   
       ИмяРег = СписокРегистров.ПолучитьЗначение(сч);
       Состояние("Очищается регистр "+ИмяРег);
       ТекстЗапроса = "
       |delete from "+ИмяРег+"
       |where
       | (period <> "+ДатаТА+" and period<>"+ДатаНачМес+")
       |";
   
       DBConn.Execute(ТекстЗапроса);
   КонецЦикла;
//2. очистка журнала
       ДатаТА = DateToDBF(Дата(2012,1,1));      // ТА
   
   ТекстЗапроса = "
   |delete from 1sjourn
   |where
   | date < "+ДатаТА+"
   |";

   DBConn.Execute(ТекстЗапроса);

   ТекстЗапроса = "
   |delete from 1scrdoc
   |where
   | childdate < "+ДатаТА+"
   |";

        DBConn.Execute(ТекстЗапроса);

//3. очистка таблиц документов
Для сч=1 По Метаданные.Документ() Цикл
       Иден = Метаданные.Документ(сч).Идентификатор;
       
       ИдДок = глМД.Иддокумента(иден); //1611

       Состояние("Очищается таблица шапки документа "+Иден);
       ТекстЗапроса = "
       |delete from DH"+ИдДок+"
       |where
       | iddoc NOT IN (select iddoc from 1sjourn as j where j.date >="+ДатаТА+")
       |";
       
       Попытка
           
           DBConn.Execute(ТекстЗапроса);    
           
       Исключение
       КонецПопытки;
       
       ТекстЗапроса = "
       |delete from DT"+ИдДок+"
       |where
       | iddoc NOT IN (select iddoc from 1sjourn as j where j.date >="+ДатаТА+")
       |";
   
       Состояние("Очищается таблица строк документа "+Иден);
       Попытка
           
           DBConn.Execute(ТекстЗапроса);    
           
       Исключение
       КонецПопытки;
   КонецЦикла;
65 Mikeware
 
04.01.12
08:58
(64) Жестоко...
с перепою пейсалось?
66 nicxxx
 
04.01.12
09:01
не. 30-го числа, перед закрытием магазина, чтоб успеть :) главное - работает
67 Mikeware
 
04.01.12
09:06
(66) понятно....
для розницы (фронта) может и потянет...
68 nicxxx
 
04.01.12
09:15
да, я забыл уточнить - это для розницы. конфа - ТиС, партии не ведутся, только остатки. тут главное после такой свертки либо никогда не делать ТИИ и выгрузку/загрузку (слетят остатки на начало из регистров), либо все же сделать нормальные доки ввода остатков
69 Недобитый романтик
 
04.01.12
14:23
Обработка супер.У меня все получилось. KRV - респект и уважуха
70 Недобитый романтик
 
04.01.12
14:24
Правда с моим обьемом базы делалось 3 часа все. С походом в магазин. и литром беленькой
71 Недобитый романтик
 
04.01.12
15:05
Кто что посоветует
72 ДенисЧ
 
04.01.12
15:05
(71) тебе нужен совет, что делать после дитра беленькой? О_о
73 Недобитый романтик
 
04.01.12
15:22
так я уже трезвый
74 Недобитый романтик
 
04.01.12
15:22
давно причем
75 Недобитый романтик
 
04.01.12
15:23
(72) ну действительно дай совета. уже замучался. А ТС что-то пропал мож у него получилось
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан