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

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

  Все выпуски  

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


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

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

Выпуск № 615
от 30.09.2007, 12:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 407, Экспертов: 57
В номере:Вопросов: 3, Ответов: 7


Вопрос № 103206: Добрый день. В прошлый раз не совсем корректно задалвопрос. Вопрос такой. Как мне сделать выборку по Номенклатуре - Продукты (сумма, кол-во) и сохранить ее в dbf файл? 1С Бухгалтерия 7.7. Как написать запрос по бухгалтерски итога...
Вопрос № 103212: Здравствуйте!!! 1с 8 Выполняю запрос, в запросе есть поле регистратор - наименование документа, на основании которого была введена запись в регистр. Как в запросе обратиться к регистратору, для извлечения из него дополнительных параметров (су...
Вопрос № 103230: Доброе время суток господа эксперты! Есть документ в 1С 7.7. При проведение по некоторым причинам в один ресурс регистра остатков были занесены не правильные данные. Жизненно важный вопрос: как поменять значение ресурса регистра не перепроводя до...

Вопрос № 103.206
Добрый день.
В прошлый раз не совсем корректно задалвопрос.
Вопрос такой.
Как мне сделать выборку по Номенклатуре - Продукты (сумма, кол-во) и сохранить ее в dbf файл?
1С Бухгалтерия 7.7.
Как написать запрос по бухгалтерски итогам?
Отправлен: 24.09.2007, 12:53
Вопрос задал: Клевакин Михаил (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Elric
Здравствуйте, Клевакин Михаил!

Как записать в dbf-файл я рассказал еще в ответе на прошлый Ваш вопрос (http://rusfaq.ru/info/question/102868). Здесь скажу подробнее как выполнить запрос по бухгалтерским итогам.

Предварительно еще одно замечание. Вы опять не указали конфигурацию. От жтого зависит на каком счете у Вас хранятся данные о товарах. В модуле я использовал счет 281 (в российской конфигурации это счет 41.1, если не ошибаюсь, проверьте по названию счета или проконсультируйтесь с бухгалтером).

Сам программный код смотрите в Приложении.

Приложение:

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

Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 24.09.2007, 15:18
Оценка за ответ: 5
Комментарий оценки:
Благодарю. Все получилось.

Отвечает: Axim
Здравствуйте, Клевакин Михаил!
Процедура Сформировать()
ф=СоздатьОбъект("Справочник.Номенклатура");
Фаил=СоздатьОбъект("XBASE");
Фаил.ОткрытьФайл("111.dbf");
Фаил.КодоваяСтраница(1);
Если Фаил.Открыта()=0 Тогда
Сообщить("Фаил не открывается");
КонецЕсли;
н=0;
Пока Фаил.Следующая()=1 Цикл
ф.Новый();
Н=Н+1;
ф.Код=Фаил.TAB;
ф.Наименование=Фаил.FAM;
ф.Имя=Фаил.IM;
ф.Отчество=Фаил.OT;
ф.ГдеРаб=Фаил.RAB;
ф.СоставСемьи=Фаил.SEM;
ф.Адрес=Фаил.ADR;
ф.ДатаРешение=Фаил.POS;
ф.Снятие=Фаил.SNT;
ф.ПричСн=Фаил.PRSNT;
ф.Снят=Фаил.PRIZ;
ф.Очередь=Перечисление.Очередь.Общая;
Сообщить(СокрЛП(Н)+"-----"+СокрЛП(Фаил.TAB)+"-"+СокрЛП(Фаил.FAM)+"="+СокрЛП(ф.Наименование));
ф.Записать();
КонецЦикла;
Сообщить("КОНЁЦ!!!"+Фаил);
Фаил.ЗакрытьФайл();
КонецПроцедуры


тока все наоборот, сдесь из дбф в спр.номенкл. , те надо создать дбф и выгрузить в него из справочника
а бух итоги можешь получить переделая отчет "остатки товаров на складах"
Ответ отправил: Axim (статус: 1-ый класс)
Ответ отправлен: 25.09.2007, 12:51


Вопрос № 103.212
Здравствуйте!!!
1с 8
Выполняю запрос, в запросе есть поле регистратор - наименование документа, на основании которого была введена запись в регистр. Как в запросе обратиться к регистратору, для извлечения из него дополнительных параметров (сумма, основание и т.д.) и вообще, любых реквизитов, которые есть в регистраторе???
Отправлен: 24.09.2007, 13:34
Вопрос задал: BigHard (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sim_tm
Здравствуйте, BigHard!
Регистратор храниться в виде ссылки как и другие реквизиты. Следовательно обращаться к его реквизитам надо по тем же правилам. к примеру:
|ВЫБРАТЬ
| ПартииТоваровНаСкладах.Регистратор.Дата,
| ПартииТоваровНаСкладах.Регистратор.Ответственный
//... другие поля
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
Ответ отправил: Sim_tm (статус: 3-ий класс)
Ответ отправлен: 24.09.2007, 14:00
Оценка за ответ: 5
Комментарий оценки:
что можно еще сказать по этому поводу???
Спасибо и пятерка!!!

Отвечает: Яна
Здравствуйте, BigHard!
По этому поводу можно сказать еще следующее: в 8.0 есть очень полезная штука - Конструктор запросов. В нем просто и легко делать запросы. При этом даже не нужно задумываться о синтаксисе. При этом там можно сделать запрос ЛЮБОЙ сложности. Я настоятельно рекомендую после прочтения информации об основных секциях запросов знакомиться с конструктором. И в дальнейшем пользоваться им. Если бы Вы делали запрос в конструкторе - вопрос бы даже не возник, т.к. для того, чтобы выбрать подчиненное поле (поле другой таблицы через точку от данного) достаточно нажать на "+" возле данного поля и выбрать.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 24.09.2007, 16:32


Вопрос № 103.230
Доброе время суток господа эксперты!
Есть документ в 1С 7.7. При проведение по некоторым причинам в один ресурс регистра остатков были занесены не правильные данные. Жизненно важный вопрос: как поменять значение ресурса регистра не перепроводя документ?
Отправлен: 24.09.2007, 16:25
Вопрос задал: Megahitman (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Elric
Здравствуйте, Megahitman!

Исправить движение по регистру без перепроведения документа нельзя. Однако можно ввести дополнительное движение, "корректирующее" предыдущее, с тем чтобы итоговое значение ресурса стало больше или меньше. Для этого нужно ввести документ, увеличивающий или уменьшающий значение ресурса, т.е. делающий дополнительное двежение по этому регистру.
Этот документ можно написать самостоятельно, либо воспользоваться существующим документом ВводОстатков (во многих конфигурациях такие документы есть для разных регистров).

Если решили создать свой документ, то рекомендую создать для него реквизиты, соответствующие измерениям регистра, плюс реквизит для корректирующего значения ресурса. В модуле в процедуре ОбработкаПроведения() будет присутствовать примерно такая строка:
Регистр.Остатки.ДвижениеПриход(Измерение1, Измерение2, ...,Ресурс);
Положительное или отрицательное значение реквизита Ресурс соответственно увеличит или уменьшит итоговое значение ресурса.
---------
В творчестве рождается истина
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 24.09.2007, 16:45
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ! Проблема в следующем: бухгалтера накосячили, задним числом вносили сырье, а потом подгоняли под правильный ответ. Если я перепроведу эти документы(а их достаточно), то улетит все сырье. Поэтому я и хотел поправить один ресурс регистра по каждому документу. И все же спасибо, я про корректирующий документ не додумался. Это когданибудь пригодится. С уважением Алексей.

Отвечает: Астафьев Александр Николаевич
Здравствуйте, Megahitman!
Прочитал ответ Elric. Все правильно и наиболее корректное решение с точки 1С. Но если критично что корректирующее движение по регистру будет относится к другому документу, то можно поправить саму DBF - таблицу данного регистра. В какой таблице базы какой регистр и по каким полям записан прописывается в 1Cv7.DD Он открывается как обычный текстовик, только не взумайте в нем что то править. Просто ищите запись по идентификатору регистра и смотрите что в каких полях сидит. Потом открывайте нужную DBF - таблицу я лично пользуюсь для этого редактором winDBFview фирмы Гендальф. Суммы и количества правятся без проблем, а вот с полями типа справочник, перечисление и т.п. прийдется повозится что бы понять как в вашей конфигурации что кодируется по ссылкам. После корректировки запустите реиндексацию Например через "Тестирование исправление информационной базы" в Конфигураторе. Ну и понятно поэкспериментируйте на копии базы сначала.
Ответ отправил: Астафьев Александр Николаевич (статус: 1-ый класс)
Ответ отправлен: 24.09.2007, 20:36
Оценка за ответ: 4
Комментарий оценки:
Спасибо! Я не написал, что база SQL. Править таблицы вручную слишком долго, много документов. А программно страшновато, я не очень хорошо знаю язык SQL.

Отвечает: Владимир (1С)
Здравствуйте, Megahitman!

Как ответил уважаемый Elric, Вам действительно лучше использовать другой документ для корректировки сделанных движений. В дополнение к его ответу:

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

А всякое лазанье по таблицам сторонними средствами очень опасно - Вы можете потерять свою базу, и от этого Вам легче не станет. СтОит ли говорить, что все эксперименты нужно делать на копии базы! (личный опыт).
Представьте, если у Вас получилось найти и исправить в файле нужное значение. Отчет покажет одно, а документ другое. Всё тайное станет явным. Я не знаю механизма Вашей базы, но как минимум, нужно будет найти таблицу регистра, его движения, документа, и возможно, в служебной таблице констант. И нигде не ошибиться!

И совсем не "1С-ный" вариант, но действующий - обратитесь к менеджеру, бухгалтеру или другому ответственному лицу и попросите исправить документ, еслиу Вас на это нет прав доступа.

Успехов!
С уважением, Владимир.
Ответ отправил: Владимир (1С) (статус: 4-ый класс)
Ответ отправлен: 25.09.2007, 07:58
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ! Проблем с написание нового документа нет, прав перепровести и исправить документ хватает(Администратор). Проблема в следующем: бухгалтера накосячили, задним числом вносили сырье, а потом подгоняли под правильный ответ. Если я перепроведу эти документы(а их достаточно), то улетит все сырье. Поэтому я и хотел поправить один ресурс регистра по каждому документу. И все же спасибо, я про корректирующий документ не додумался. Это когданибудь пригодится. С уважением Алексей.


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

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

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

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

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


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


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

В избранное