Имя: Пароль:
1C
1С v8
Замена значений в документе Операция (бухгалтерская)
0 first_may
 
23.09.11
14:54
Добрый день. Есть обработка ПоискИЗаменаЗначений.epf. Ей хорошо меняются значения реквизитов в документах, кроме одного, а именно Операция (бухгалтерская). Подскажите пожалуйста, как можно изменить значение реквизитов в этом документе? Есть ли такая возвожность?
1 Maxus43
 
23.09.11
15:01
каких реквизитов конкретно?
З.ы. проводки там - это не реквизиты, их так не поменять
2 shuhard
 
23.09.11
15:05
(0) [кроме одного, а именно Операция (бухгалтерская)]
ни фига подобного,
в корректировке Рг то же нельзя
и в любом другом документе без ТЧ обработку нужно писать собственную
3 first_may
 
23.09.11
15:05
Djj,ot nj rjyaf Бухгалтерия государственного учреждения, редакция 1.0 (1.0.5.2), а реквизит Дт (КПК).
4 first_may
 
23.09.11
15:06
В "обычных" документах заменить можно, потом перепроводишь и все Ок. А тут операция :(.
5 shuhard
 
23.09.11
15:08
(4) внимательно читаем (2)
есть документы без ТЧ
6 first_may
 
23.09.11
15:11
Я понял, то есть надо менять в самом регистре, а для этого надо писать самому обработку, так?
7 shuhard
 
23.09.11
15:12
(6)
нет
да
8 Maxus43
 
23.09.11
15:12
(6) да. набор записей регистра бухгалтерии менять, с отбором по этому документу
9 first_may
 
23.09.11
15:15
Спасибо.
10 first_may
 
23.09.11
15:16
А готовой у кого нибудь есть? А то время поджимает.
11 Maxus43
 
23.09.11
15:21
там 5 строк кода, написать самому быстрей
12 first_may
 
23.09.11
15:24
Не 5 строк, еще надо выбрать операции :). Хотя если покажешь пять строк учту их :).
13 Maxus43
 
23.09.11
15:28
ладно, 6 строк. короче быстрей написать чем спрашивать)
14 hhhh
 
23.09.11
15:28
вроде ПоискИЗаменаЗначений.epf всё меняет и в регистрах. Чего вы всё запутываете?
15 first_may
 
23.09.11
15:29
не меняет, вылетает ошибка... во всяком случае что есть у меня, готов проэксперементировать вашу. готовы прислать?
16 Maxus43
 
23.09.11
15:31
выкладывай код свой. исправим
17 Stim213
 
23.09.11
15:32
(10) есть. общайся, пришлю
18 Stim213
 
23.09.11
15:32
(14) Здрасти! С чего бы??
19 first_may
 
23.09.11
15:34
Вот ошибка
{Форма.Форма.Форма(249)}: Ошибка при вызове метода контекста (Найти)
                   СтрокаТабЧасти = ТаблицаНабора.Найти(Ссылка, ИмяКолонки);
по причине:
Неверное имя колонки

Сама обработка http://zalil.ru/31746987
20 shuhard
 
23.09.11
15:34
(14) ты наверно про обработочку замена дублей говоришь,
та лазит везде
21 first_may
 
23.09.11
15:34
ТО  Stim213 - мой адрес first_may@mail.ru
22 luckyluke
 
23.09.11
15:34
(15) да там править пару строку вроде... я поправил и ошибки не вылетает.
23 hhhh
 
23.09.11
15:35
(15) какая ошибка? В БП 2.0, например, ввели подразделения как измерение в проводки, и там детская ошибка: поля называются ПодразделениеДт и ПодразделениеКт, и обработка тупо ищет поле Подразделение.
24 first_may
 
23.09.11
15:35
ТО  Maxus43: вот я начал писать:

   Запрос = Новый Запрос;
   Запрос.Текст = "
   |ВЫБРАТЬ
   |    ЕПСБУ.Регистратор
   |ИЗ
   |    РегистрБухгалтерии.ЕПСБУ КАК ЕПСБУ
   |ГДЕ
   |    ЕПСБУ.КБКДт = &КБКДт";
   Запрос.УстановитьПараметр("КБКДт", Справочники.КБК.НайтиПоНаименованию("18800000000000000"));
   РезультатЗапроса = Запрос.Выполнить();
   
   Выборка = РезультатЗапроса.Выбрать();
   Пока Выборка.Следующий() Цикл
       Если Строка(ТипЗнч(Выборка.Регистратор)) = "Операция (бухгалтерская)" Тогда
           ДокСсылка = Выборка.Регистратор;
           Док = ДокСсылка.ПолучитьОбъект();
       КонецЕсли;
   КонецЦикла;
25 luckyluke
 
23.09.11
15:36
(23) вот точно, вспомнил, это и правил.
26 first_may
 
23.09.11
15:36
ТО luckyluke Поделишься рабочей?
27 luckyluke
 
23.09.11
15:38
(26) вот, пробуй http://webfile.ru/5562690
28 first_may
 
23.09.11
15:41
ТО   luckyluke - супер, отлично, спасибо!!! :)
29 unregistered
 
23.09.11
15:41
(23) +100
исправляется тремя строчками

Для Каждого Измерение ИЗ Движение.Измерения Цикл
  Если Измерение.Тип.СодержитТип(ТипЗнч(Ссылка)) Тогда
    Если (Измерение.Имя = "Валюта") И ЕстьКорреспонденция Тогда
       масИменКолонок.Добавить("ВалютаДт");
       масИменКолонок.Добавить("ВалютаКт");
    ИначеЕсли (Измерение.Имя = "Подразделение") И ЕстьКорреспонденция Тогда
       масИменКолонок.Добавить("ПодразделениеДт");
       масИменКолонок.Добавить("ПодразделениеКт");
    Иначе
   масИменКолонок.Добавить(Измерение.Имя);
    КонецЕсли;
  КонецЕсли;
КонецЦикла;