Имя: Пароль:
1C
1C 7.7
v7: ТиС Внести изменения в документы некоторых видов с перепроведением .
,
0 raykom
 
20.07.14
18:47
ТиС. Надо прошерстить всю базу и в документы некоторых видов внести изменения и перепровести (или записать, а потом перепровести штатно) с сохранением последовательности.
Как это правильнее сделать ?

Для начала - как идти по документам.

Я решил вот так

Таб2 - ТЗ на форме, где я отмечаю нужные виды документов. (хотя в приципе можно по признаку, если у документа многострочная/табличная часть содержит реквизит "Номенклатура") но не уверен, что В ТиС
этот реквизит называется везде "Номенклатура", а не "ТОвар", например.

        Для поз=1 По Метаданные.Документ() Цикл
            ИмяДок=Метаданные.Документ(поз).Идентификатор;
            Если Таб2.НайтиЗначение(ИмяДок,,)=1 Тогда
        //Тут меняем все, что надо и проводим/записываем

Жду советов и путевку в дворники.
1 ЧеловекДуши
 
20.07.14
18:58
(0) Если ты знаешь куда будешь вносить изменения, то зачем тебе вообще искать по метаданным? :)
2 ЧеловекДуши
 
20.07.14
18:59
Лучше пиши, что и куда и самое главное для чего ты это делаешь? :)
3 raykom
 
20.07.14
19:03
Надо номенклатуру подменить во всех документах, где она есть.
4 VladZ
 
20.07.14
19:09
(3) набери в поисковике: универсальные обработки 1с 7.7 замена значения
5 КонецЦикла
 
20.07.14
19:09
replval.ert
или прямой запрос
провести по хронологии потом
6 raykom
 
20.07.14
19:29
(4)Они не меняют партию.
(5)->(4)
>прямой запрос
Чо это ? Это ДБФ.
7 raykom
 
20.07.14
19:30
ЧТо притаился ?? Давай уже, выписывай путевку ...
8 VladZ
 
20.07.14
19:30
(6) С прямыми запросами и в DBF можно работать.
9 raykom
 
20.07.14
19:31
(8)Может и знаю, что это такое. Но вот именно в таком звучании термина - не могу понять, что это
10 VladZ
 
20.07.14
19:33
Тебе сюда: http://www.1cpp.ru/
11 ЧеловекДуши
 
20.07.14
19:33
(3) БД SQL или нет?
12 дедушка Вах
 
20.07.14
19:34
хорош бухать, через метаданные как ты значения записывать собрался если они не текстовые или ты не в той базе
13 дедушка Вах
 
20.07.14
19:35
оп: Оле-базе
14 ЧеловекДуши
 
20.07.14
19:36
(12) Это простая лень анализировать БД. Он хочет универсально. перепровести документы :)

(0)Не делай этого, лучше воспользуйся прямым запросом.
Переведи БД на SQL, проведи шаманство на прямых запросах.
Переведи обратно в DBF :)
15 raykom
 
20.07.14
19:48
Блть ну нудные вы какие ...

(10)Ну ты меня еще в ополчение в Славянск отправь. Сейчас это модно )
(11)->(6) ДБФ
(12)Ни как не собрался, я в Теме сказал, что сначала обход обсуждаю
(13)Епть ... Зачем такие навороты ...
(14)ТЫ агент ГОСДепа ... Морок наводишь на меня.

Да ладно, я чего то перегрелся. Тупо сравниваю

        Для поз=1 По Метаданные.Документ() Цикл
            ИмяДок=Метаданные.Документ(поз).Идентификатор;
            Если (ИмяДок="ВозвратОтПокупателя")или(ИмяДок="ИнвентаризацияТМЦ")или(ИмяДок="ОприходованиеТМЦ")или(ИмяДок="ПоступлениеТМЦ")или(ИмяДок="Реализация")или(ИмяДок="СписаниеТМЦ") Тогда

Потом обрабатываю при совпадении.
Все быстро, хотя может и криво. Цель достигнута.
Вапроц закрыт.
Спасибо всем ))
16 raykom
 
20.07.14
19:52
А вообще херню написал ...

После определения вида идет полная выборка по виду, а это не правильно ...
17 КонецЦикла
 
20.07.14
20:44
Используй типовую замену значений... нефиг делать кривые лисопеты писать?
потом перепроведешь
18 raykom
 
20.07.14
21:04
(17)Говорб же, оно партию не трогает
Программист всегда исправляет последнюю ошибку.