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

Хранилище

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

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



> Как програмно перепровести Реализацию в бух. учёте , перепроведение документов Реализация с отражением в бух. учёте          
Yevhenii_S Подменю пользователя
сообщение 14.01.21, 12:45
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Хмельницкий
Спасибо сказали: 2 раз
Рейтинг: 0

1С:Предприятие 8.3 (8.3.17.1549)
конфа: "Управление торговым предприятием для Украины", редакция 1.2.

Всем привет.
Есть конфа УТП, использовалась только для управленческого учёта
теперь её нужно перевести на бух. учёт

Мой алгоритм: беру запросом документы без галки в реквизите ОтражатьВБухгалтерскомУчете, получаю Объект каждого документа, ставлю галку "ОтражатьВБухгалтерскомУчете"
далее нужно проверить шапку документа, использую процедуру из общего модуля Заполнение документов
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(докОбьект, докОбьект.мСтруктураПараметровДляПолученияДоговора);


далее хочу проверить заполены ли счета учёта в Товарах и Услугах, выполняю процедуру из самого модуля документа
докОбьект.ЗаполнитьСчетаУчетаВТабЧасти(докОбьект.Товары        , "Товары"        , Истина, Истина);
      докОбьект.ЗаполнитьСчетаУчетаВТабЧастиУслуги(Истина, Истина);
        
          докОбьект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);


и при проведении получаю ошибку:

Проведение документа "Реализация товаров и услуг НО000000004 от 27.06.2011 12:00:00":
В строке номер "1" табличной части "Товары": Не заполнено значение реквизита "Счет учета (БУ)"!
В строке номер "1" табличной части "Товары": Не заполнено значение реквизита "Схема реализации"!
В строке номер "1" табличной части "Товары": Не заполнено значение реквизита "Налоговое назначение (доходов и затрат) "!
В строке номер "1" табличной части "Товары": Не заполнено значение реквизита "Налоговое назначение (НДС)"!

Беру не ту процедуру? или алгоритм действий не правильный?
буду рад советам и критике) 439.gif

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

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Смотрите регистр СчетаУчетаНоменклатуры

One Подменю пользователя
сообщение 14.01.21, 14:16
Сообщение #3

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

попробуйТЕ в проблемном документе вручную установить галку БУ и выбрать повторно номенклатуру, если поле СчетБУ останется пустым, тогда как сказал sava1 смотриТЕ СчетаУчетаНоменклатуры


 ! 

Правила: 1
 


Сообщение отредактировал Vofka - 14.01.21, 16:49

Yevhenii_S Подменю пользователя
сообщение 14.01.21, 16:06
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Хмельницкий
Спасибо сказали: 2 раз
Рейтинг: 0

One @ Сегодня, 14:16 * ,
играюсь на демке, в доках были предварительно сняты галки "проводить в бух. учёте" , очищены счета бухгалтерского и налогового учёта и перепроведены
т.е. я преднамерено получил документы только с управленческими проводками, для того что б найти их запросом и обработать, если ставлю вручную в каждом документе галку "в бух. учёте" то всё проводиться хорошо,
регистр СчетаУчетаНоменклатуры тоже заполнен



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

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Счета учета и прочая информация для бух.учета устанавливается в форме если что.
Смотрите в эту сторону.

А то что вы предлагали как раз на форме и делается, а вам надо самому заполнять документ-объект.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

sava1 Подменю пользователя
сообщение 14.01.21, 17:08
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(DartRomanius @ 14.01.21, 16:30) *
Счета учета и прочая информация для бух.учета устанавливается в форме если что.


Вы модуль объекта видели ?

One Подменю пользователя
сообщение 14.01.21, 17:29
Сообщение #7

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

Цитата( @ 14.01.21, 12:45) *
ставлю галку "ОтражатьВБухгалтерскомУчете"


После этого записываете документ и только потом вызываете ЗаполнитьСчетаУчетаВТабЧасти, да?

DartRomanius Подменю пользователя
сообщение 14.01.21, 20:41
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

sava1 @ Сегодня, 18:08 * ,

Да.
Смысл что плясать надо от формы, и адаптировать под программный метод. )

Сообщение отредактировал DartRomanius - 14.01.21, 20:42


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

One Подменю пользователя
сообщение 14.01.21, 21:53
Сообщение #9

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

DartRomanius @ Сегодня, 20:41 * ,

Я бы перенёс в обработку функции из события при установке флажка



        СчетаУчета = УправлениеВзаиморасчетами.ПолучитьСчетаРасчетовСКонтрагентом(Организация, Контрагент, ДоговорКонтрагента);
                
        Если ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
            СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
            СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателя;
        ИначеЕсли ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Бартерный Тогда
            СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателяПриБартере;
            СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателяПриБартере;
        Иначе
            СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
            СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателя;
        КонецЕсли;
                
        СчетУчетаРасчетовПоТаре          = СчетаУчета.СчетУчетаТарыПокупателя;
        СчетУчетаРасчетовПоТареПоАвансам = СчетаУчета.СчетАвансовПоТареПокупателя;
        СчетУчетаНДС                 = СчетаУчета.СчетУчетаНДСПродаж;
        СчетУчетаНДСПодтвержденный  = СчетаУчета.СчетУчетаНДСПродажПодтвержденный;
        
        // обработка счетов НУ в ТЧ
        Если Товары.Количество() + ВозвратнаяТара.Количество() + Услуги.Количество() > 0 Тогда                
            ЗаполнитьСчетаУчетаВТабЧасти(Товары        , "Товары"        , ОтражатьВБухгалтерскомУчете, ОтражатьВБухгалтерскомУчете);
            ЗаполнитьСчетаУчетаВТабЧасти(ВозвратнаяТара, "ВозвратнаяТара", ОтражатьВБухгалтерскомУчете, ОтражатьВБухгалтерскомУчете);
            ЗаполнитьСчетаУчетаВТабЧастиУслуги(ОтражатьВБухгалтерскомУчете, ОтражатьВБухгалтерскомУчете);
        КонецЕсли;

Yevhenii_S Подменю пользователя
сообщение 15.01.21, 12:19
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Хмельницкий
Спасибо сказали: 2 раз
Рейтинг: 0

One @ Вчера, 17:29 * ,
Цитата(One @ 14.01.21, 17:29) *
После этого записываете документ и только потом вызываете ЗаполнитьСчетаУчетаВТабЧасти, да?

Сначала не записывал, сейчас попробовал записать сразу после галки, но результата не дало, при проведении те же ошибки

Цитата(One @ 14.01.21, 21:53) *
Я бы перенёс в обработку функции из события при установке флажка


Дошёл я и до этого, перенёс всё, счета (как реквизиты документа) заполняються так как нужно, а дальше при отработке процедуры
ЗаполнитьСчетаУчетаВТабЧасти(Товары        , "Товары"        , ОтражатьВБухгалтерскомУчете, ОтражатьВБухгалтерскомУчете);


не получает структуру "СчетаУчёта" про переборе построчно товаров в следующей процедуре

// Заполняет счета БУ и НУ в строке табличной части
//
Процедура ЗаполнитьСчетаУчетаВСтрокеТабЧасти(СтрокаТЧ, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ) Экспорт

    СчетаУчета     = БухгалтерскийУчет.ПолучитьСчетаУчетаНоменклатуры(Организация, СтрокаТЧ.Номенклатура, ?(мУказаниеСкладовВТЧ, СтрокаТЧ.Склад, Склад));
    ЭтоКомиссия    = (ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия
                       И ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
    МетаданныеДока = Метаданные();

    ЗаполнитьСчетаБУ(СтрокаТЧ, ИмяТабЧасти, СчетаУчета, ЗаполнятьБУ, ЭтоКомиссия, МетаданныеДока);
    ЗаполнитьСчетаНУ(СтрокаТЧ, ИмяТабЧасти, СчетаУчета, ЗаполнятьНУ, ЭтоКомиссия, МетаданныеДока);

КонецПроцедуры // ЗаполнитьСчетаУчетаВСтрокеТабЧасти()


реристр "СчетаУчетаНоменклатуры" заполнен


One Подменю пользователя
сообщение 15.01.21, 12:56
Сообщение #11

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

Цитата(Yevhenii_S @ 15.01.21, 12:19) *
не получает структуру "СчетаУчёта" про переборе построчно товаров в следующей процедуре


Это Ваш код в Вашей обработке?

Переменные Организация, мУказаниеСкладовВТЧ заполнены?

Выложите полный код Вашей обработки.

Yevhenii_S Подменю пользователя
сообщение 15.01.21, 13:57
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Хмельницкий
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(One @ 15.01.21, 12:56) *
Это Ваш код в Вашей обработке?


это код из модуля обьекта документа Реализация, до этой процедуры я дошел отладчиком, и увидел что она не возвращает "СчетаУчёта"
в обработке я вызываю только процедуры события при установке флажка, и то не все

Процедура ПроверкаДокРеализации()
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ДокументВыб.Ссылка
        |ИЗ
        |    Документ.ДокументВыб КАК ДокументВыб
        |ГДЕ
        |    ДокументВыб.ОтражатьВБухгалтерскомУчете = ЛОЖЬ
        |
        |УПОРЯДОЧИТЬ ПО
        |    ДокументВыб.Номер";
    
    Запрос.Текст = СтрЗаменить(Запрос.Текст,"ДокументВыб",Строка(ЭлементыФормы.ПолеВыбораДокумента.Значение));
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        докОбьект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        докОбьект.ОтражатьВБухгалтерскомУчете = Истина;
        
        докОбьект.Записать(РежимЗаписиДокумента.Запись,);

        ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(докОбьект,докОбьект.мСтруктураПараметровДляПолученияДоговора);
        
        СчетаУчета = УправлениеВзаиморасчетами.ПолучитьСчетаРасчетовСКонтрагентом(докОбьект.Организация, докОбьект.Контрагент, докОбьект.ДоговорКонтрагента);
        
        Если докОбьект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда
            докОбьект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
            докОбьект.СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателя;
        ИначеЕсли докОбьект.ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Бартерный Тогда
            докОбьект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателяПриБартере;
            докОбьект.СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателяПриБартере;
        Иначе
            докОбьект.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
            докОбьект.СчетУчетаРасчетовПоАвансам     = СчетаУчета.СчетАвансовПокупателя;
        КонецЕсли;
        
        докОбьект.СчетУчетаРасчетовПоТаре          = СчетаУчета.СчетУчетаТарыПокупателя;
        докОбьект.СчетУчетаРасчетовПоТареПоАвансам = СчетаУчета.СчетАвансовПоТареПокупателя;
        докОбьект.СчетУчетаНДС                 = СчетаУчета.СчетУчетаНДСПродаж;
        докОбьект.СчетУчетаНДСПодтвержденный  = СчетаУчета.СчетУчетаНДСПродажПодтвержденный;
        
        // обработка счетов НУ в ТЧ
        Если докОбьект.Товары.Количество() + докОбьект.ВозвратнаяТара.Количество() + докОбьект.Услуги.Количество() > 0 Тогда                
            докОбьект.ЗаполнитьСчетаУчетаВТабЧасти(докОбьект.Товары        , "Товары"        , Истина, Истина);
            докОбьект.ЗаполнитьСчетаУчетаВТабЧасти(докОбьект.ВозвратнаяТара, "ВозвратнаяТара", Истина, Истина);
            докОбьект.ЗаполнитьСчетаУчетаВТабЧастиУслуги(Истина, Истина);
        КонецЕсли;
        
        докОбьект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
        
    КонецЦикла;

КонецПроцедуры


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

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

Yevhenii_S @ Сегодня, 13:57 * ,

Пробовали вот здесь

СчетаУчета     = БухгалтерскийУчет.ПолучитьСчетаУчетаНоменклатуры(Организация, СтрокаТЧ.Номенклатура, ?(мУказаниеСкладовВТЧ, СтрокаТЧ.Склад, Склад));


ставить точку останова и смотреть параметры передаваемые процедуре?

zay Подменю пользователя
сообщение 17.01.21, 12:44
Сообщение #14

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 163
Из: Киев
Спасибо сказали: 131 раз
Рейтинг: 137.1

Цитата(Yevhenii_S @ 14.01.21, 13:45) *
и при проведении получаю ошибку:
Проведение документа "Реализация товаров и услуг НО000000004 от 27.06.2011 12:00:00"

Тот способ, как вы собираетесь перевести упр.базу на упр.+бух., мог бы сработать, если бы вам надо было это сделать за пол года. Но не за 9 лет. (Или у вас очень мало документов). Я исхожу из того, что у вас велся бух. учет по этой базе (например на 7-ке). И вы перепроводите документы по бух.учету и ожидаете что результат сойдется с той другой бух.базой. Если это так, то есть 2 варианта:
1. Вы каким-то образом перепроведете документы по бух.учету. Бухгалтер проверит результат. Взаиморасчеты с контрагентами, НДС - ничего не сходится. Отменяем проведение по бух.учету. Бухгалтер садится и вносит остатки
2. Бухгалтер садится и вносит остатки

Я в похожих ситуациях пытаюсь убедить на вариант 2

One Подменю пользователя
сообщение 17.01.21, 18:45
Сообщение #15

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

Yevhenii_S @ 15.01.21, 13:57 *
Проверил Ваш код на типовой - всё работает. Разбирайтесь с данными в базе.

Спасибо сказали: Yevhenii_S,

zay Подменю пользователя
сообщение 18.01.21, 9:52
Сообщение #16

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 163
Из: Киев
Спасибо сказали: 131 раз
Рейтинг: 137.1

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

Сообщение отредактировал zay - 18.01.21, 9:56

Спасибо сказали: Yevhenii_S,

Yevhenii_S Подменю пользователя
сообщение 18.01.21, 12:41
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Хмельницкий
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(zay @ 17.01.21, 12:44) *
Тот способ, как вы собираетесь перевести упр.базу на упр.+бух., мог бы сработать, если бы вам надо было это сделать за пол года. Но не за 9 лет. (Или у вас очень мало документов). Я исхожу из того, что у вас велся бух. учет по этой базе (например на 7-ке). И вы перепроводите документы по бух.учету и ожидаете что результат сойдется с той другой бух.базой. Если это так, то есть 2 варианта:


Спасибо за совет, базе действительно с пол года, документов не много. Проект-менеджер не я, решение перепроводить програмно документы принимал опытный программист который ведёт клиента с самого начала. Моя задача реализация + опыт и прокачка своего скила(в первую очередь)

Цитата(One @ 17.01.21, 18:45) *
Проверил Ваш код на типовой - всё работает. Разбирайтесь с данными в базе.

Благодарю, значит не всё так печально в моих скилах)

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


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

 

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