Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Ошибка при проведении документа , Не проводится при системном проведении          
Alex007 Подменю пользователя
сообщение 09.10.15, 12:33
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 1 раз
Рейтинг: 0

Здравствуйте. Необходимо было сделать, чтобы при изменении в уже проведенной Приходной накладной копировались изменения табл.части в подчиненной "РасходнаяНакладная_1". Были дописаны соответствующие условия В КОНЦЕ Модуля документа. Теперь возникает проблема при системном проведении доков ("Операции-Проведение документов"):

Док.ВыбратьПодчиненныеДокументы(НачГода(ТекущаяДата()),,ТекущийДокумент());
{Документ.Т_ПриходнаяНакладная.Модуль Документа(882)}: Не выбран документ!

При обычном проведении Приходной из журнала все нормально. Где накосячил подскажите.

    
Конец Процедуры  //ОбработкаПроведения()

Спр = СоздатьОбъект("Справочник.Контрагенты");
                Док = СоздатьОбъект("Документ");

    Док.ВыбратьПодчиненныеДокументы(НачГода(ТекущаяДата()),,ТекущийДокумент());
    
  Пока Док.ПолучитьДокумент()=1 Цикл
      
    Если Док.Вид()="Т_РасходнаяНакладная1"  Тогда  
        Док.удалитьСтроки();
        ТаблЧ = СоздатьОбъект("ТаблицаЗначений");
            ВыгрузитьТабличнуюЧасть(ТаблЧ);
        
            Док.ЗагрузитьТабличнуюЧасть(ТаблЧ);
        
            док.Записать();
            док.Провести();
        КонецЕсли;
        
  КонецЦикла;

Acid Подменю пользователя
сообщение 09.10.15, 12:48
Сообщение #2

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 379 раз
Рейтинг: 0

Если переместить этот блок в процедуру ОбработкаПроведения, ошибка выскакивает?


Signature

Документируйте Код! мать вашу...


Alex007 Подменю пользователя
сообщение 09.10.15, 12:51
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(Acid @ 09.10.15, 13:48) *
Если переместить этот блок в процедуру ОбработкаПроведения, ошибка выскакивает?


Тогда ругается на Док.Провести() , т.е. на попытку проведения другого документа

nysysimara Подменю пользователя
сообщение 09.10.15, 13:02
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Цитата(Alex007 @ 09.10.15, 12:51) *
Тогда ругается на Док.Провести() , т.е. на попытку проведения другого документа

можна обойти это:
вместо Док.Провести() вызвать внешнюю обработку, в которой провести подчиненный док


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

Alex007 Подменю пользователя
сообщение 09.10.15, 13:16
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(nysysimara @ 09.10.15, 14:02) *
можна обойти это:
вместо Док.Провести() вызвать внешнюю обработку, в которой провести подчиненный док


не совсем понимаю, как во внешней обработке прописать, что нужно провести подчиненный именно этому текущему документу, так же надо прописать диапазон выборки подчиненных документов привязанный к дате текущего документа, чтобы не лопатить всю базу в выборке

nysysimara Подменю пользователя
сообщение 09.10.15, 13:38
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

передаете в обработку ссылку на док, а внутри проводите
например:
  
Если Док.Вид()="Т_РасходнаяНакладная1"  Тогда  
    Док.удалитьСтроки();
    ТаблЧ = СоздатьОбъект("ТаблицаЗначений");
    ВыгрузитьТабличнуюЧасть(ТаблЧ);
        
    Док.ЗагрузитьТабличнуюЧасть(ТаблЧ);
        
    док.Записать();
    ОткрытьФорму("Обработка",Док.ТекущийДокумент(),КаталогИБ() + "ExtForms\ПровестиТ_РасходнаяНакладная1.ert");
            
КонецЕсли;

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


Сообщение отредактировал nysysimara - 09.10.15, 13:42


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

Alex007 Подменю пользователя
сообщение 09.10.15, 16:09
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 1 раз
Рейтинг: 0

сделал не внешнюю, а в конфигурацию вставил обработку
ОткрытьФорму("Обработка.ПровестиРасх1",Док.ТекущийДокумент());



не получилось обойти
{Обработка.ПровестиРасх1.Форма.Модуль(6)}: Данная операция недоступна при проведении документа!

Домовик Подменю пользователя
сообщение 09.10.15, 20:58
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

концептуально как-то неверно получается. еще в процессе перепроведения приходной уже перепроводится расходная....

по идее, при проведении расходной вы только должны куда-то занести информацию, что нужно поменять состав табличной части у соотв. расходной.

nysysimara Подменю пользователя
сообщение 12.10.15, 8:10
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Цитата(Alex007 @ 09.10.15, 16:09) *
не получилось обойти

{Обработка.ПровестиРасх1.Форма.Модуль(6)}: Данная операция недоступна при проведении документа!


да, вспомнила, обработку по проведению подчиненного дока я вызывала не из модуля проведения основного,
а вешала на кнопку "Провести" на форме документа.
Соответственно это действие выполнялось только при интерактивном нажатии на кнопку,
а при системном проведении доков, подчиненные не перепроводились.


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 15.06.25, 23:34
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!