|   |   | 
| 
 | Разбить остатки на несколько документов | ☑ | ||
|---|---|---|---|---|
| 0
    
        Rumpil 20.02.12✎ 16:03 | 
        Есть справочник Номенклатура с 45 тысячами строк, нужно оприходовать товар, но в один документ Оприходование пихнуть все товары не получатся - документ элементарно не проводится. Хочу разбить его на несколько документов по 5 тысяч, скажем. Как это можно сделать, вот код:
  ДокОбъект = Документы.ОприходованиеТоваров.СоздатьДокумент(); ДокОбъект.ОтражатьВУправленческомУчете = Истина; ДокОбъект.Дата = ТекущаяДата(); ДокОбъект.Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнаяОрганизация"); ДокОбъект.Склад = Склад; ДокОбъект.Подразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновноеПодразделение"); ДокОбъект.Ответственный = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойОтветственный"); Пакет = Справочники.ВидыНоменклатуры.ПАКЕТ; Юните = Справочники.ВидыНоменклатуры.ЮНИТЕ; ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("əd"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ВидНоменклатуры <> &Пакет | И Номенклатура.ЭтоГруппа = ЛОЖЬ | И Номенклатура.ВидНоменклатуры <> &Юните"; Запрос.УстановитьПараметр("Пакет", Пакет); Запрос.УстановитьПараметр("Юните", Юните); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл СлЧисло = 0; Товар = Выборка.Ссылка; ГСЧ = Новый ГенераторСлучайныхЧисел(); СлЧисло = ГСЧ.СлучайноеЧисло(1, 10); НоваяСтрока = ДокОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = Товар; НоваяСтрока.ЕдиницаИзмерения = ЕдиницаИзмерения; НоваяСтрока.Количество = СлЧисло; //НоваяСтрока.Сумма = 0; НоваяСтрока.Цена = 1; НоваяСТрока.Сумма = НоваяСтрока.Количество*НоваяСтрока.Цена; //Сообщить("Оприходован товар " + Товар + " в количестве " + СлЧисло); КонецЦикла; ДокОбъект.Записать(РежимЗаписиДокумента.Запись); | |||
| 1
    
        Rumpil 20.02.12✎ 16:04 | 
        Если поставить счетчик и сравнивать кратность значения, то как перебрасывать на новый документ след. товары ?     | |||
| 2
    
        Fish гуру 20.02.12✎ 16:06 | 
        ГСЧ = Новый ГенераторСлучайныхЧисел();
  СлЧисло = ГСЧ.СлучайноеЧисло(1, 10); .... НоваяСтрока.Количество = СлЧисло; .... Это пять :)))) | |||
| 3
    
        Rumpil 20.02.12✎ 16:06 | 
        (2) why? ))     | |||
| 4
    
        Rumpil 20.02.12✎ 16:07 | 
        база тестовая просто готовится, реальных остатков пока нет, нужно ее заполнить случайными остатками, что просто поработать в тестовом режиме пару дней     | |||
| 5
    
        zak555 20.02.12✎ 16:07 | 
        (2) бу га га     | |||
| 6
    
        Капитан О 20.02.12✎ 16:08 | 
        предлагаю номенклатуру тоже выбирать с помощью ГСЧ     | |||
| 7
    
        Rumpil 20.02.12✎ 16:08 | 
        (6) хе, не получится, остатки должны быть по всей номенклатуре, а вот какие именно остатки непринципиально     | |||
| 8
    
        hhhh 20.02.12✎ 16:10 | 
        (7) вручную же элементарно можно. Копируешь документ, удаляешь все строки начиная с 5001-й, проводишь. Потом копируешь второй раз, удаляешь строки с 1-й по 5000-ю и после 10001-й, снова проводишь. И так 9 раз. Эта операция займет у тебя максимум 10 минут. А программно ты будешь писать 2 дня? Оно тебе надо? Чего ты паришься?     | |||
| 9
    
        Ненавижу 1С гуру 20.02.12✎ 16:10 | 
        (7) если не принципиально, то почему не по порядку?     | |||
| 10
    
        zak555 20.02.12✎ 16:11 | 
        вынести создание дока в функцию с возращение ссылки на него
  использовать счётчик+транзакции+остаток от деления (% ) и тогда записывать | |||
| 11
    
        Rumpil 20.02.12✎ 16:12 | 
        ну я так и подумал как (10) предлагает сделать. Думал может еще чего.     | |||
| 12
    
        Rumpil 20.02.12✎ 16:12 | 
        (9) по порядку это как ? ПЕРВЫЕ сколько то выбрать ?     | |||
| 13
    
        Капитан О 20.02.12✎ 16:13 | 
        был у меня как-то документ установки цен на 80 КПозиций. и ничего, проводился..     | |||
| 14
    
        ssh2006 20.02.12✎ 16:15 | 
        В 8.1 насколько помню, 99999 ограничение на число строк в ТЧ     | |||
| 15
    
        hhhh 20.02.12✎ 16:16 | 
        (13) видимо обработку проведения тоже ТС писал. И тоже там партии списываются по методу ГСЧ.     | |||
| 16
    
        Rumpil 20.02.12✎ 16:19 | 
        ПРи проведении документа с 45 тысячами строк пишет Недостаточно памяти при 8 гигах     | |||
| 17
    
        ssh2006 20.02.12✎ 16:21 | 
        (16) какая версия платформы?     | |||
| 18
    
        Rumpil 20.02.12✎ 16:21 | 
        8.1.15.14     | |||
| 19
    
        Rumpil 20.02.12✎ 16:31 | 
        как бы все, сделала дико извращенски     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |