Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 01:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Внешняя обработка перенумерации документов  (Прочитано 6129 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Danceva

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2014-06-24
  • Сайт: 
Всем здравствуйте.

Вот пишу свою первую обработку и сразу столкнулась с проблемами. Надеюсь, вы мне поможете их решить.

Платформа: 8.3.5.1231
Конфигурация: Бухгалтерия ПРОФ 3.0.36.19

Задача: Перенумеровать все выданные счета-фактуры (СФ) за год.
Условия:
1) СФ на реализацию
2) СФ не авансовые

Нумерация должна совпадать с документом "Реализация товаров и услуг" + 00.
Например: № РТиУ 0000-0001 - № СФ 0000-000001.

В начале я решила выбрать все СФ за год.
В модуле формы прописала код:

Процедура ПриОткрытии(Отказ)
    ВыборкаДокументов = Документы.СчетФактураВыданный.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   Пока ВыборкаДокументов.Следующий() Цикл
        Сообщить(ВыборкаДокументов);
        КонецЦикла
КонецПроцедуры


Хочу, чтобы при открытии формы все СФ за год выдавались в сообщениях. Но при открытии формы ничего не происходит. В чём проблема?


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Попробуйте так:

Сообщить(ВыборкаДокументов.Ссылка);

Оффлайн KKurgan

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 7
  • КПД: 54%
  • Регистрация: 2014-11-17
  • Сайт: 
Обратите внимание, что все процедуры модуля формы в режиме управляемого приложения делятся на компилируемые на сервере и на клиенте!
В вашем случае вы не указали директиву компиляции перед процедурой. В этом случае, вступает в силу директива по умолчанию - "НаСервере". Т.е. на клиенте, где происходит событие "ПриОткрытии" у Вас отсутствует требуемая процедура и никакой код не исполняется. В остальном код у Вас правильный. Нужно только его оформить в следующем виде:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПриОткрытииНаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПриОткрытииНаСервере()
// Ваш код из сообщения
КонецПроцедуры

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Вы лучше обработчик события приучитесь добавлять со страницы "Диалог"
Встаете на нужный элемент (в данном случае на саму форму), открываете свойства, переходите вниз, туда, где перечислены события текущего элемента, выбираете требуемое событие, нажимаете на кнопку с лупой и вуаля - процедура добавляется автоматически со всеми необходимыми директивами и пр...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Точка останова и Shift+F9 намного удобнее вывода в окно сообщений всех счёт-фактур за текущий год.
И ещё, без запроса вам в вашей задаче не обойтись.

Оффлайн Danceva

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2014-06-24
  • Сайт: 
Точка останова и Shift+F9 намного удобнее вывода в окно сообщений всех счёт-фактур за текущий год.
И ещё, без запроса вам в вашей задаче не обойтись.

Всё верно. В итоге код такой:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СчетФактураВыданный.Ссылка
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактураВыданный
|ГДЕ
| СчетФактураВыданный.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| И СчетФактураВыданный.Организация = &Организация
| И СчетФактураВыданный.ВидСчетаФактуры.Ссылка = &ВидСФ";

Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНачала));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания));
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("ВидСФ", ВидСФ);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка);
КонецЦикла;
Всё выводит как надо.

А как сделать, чтобы счет-фактуре присваивался номер документа основания "Реализация товаров и услуг"?
В этом же цикле где "Сообщить".
Добавлено: 26 Ноя 2014, 01:00

Дополню. Нужно первой итерацией присвоить номер РТиУ счет-фактуре и добавить 00 после тире.
А второй итерацией убрать эти два нуля.

Например,
№ Реализация ТиУ 0000-1034
№ Cчет-фактуры должен быть 0000-001034

Вторая итерация:
№ Cчет-фактуры 0000-1034

Последний раз редактировалось: Danceva; 26 Ноя 2014, 01:00. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
смысл номера счета-фактуры при первой итерации?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Дополнить запрос получением связанных по номеру реализаций. Внутренней связью (1 к 1). В цикле получать объект сч-ф., менять номер по нужной маске, записывать. В другом цикле делать обратное.

смысл номера счета-фактуры при первой итерации?

Тестовое задание, наверное. На работу устраивается.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ааа, т.е. надо установить номер и вернуть обратно?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Danceva

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2014-06-24
  • Сайт: 
Дополнить запрос получением связанных по номеру реализаций. Внутренней связью (1 к 1). В цикле получать объект сч-ф., менять номер по нужной маске, записывать. В другом цикле делать обратное.

смысл номера счета-фактуры при первой итерации?

Тестовое задание, наверное. На работу устраивается.

Cмысл в том, что у СФ сбита нумерация. И если заменять на идентичный 9-тизначный номер, то они могут повториться. А когда всё будет по порядку, то можно убрать 2 знака.


 

Как создать нескольких документов "расчет при увольнении" на основании кадрового документа "увольнение" как Отпуска

Автор cozuРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 3180
Последний ответ 21 Мар 2015, 20:24
от дфтын
Не работает структура подчиненности документов "Требование-накладная" и "Передач

Автор sv_stas_svРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4099
Последний ответ 10 Мар 2011, 07:36
от sv_stas_sv
готовая компонента сканирования/загрузки / распознавания бумажных документов (счетов, налоговых накладных, приходных накладных) из бумажного документа в 1с

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 176
Последний ответ 14 Ноя 2017, 10:43
от oleg-x
Реквизит "Ссылка" у справочников и документов

Автор leklerkРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3023
Последний ответ 29 Май 2013, 16:24
от leklerk
"Дубляж" документов реализации в ВзаиморасчетыКомпанииОстаткиИОбороты

Автор mspuzРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1786
Последний ответ 24 Янв 2014, 13:55
от mspuz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
178 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 181
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal