Portnenko Sergey

79
Рейтинг

grey82



  •   Регистрация: 30.07.2008 (15 лет назад)

  •   Был(а) на сайте: 20.10.2023

Подписчики 2

Группы

Профессиональный разработчик

Рейтинг 79

Отчет по проводкам (v7.7)

Отчеты и формы Бухгалтер Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Бухгалтерский учет Бесплатно (free) Внешний отчет (ert,erf) Оборотно-сальдовая ведомость, Анализ счета

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

31.07.2008    10242    776    grey82    11       

48

Занесение данных в справочник из DBF (v7.7)

Инструменты и обработки Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Windows Абонемент ($m) Внешняя обработка (ert,epf) Файловый обмен (TXT, XML, DBF), FTP

Пришлось написать, когда возникла задача перенесения данных из старой проги. Переносит данные из DBF-файла в выбранный справочник.

1 стартмани

30.07.2008    15368    629    grey82    5       

31

Комментарии

DevСоздание документов на основании обработкой.#21 10.05.12 18:32
Кстати нашел, Документ ПКО не становился на основании РН, т.к. существовал еще один реквизит "ДокументЗаказ" кроме реквизита "Заказ", не отображался на форме, но в него передавалось значение реквизита "Заказ" при записи, странно, но при записи программно он и не заполняется, в коде было прописано на это условие.

Всем еще раз спасибо за помощь.

PS: Код!


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

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

Процедура ПриОткрытии()
   ДатаНач=ТекущаяДата();
   ДатаКон=ТекущаяДата();
КонецПроцедуры
DevСоздание документов на основании обработкой.#20 10.05.12 17:23
Все вопросы снимаются, проблема решилась на административном уровне.

Всем спасибо за участие в обсуждении.
DevСоздание документов на основании обработкой.#17 10.05.12 16:12
(16) MaxDavid,

Пробовал, к сожалению этот документ не является введенным на основании (то есть не подчинен расходной накладной).
DevСоздание документов на основании обработкой.#15 10.05.12 12:21
(14) Ёпрст,

Согласен, мысль выразил не верно, в моем случае это и то и другое, то есть ПКО подчинен РН, и заполнен данными из нее.
DevСоздание документов на основании обработкой.#13 10.05.12 11:30
(12) MaxDavid,

В примере вашего кода создается новый документ, но не на основании. Необходимо именно создать документ приходно-кассовый ордер на основании расходной накладной, то есть если вы посмотрите подчиненные документы расходной, то его там не будет.
DevСоздание документов на основании обработкой.#11 10.05.12 10:30
(10) ЛиСиЦин,

Конф-ия бухгалтерия очень старая. В глобальном модуле нет процедуры глЗаполнитьШапкуНаОсн. В документе приходно-кассовый ордер нет реквизита ДокументОснование. При создании нового документа привязать на основании, по моему мнению, возможно только используя функцию ОткрытьФорму("Документ.ПриходныйКассовый",Контекст,Док.ТекущийДокумент()), где Док.ТекущийДокумент() - расходная накладная на основании которой он и создается. Но тут как раз у меня и возникают некоторые сложности которые и описаны в первом посте.

На счет кода, то какой нужно выложить конкретнее?
DevСоздание документов на основании обработкой.#8 08.05.12 18:27
(6) mailrum2004,

На счет нажатия кнопок возможен как вариант, но тут нужно еще изменить дату документа (к реквизитам создаваемого документа никак не могу получить доступ).
DevСоздание документов на основании обработкой.#7 08.05.12 18:24
(4) Oleh,

НовДок.ДокументОснование=основание;

При этом должен быть реквизит ДокументОснование в документе, даже в таком случае НовДок не будет введен на основании расходной накладной.
DevСоздание документов на основании обработкой.#3 08.05.12 17:50
(2) zale, В данном случае создаваемый документ не будет создан на основании расходной накладной.
DevСоздание документов на основании обработкой.#1 08.05.12 17:28
Доброго времени суток.

Помогите решить одну задачку, может хоть на какую то дельную мысль натолкнете.
Собственно о возникшей проблеме: Существуют расходные накладные за год, на основании их вводятся приходно-кассовые ордера, но за год они не вводились. Теперь стоит задача программно создать ордера на основании расходных накладных за весь год. Что то не нашел я в системе простого решения этой задачи, решил сделать через процедуру ОткрытьФорму с созданием нового документа.

Вот здесь возникло много вопросов:
- каким образом внести изменения в открытой форме (соответственно программно), в частности изменить дату документа на дату расходной накладной и внести комментарий;
- как записать документ (не могу получить ссылку на документ из контекста формы, оно то логично, пока документ не записан у него нет свойства ТекущийДокумент);
- ну и еще одна проблема закрыть форму (стандартная процедура срабатывает только после завершения выполнения процедуры), вроде как решилось использовав компоненту 1с++ (Система.ЗакрытьФорму(Контекст,0)).


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

Заранее спасибо за все полезные ответы.


PS: Для предлагающих написать за какое то вознаграждение, просьба не беспокоить, хочу разобраться сам.