|
Разбить остатки на несколько документов | ☑ | ||
---|---|---|---|---|
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
|
как бы все, сделала дико извращенски
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |