Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 688
от 26.12.2007, 02:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 389, Экспертов: 43
В номере:Вопросов: 4, Ответов: 10

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 114990: необходимо перенести остатки по бухгалтерским счетам в новую базу. Как лучше это сделать? С помощью документов собрать остатки, перенести в новую базу документы, потом их провести или как-то еще? ...
Вопрос № 115008: Здравствуйте Эксперты. У меня возникла небольшая проблемка. Я не могу присвоить значение реквизиту справочника который имеет тип справочника. Конкретнее: У справочника "контрагенты" есть реквизит "Город" с типом "справочник.а...
Вопрос № 115032: Здравствуйте! 1С.Предприятие7.7 Подскажите, пожалуйста, как мне изменить в проводках по счету 01.1 сумму с первоначальной на остаточную. Спасибо....
Вопрос № 115042: Здравствуйте Эксперты. У меня возникла небольшая проблемка. Я сам из Украины, и естественно базы все на украинском языке. Мне надо выгрузить справочник контрагентов из одной базы и загрузить в другую. После того как я выгрузил справочник в файл *.dbf...

Вопрос № 114.990
необходимо перенести остатки по бухгалтерским счетам в новую базу. Как лучше это сделать? С помощью документов собрать остатки, перенести в новую базу документы, потом их провести или как-то еще?
Отправлен: 20.12.2007, 10:35
Вопрос задала: Оксана/kasy (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Оксана/kasy!
С помощью обработки собрать конечное сальдо на дату Х и выгрузить в файл.
В новой базе завести "операции,введенныевручную" на дату Х-1.
Естественно, обработкой.
Формат файла, по моему, лучше всего ДБФ.

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

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.

Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Практикант)
Ответ отправлен: 20.12.2007, 13:05
Оценка за ответ: 4


Вопрос № 115.008
Здравствуйте Эксперты. У меня возникла небольшая проблемка. Я не могу присвоить значение реквизиту справочника который имеет тип справочника. Конкретнее: У справочника "контрагенты" есть реквизит "Город" с типом "справочник.адрес". В обработке я немогу присвоить значение этому реквизиту, ошибок не выдает, а когда проверяю реквизит пустой.
Ниже приведен текст процедуры;
Процедура Выполнить()
кон=СоздатьОбъект("Справочник.Контрагенты");
кон.ВыбратьЭлементы();
гор = СоздатьОбъект("Справочник.Адрес");
гор.НайтиЭлемент("Славута");
Пока кон.ПолучитьЭлемент()=1 цикл
кон.город = гор.ТекущийЭлемент();
КонецЦикла;
КонецПроцедуры
Отправлен: 20.12.2007, 11:52
Вопрос задал: Andris (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Крюков Р.А.
Здравствуйте, Andris!

Не найден элемент "Славута"
//гор.НайтиЭлемент("Славута")=0//
Попробуй конструкцию
НайтиПоНаименованию(<Наименование>,<Режим>,<ФлагПоиска>)

PS: Синтаксис помошник рулит
---------
Отвечаю только на вопросы в тему.
Ответ отправил: Крюков Р.А. (статус: 2-ой класс)
Ответ отправлен: 20.12.2007, 12:11

Отвечает: Gl0betrotter
Здравствуйте, Andris!

В Вашей обработке неверно по следующей причине - Вы пытаетесь применить функцию НайтиЭлемент() передав ей в качестве параметра строку, а не конкретный объект-элемент справочника "Адрес". Кроме того, Вы забыли записать элемент справочника "Контрагенты" (метод Записать()).

Два пути решения:
1. Вы применяете в обработке метод НайтиПоНаименованию() вместо метода НайтиЭлемент() - в таком случае тело обработки будет следующим:
Процедура Выполнить()
кон=СоздатьОбъект("Справочник.Контрагенты");
кон.ВыбратьЭлементы();
гор = СоздатьОбъект("Справочник.Адрес");
гор.НайтиПоНаименованию("Славута").
Пока кон.ПолучитьЭлемент()=1 цикл
кон.город = гор.ТекущийЭлемент();
кон.Записать();
КонецЦикла;
КонецПроцедуры

2. Вы выводите на форму обработки поле ввода с типом "Справочник.Адрес" и самостоятельно указываете конкретный элемент справочника - в таком случае тело обработки будет следующим:
Процедура Выполнить()
кон=СоздатьОбъект("Справочник.Контрагенты");
кон.ВыбратьЭлементы();
Пока кон.ПолучитьЭлемент()=1 цикл
кон.город = ВыбАдрес; // ВыбАдрес - это имя выведенного на форму поля ввода
кон.Записать();
КонецЦикла;
КонецПроцедуры

Удачи!

Записать() - это не функция, а метод. То же самое касается методов НайтиПоНаименованию() и НайтиЭлемент().
-----
∙ Отредактировал: Сергей Максименко [Elric] (Профессионал)
∙ Дата редактирования: 21.12.2007, 01:02

---------
Today is a good day to die, aren't you?
Ответ отправил: Gl0betrotter (статус: Практикант)
Ответ отправлен: 20.12.2007, 12:21
Оценка за ответ: 5
Комментарий оценки:
Очень толковый ответ, все получилось. Большое спасибо.

Отвечает: 4ToN
Здравствуйте, Andris!
Функция НайтиЭлемент(<ЭлементСправочника>) найдет строку справочника только в случае, когда в качестве параметра передается ссылка на элемент. Используй функцию НайтиПоНаименованию()
Ответ отправил: 4ToN (статус: 2-ой класс)
Ответ отправлен: 21.12.2007, 08:58


Вопрос № 115.032
Здравствуйте!
1С.Предприятие7.7
Подскажите, пожалуйста, как мне изменить в проводках по счету 01.1
сумму с первоначальной на остаточную.
Спасибо.
Отправлен: 20.12.2007, 13:19
Вопрос задала: Mila2007 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Астафьев Александр Николаевич
Здравствуйте, Mila2007! Вообще то как Вы написали в пояснении к вопросу, что у Вас одно предприятие закрывается а другое открывается. Значит в одном предприятии Вы делаете документ "Передача ОС", а в другом предприятии "Поступление ОС" и затем "Ввод в эксплуатацию ОС"(можете передать и по остаточной стоимости если хотите). Если у Вас Комплексная конфигурация и оба предприятия ведутся в одной базе то все документы делаются в одном месте. Если у Вас предприятия ведутся в разных базах, например бухгалтерские конфигурации тогда в базе старого предприятия сделаете "Передача ОС", а в базе нового предприятия "Поступление ОС" и затем "Ввод в эксплуатацию ОС".
Если вы все таки по каким то своим причинам хотите просто изменить "по счету 01.1 сумму с первоначальной на остаточную" то воспользутесь документом "Бухгалтерская справка". В нем лучше использовать корреспонденцию дебет 02.1(это пассивный счет когда на него прибавляем он уменьшается) а кредит 01.1 (когда с него убавляем он уменьшается) на сумму начисленной амортизации. Т.е. 02.1 закроется а 01.1 уменьшится. Использовать счет 00 не советую, он предназначен только для корректировки ввода начальных остатков в базу данных. Проводки по счету 00 налоговая Вам "не простит бесплатно".
Ответ отправил: Астафьев Александр Николаевич (статус: 8-ой класс)
Ответ отправлен: 20.12.2007, 16:02
Оценка за ответ: 5
Комментарий оценки:
Спасибо огромное. В теории все понятно, очень подробно. Механически знаю как решить задачу, не могу только автоматизировать для большого объема информации.

Отвечает: Сергей Максименко [Elric]
Здравствуйте, Mila2007!

Делаете запрос к бухгалтерским итогам (рекомендую воспользоваться конструктором бухгалтерских запросов) по счету 02.1 в разрезе всех субконто. И по каждому ненулевому СКК() делаете проводку Дт 02.1 - Кт 01.1
Ради этого можно даже сделать отдельный документ (вид документа), который делает соответствующие расчеты и проводки. А можно реализовать в виде обработки, которая формирует и заполняет документ "Бухгалтерская справка".
---------
В творчестве рождается истина
Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: "МАКСЕР" - продажа и внедрение "1С:Предприятие"
Адрес: г. Киев
WWW: "1С:Предприятие" в Киеве
----
Ответ отправлен: 21.12.2007, 00:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо, обязательно воспользуюсь Вашим советом.


Вопрос № 115.042
Здравствуйте Эксперты. У меня возникла небольшая проблемка. Я сам из Украины, и естественно базы все на украинском языке. Мне надо выгрузить справочник контрагентов из одной базы и загрузить в другую. После того как я выгрузил справочник в файл *.dbf. Я обнаружил что все символы украинской буквы и:"і" - заменились на "_". Подскажите как выйти из этого положения.

ниже приведу текст выгрузки:
// в таблицы с которой я выгружаю - все символы нормальные
Процедура Выгр_таб(таблица)
перем Имя_Файла, Имя_Папки;
Дбф = СоздатьОбъект("XBase");
ДБФ.ДобавитьПоле("Name",2,25,);
ДБФ.ДобавитьПоле("FullName",2,50,);
ДБФ.ДобавитьПоле("EDRPO",1,12,);
ДБФ.ДобавитьПоле("IPN",1,15,);
ДБФ.ДобавитьПоле("Svid",1,15,);
ДБФ.ДобавитьПоле("Tel",2,15,);
ДБФ.ДобавитьПоле("Adres",2,50,);
ДБФ.ДобавитьПоле("Nas",2,50,);
ДБФ.ДобавитьПоле("Oblas",2,50,);
ДБФ.ДобавитьПоле("Rayon",2,50,);
подсказка="Введите имя файла";
Если ФС.ВыбратьФайл(1,Имя_Файла, Имя_Папки, Подсказка, "Файл БД(*.dbf) | *.dbf" ,"*dbf")=1 тогда
ДБФ.СоздатьФайл(Имя_Файла, Имя_Папки);
ДБФ.ОчиститьФайл();
ДБФ.СоздатьИндексныйФайл(Лев(Имя_Файла, СтрДлина(Имя_Файла)-3)+"cdx");
ДБФ.АвтоСохранение(1);
строк = Таблица.КоличествоСтрок();
Для ном_стр=1 по строк Цикл
ДБФ.Добавить();
ДБФ.Name=Таблица.ПолучитьЗначение(ном_стр,"Наим");
ДБФ.FullName=Таблица.ПолучитьЗначение(ном_стр,"ПовНаим");
ДБФ.EDRPO=Таблица.ПолучитьЗначение(ном_стр,"Эдрпоу");
ДБФ.IPN=Таблица.ПолучитьЗначение(ном_стр,"ИПН");
ДБФ.Svid=Таблица.ПолучитьЗначение(ном_стр,"Свидоц");
ДБФ.Tel=Таблица.ПолучитьЗначение(ном_стр,"Телеф");
ДБФ.Adres=Таблица.ПолучитьЗначение(ном_стр,"Адрес");
ДБФ.Nas=Таблица.ПолучитьЗначение(ном_стр,"НаселП");
ДБФ.Oblas=Таблица.ПолучитьЗначение(ном_стр,"Облас");
ДБФ.Rayon=Таблица.ПолучитьЗначение(ном_стр,"Район");
КонецЦикла;
КонецЕсли;
ДБФ.ЗакрытьФайл();
КонецПроцедуры
Отправлен: 20.12.2007, 13:53
Вопрос задал: Andris (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Strawberry
Здравствуйте, Andris!
Я думаю, то что в приложении решит вашу проблему

Приложение:

---------
Мальчик-извращенец прочел деду Морозу с табуретки всего Пастернака!

Ответ отправил: Strawberry (статус: 10-ый класс)
Ответ отправлен: 20.12.2007, 14:38
Оценка за ответ: 4
Комментарий оценки:
Ответ отличный, но не решает проблему на все 100%. Поскольку заданный набор символов не подходит к данной ситуации.

Отвечает: Астафьев Александр Николаевич
Здравствуйте, Andris! Все таки воспользуйтесь в принципе методом Strawberry. Т.е. перед выгрузкой замените критичные при переносе символы на неиспользуемые в названиях, но нормально переносящиеся. А после переноса прогоните справочник в новой базе обработкой и снова замените символы на правильные, какие были. Пример в приложении.

Приложение:

Ответ отправил: Астафьев Александр Николаевич (статус: 8-ой класс)
Ответ отправлен: 20.12.2007, 16:25
Оценка за ответ: 4
Комментарий оценки:
Ответ хороший, главное решает полностью проблему, но хотелось бы что то попроще.

Отвечает: Сергей Максименко [Elric]
Здравствуйте, Andris!

Вариант №1.
Используйте метод Дбф.КодоваяСтраница(0);, включив тем самым кодировку Windows вместо DOS.

Вариант №2.
Вместо dbf используйте для передачи данных текстовый файл. Поверьте, это очень просто если не забывать о функции ЗначениеВСтроку(). Рабочий пример смотрите в Приложении.

Приложение:

---------
В творчестве рождается истина

Ответ отправил: Сергей Максименко [Elric] (статус: Профессионал)
Украина, Киев
Тел.: (044) 22-88-369
Организация: "МАКСЕР" - продажа и внедрение "1С:Предприятие"
Адрес: г. Киев
WWW: "1С:Предприятие" в Киеве
----
Ответ отправлен: 21.12.2007, 00:49
Оценка за ответ: 5
Комментарий оценки:
Ответ суперовый, решил проблему одной строкой. Как говорится все гениально есть просто. Даже предложил 2 варианта ответа причем оба отличные. Большое спосибо

Отвечает: 4ToN
Здравствуйте, Andris!
У меня есть 2 классные обработки, которые переносят любые справочники между любыми конфигурациями. Одна при выгрузке формирует DBF файл, а другая текстовый. Если нужны такие пиши на майл s9122267555@gmail.com вышлю
Ответ отправил: 4ToN (статус: 2-ой класс)
Ответ отправлен: 21.12.2007, 08:55
Оценка за ответ: 5
Комментарий оценки:
Хорошое придложение


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.66 от 23.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное