Маркировка лекарств - как передать код маркировки при продаже через ККТ Штрих-М

Публикация № 1192569

Разработка - Практика программирования

ККТ Маркировка пример кода для

Пример программного кода для вывода чеков на ККМ Штрих-М с передачей информации о маркированных товарах (лекарства).

Многие знают, что при продаже маркированных товаров необходимо передавать информацию о коде маркировки с помощью тега 1162. Про это достаточно много информации.

Для Штрих-М запрограммировать это не составляет большого труда. После операции FNOperation() необходимо добавить несколько строк.

ЗагрузитьВнешнююКомпоненту ("DrvFR.dll");
голеОбъектККМ = СоздатьОбъект("AddIn.DrvFR");
...

голеОбъектККМ.FNOperation();

голеОбъектККМ.MarkingType  = MarkingType; //3 - лекарства
голеОбъектККМ.GTIN         = GTIN;        //14 символов
голеОбъектККМ.SerialNumber = SerialNumber;//13 символов
голеОбъектККМ.FNSendItemCodeData();

Код маркировки включает в себя избыточные данные. Из него необходимо выделить SGTIN длиной 27 символов, который в свою очередь делится на 2 части: первые 14 символов GTIN, остальные 13 символов это серийный номер упаковки (длина серийного номера упаковки указана для группы Лекарства).

Мой вариант функции разбора штрих-кода маркировки:

//******************************************************************************
// глЭтоКодМаркировки(Данные)
//
// Параметры: 
//  Данные
//  SGTIN - выходной параметр для передачи вырезанного из штрихкода SGTIN
//  КодТН_ВЭД - выходной параметр
//  НомерСерии - выходной параметр
//  ДатаИстеченияСрокаГодности - выходной параметр
//
// Возвращаемое значение:
//  1 да, 0 нет
//
// Описание:
//
// Примечание:
//  В настройках сканера желательно включить передачу разделителя с кодом 29
//
Функция глЭтоКодМаркировки(Данные,SGTIN,КодТН_ВЭД="",НомерСерии="",ДатаИстеченияСрокаГодности="") Экспорт
	Перем лДанные,СчЦ,ЧастьДанных,GTIN,ИндивидуальныйСерийныйНомер;
	лДанные = СокрЛП(Данные);
	Если СтрДлина(лДанные) >= 27 Тогда
		лДанные = СтрЗаменить(лДанные,Симв(29),РазделительСтрок);
		Если СтрДлина(лДанные) = 27 Тогда
			SGTIN = Данные;
			Возврат 1;
		КонецЕсли;
		Если Лев(лДанные,2) = "01" Тогда
			GTIN = Сред(лДанные,3,14);
			лДанные = Сред(лДанные,17);
			ИндивидуальныйСерийныйНомер = "";//префикс 21  длина 13
			КодТН_ВЭД                   = "";//префикс 240 длина 4
			НомерСерии                  = "";//префикс 10 длина переменная, принимает что от 4 до 10
			ДатаИстеченияСрокаГодности  = "";//префикс 17 длина 6 
			Для СчЦ = 1 По СтрКоличествоСтрок(лДанные) Цикл
				ЧастьДанных = СтрПолучитьСтроку(лДанные,СчЦ);
				
				флПродолжитьПоиск = 1;
				Пока флПродолжитьПоиск = 1 Цикл
					Если СтрДлина(ЧастьДанных) <= 2 Тогда
						Прервать;
					КонецЕсли;
					Если Лев(Прав(ЧастьДанных,15),2) = "21" Тогда
						ИндивидуальныйСерийныйНомер = Прав(ЧастьДанных,13);
						ЧастьДанных = Лев(ЧастьДанных,СтрДлина(ЧастьДанных)-15);
					ИначеЕсли Лев(ЧастьДанных,2) = "21" Тогда
						ИндивидуальныйСерийныйНомер = Сред(ЧастьДанных,3,13);
						ЧастьДанных = Сред(ЧастьДанных,16);
					ИначеЕсли Лев(ЧастьДанных,2) = "17" Тогда
						ДатаИстеченияСрокаГодности = Сред(ЧастьДанных,3,6);
						ЧастьДанных = Сред(ЧастьДанных,9);
					ИначеЕсли Лев(ЧастьДанных,3) = "240" Тогда
						КодТН_ВЭД = Сред(ЧастьДанных,4,4);
						ЧастьДанных = Сред(ЧастьДанных,8);
					ИначеЕсли Лев(Прав(ЧастьДанных,7),3) = "240" Тогда
						КодТН_ВЭД = Прав(ЧастьДанных,4);
						ЧастьДанных = Лев(ЧастьДанных,СтрДлина(ЧастьДанных)-7);
					ИначеЕсли Лев(ЧастьДанных,2) = "10" Тогда
						Если (СтрДлина(ЧастьДанных) >= 6) И (СтрДлина(ЧастьДанных) <= 12) Тогда //допустим, что длина серии от 4 до 10
						    НомерСерии = Сред(ЧастьДанных,2);
							ЧастьДанных = "";
						Иначе
							флПродолжитьПоиск = 0;
						КонецЕсли;
					ИначеЕсли Лев(ЧастьДанных,2) = "91" Тогда
						ПроверочныйКлюч = Сред(ЧастьДанных,3,4);
						ЧастьДанных = Сред(ЧастьДанных,7);
					ИначеЕсли Лев(ЧастьДанных,2) = "92" Тогда
						ПроверочныйКод = Сред(ЧастьДанных,3,44);
						ЧастьДанных = Сред(ЧастьДанных,47);
					Иначе
						флПродолжитьПоиск = 0;
					КонецЕсли;
				КонецЦикла;
			
			КонецЦикла;
			Если ПустоеЗначение(ИндивидуальныйСерийныйНомер) = 0 Тогда
				SGTIN = GTIN + ИндивидуальныйСерийныйНомер;
				Если ПустоеЗначение(SGTIN) = 0 Тогда
					Если СтрДлина(SGTIN) = 27 Тогда
						Возврат 1;
					КонецЕсли;
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;
		Если ПустоеЗначение(SGTIN) = 0 Тогда
			Если СтрДлина(SGTIN) = 27 Тогда
				Возврат 1;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	Возврат 0;
	
КонецФункции // глЭтоКодМаркировки()

Но при продаже лекарственных препаратов всё сложнее.

Когда я для теста сделал первый чек с кодом маркировки, то долго ждал когда же статус упаковки сменится с "in_circulation" (в обороте) на "in_sale" (продан в розницу), но этого так и не произошло.

Вот что мне ответил представитель ОФД:

Так же прошу отметить,что 54-ФЗ возлагает обязанности на оператора фискальных данных только в частности доставки кодов маркировки в составе кассового чека, а не контролировать его прием на стороне ЦРПТ.

Т.е. ОФД нет никакого дела, что именно ты передаёшь, правильно или нет.

Вот какой ответ из Честного Знака привёл один из разработчиков:

Отчёт о выбытии препарата при проведении его через ККТ не поступил в ИС "Маркировку" по причине того, что в отправляемом документе:
- отсутствуют теги 1085 и 1086, которые содержат информацию о месте деятельности, с которого происходит вывод ЛП из оборота;
- отсутствует тег 1191, который указывает именно, что производится именно продажа лекарственного препарата.

Читаем документацию и дополняем обработку.

Тег кассового чека 1084 является структурой и содержит следующие теги:
Код Наименование Тега Формат Размер
1085 наименование дополнительного реквизита пользователя Строка CP-866 64
1086 значение дополнительного реквизита пользователя Строка CP-866 256

 

Ниже приведены рекомендации по записи в структуру тега 1084 (дополнительный реквизит пользователя) данных о выбытии лекарственных препаратов.

В теге 1085 необходимо передавать следующие реквизиты:

1. Префикс «mdlp» как признак того, что тег 1086 содержит специфичную для передачи в МДЛП информацию;

2. Опционально 7 символов из диапазона «0..9», указывающих на тип документа, данные которого передаются в теге 1086, в соответствии с ОКУД.
a. Отсутствие этих символов указывает на то, что в чеке передаются данные розничной реализации ЛП по рецепту с частичным дотированием, которые преобразуются в 511 схему данных МДЛП, либо в чеке передаются данные розничной реализации ЛП по рецепту без льготы или отпускаемых без рецепта.
b. Значение «3108805» указывает на то, что в теге 1086 передаются данные льготного рецепта со 100% дотированием (тег 1086 должен содержать реквизит с префиксом «ps»), которые преобразуются в 521 схему данных МДЛП.
c. Другие значения тега 1085 не допускаются.
Все передаваемые в теге 1086 реквизиты необходимо разделять символами-разделителями «&»; каждому реквизиту сопоставить уникальный префикс для упрощения машинной обработки данных:
dn = <номер документа, учитывающего отраслевую специфику>, doc_num, не более 200 символов
dd = <дата документа, учитывающего отраслевую специфику> в формате ГГММДД, doc_date
ps = <номер серии льготного рецепта>, prescription_series

sid = <идентификатор места деятельности субъекта обращения в ИС МДЛП>, subject_id

Для самого простого случая продажи без рецепта в начало добавляем

голеОбъектККМ.CheckType = 0;
голеОбъектККМ.OpenCheck();

голеОбъектККМ.TagNumber = 1084;
голеОбъектККМ.FNBeginSTLVTag();
my_TagID = голеОбъектККМ.TagID;

голеОбъектККМ.TagID = my_TagID;
голеОбъектККМ.TagNumber = 1085;
голеОбъектККМ.TagType = 7;
голеОбъектККМ.TagValueStr = "mdlp";
голеОбъектККМ.FNAddTag();

голеОбъектККМ.TagID = my_TagID;
голеОбъектККМ.TagNumber = 1086;
голеОбъектККМ.TagType = 7;
голеОбъектККМ.TagValueStr = "sid"+subject_id+"&";
голеОбъектККМ.FNAddTag();

голеОбъектККМ.FNSendSTLVTag();

Где subject_id это идентификатор места деятельности.

В теге 1191 передаются следующие реквизиты, порядок их записи описан ниже:

sp = <часть потребительской (маркированной) упаковки, подлежащая выводу из оборота>, sold_part
ss = <сумма субсидии>, subsidy_sum (сумма, компенсируемая из федерального или регионального бюджета, при расчете за данный предмет расчета по льготному рецепту). Используется для заполнения параметра МДЛП «discount».
Идентификатор субъекта обращения (sid) - 14 разрядныйM4; номер (строка длиной 14 байт в CP-866, допустимые символы [«0»-«9»]). Завершающий символ при записи строки данных должен быть «&».
При определении максимальной суммарной длины реквизитов dn и ps необходимо учитывать ограничения длины тега 1086, установленные ФФД (256 байт в версии 1.05). Для включения в реквизиты с префиксом dn или ps символа «&» в передаваемых данных должна содержаться подстрока «&&», которая при обработке и передаче в МДЛП не интерпретируется как разделитель или завершающий символ, а заменяется на символ «&».
Реквизит sp включается в тег 1191 сразу после префикса mdlp без указания в качестве префикса названия реквизита в следующем виде: указывается общее количество отпущенных первичных упаковок (целое число в виде строки, лидирующие нули запрещены) и, далее, количество первичных упаковок в маркированной упаковке (целое число в виде строки, лидирующие нули запрещены), разделенные символом «/» с завершающим символом «&», т.е. при отпуске 4 блистеров из 12 указывается строка «4/12&». Если после префикса «mdlp» указание дробной части отсутствует, упаковка считается выведенной из оборота полностью.

Примеры допустимых значений тега 1191: «mdlp», «mdlp2/12&».
Реквизит ss для льготных ЛП содержит сумму, возмещаемую из регионального или федерального бюджета. В реквизитах чека данные суммы должны указываться суммарно по всем позициям чека , как «сумма встречным предоставлением». Передается только для льготных рецептов с частичным дотированием, для рецептов со 100% льготой этот реквизит передавать в составе ФД не нужно. Реквизит ss всегда должен следовать после первого разделителя «&», название реквизита в качестве префикса не указывается. Если тег 1191 не содержит информации о доле отпуска (отпуск полной упаковки), после префикса «mdlp» перед реквизитом ss добавляется разделитель «&».
Реквизит ss всегда завершается символом «&». Значение реквизита ss – строка, в которой допустимы только символы [0..9], которая интерпретируется как десятичное число с фиксированной точностью 2 знака после десятичного разделителя целой и дробной части.

Примеры допустимых значений тега 1191 при субсидии 123,00 руб.: «mdlp&12300&», «mdlp2/12&12300&».

Добавляем к передаче кода маркировки передачу тега 1191:

Если (ПустоеЗначение(MarkingType) = 0) И (ПустоеЗначение(GTIN) = 0) И (ПустоеЗначение(SerialNumber) = 0) Тогда
	голеОбъектККМ.MarkingType  = MarkingType; //3 - лекарства
	голеОбъектККМ.GTIN         = GTIN;        //14 символов
	голеОбъектККМ.SerialNumber = SerialNumber;//13 символов
	голеОбъектККМ.FNSendItemCodeData();
	
	Если СписокТоваров.Количество <> СписокТоваров.ОтоброжениеКоличества Тогда
		голеОбъектККМ.TagNumber      = 1191;
		голеОбъектККМ.TagType        = 7;
		голеОбъектККМ.TagValueStr    = "mdlp"+Окр(СписокТоваров.ОтоброжениеКоличества,0)+"/"+Цел(СписокТоваров.ОтоброжениеКоличества/СписокТоваров.Количество)+"&";//при продаже 1 блистера из 3 должно быть mdlp1/3
		голеОбъектККМ.FNSendTagOperation();
	Иначе
		голеОбъектККМ.TagNumber      = 1191;
		голеОбъектККМ.TagType        = 7;
		голеОбъектККМ.TagValueStr    = "mdlp";
		голеОбъектККМ.FNSendTagOperation();
	КонецЕсли;
КонецЕсли;

Если всё прошло удачно, то в личном кабинете Честного Знака в исходящих документах появится документ с типом 10511 - Розничная продажа с использованием ККТ, тип загрузки в систему - ОФД.

По поводу прошивки и драйверов

Версия драйвера использовалась 4.14.0.772

Прошивка "Сборка ПО: 5190" от 29.04.2019.

Никаких лицензий для ККТ не покупалось, было сделано только обновление прошивки через тест драйвера. Почему я хотел бы заострить на этом внимание - нас по телефону на протяжении нескольких недель терроризировал один продажник, уверяя что если мы у него не купим лицензии на все наши кассы, то маркировка у нас работать не будет.

 

Ссылки на документацию:

Формат записи данных о выбытии ЛП в ФФД (pdf, 537.54 КБ)

Руководство программиста "ШТРИХ-М: Драйвер ККТ" (ZIP, 6.73 MB)

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Рейтинг 1-го уровня
3. Rustig 1415 11.02.20 09:13 Сейчас в теме
(0) предыстория какая у вас? обычно кассовое ПО (учетная программа 1С) или ККМ обновляется для целей маркировки, а вы решили сами программировать передачу сведений в ККМ.
Как будто у вас не обновляемая 1с-ка... Что по ситуации у вас? Какая конфа и какой ККМ?
1. KUAvanesov 11.02.20 07:36 Сейчас в теме
А как же отправка в компоненту xml? На вашей прошивке это можно уже делать.
Оставьте свое сообщение

См. также

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    70971    0    Serginio    108    

Расчет страховых взносов в 1С 7.7 "Учет и отчетность предпринимателя, ред. 1.2" с апреля 2020

Бухгалтерский учет Практика программирования Зарплата v7.7 1cv7.md Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

В этой статье описано, какие небольшие изменения можно внести в модуль документа Начисление налогов с ФОТ, чтобы правильно рассчитывались страховые взносы с 1 апреля 2020 г.

09.04.2020    5172    0    Юджин58    30    

Маркировка обуви. Без паники

Оптовая торговля Розничная торговля Россия УУ Бесплатно (free)

Тезисно. Для тех, кто начинает. Разбираемся вместе.

08.02.2020    16797    0    Rustig    106    

Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки.

Практика программирования Адаптация типовых решений v7.7 1С7:Комплекс 1С7:ТиС УУ Бесплатно (free)

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    3846    0    ksnik    14    

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    53681    0    Serginio    33    

Заполнение реквизитов документов из предыдущего документа

Практика программирования Универсальные функции Разработка v7.7 1cv7.md Бесплатно (free)

Функция для автоматического заполнения реквизитов документов.

04.02.2019    4674    0    drevilo    1    

Проверка часового пояса

Практика программирования v7.7 Бесплатно (free)

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

16.05.2016    10399    0    kudenzov    3    

Важные изменения в 54-ФЗ: какой будет ККМ в 2017 году

Кассовые операции Розничная торговля Фискальный регистратор ККМ Кассовые операции Розничная торговля v7.7 v8 Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

Уже начиная с апреля 2016 года нас ждут довольно серьезные изменения по передаче данных о продажах в налоговую. Не только ожесточится контроль над тем, сколько мы продаем, но и изменятся сами ККМ.

11.05.2016    93644    0    alis112358    80    

1С:Предприятие 7.7. Оптимизация. Промо

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Разгоняем 1С:Предприятие 7.7. Выжимаем последние соки.

31.01.2009    45374    0    alexk-is    110    

[ПОЛЕЗНЯШКА, 7.7] Как посчитать итоги по документам черным запросом с изподвывертом?

Практика программирования v7.7 1cv7.md Бесплатно (free)

Мелкая полезняшка, считает запросом итоговую сумму документов и количество документов.

12.03.2016    18193    0    CheBurator    18    

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д.

Разработка внешних компонент Практика программирования WEB v7.7 v8 Бесплатно (free)

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

09.03.2016    30174    0    Serginio    22    

Пример HTTP запроса к УТМ ЕГАИС на платформе 1С 7.7

Внешние источники данных Практика программирования Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v7.7 1cv7.md Россия Бесплатно (free)

Запрос реализован на объекте ServerXMLHTTP из встроенной в Windows библиотеки MSXML, результатом запроса является XML объект DOMDocument из той же библиотеки MSXML со встроенным интерфейсом его обработки

16.12.2015    23664    0    Palmer1976    3    

Как уменьшить количество заблокированных объектов Промо

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

История о том как я решил пересобрать форму справочника клиентов и чем это все закончилось...

12.01.2012    15017    0    ShEvOvIcH    18    

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм

Загрузка и выгрузка в Excel Практика программирования v7.7 v8 Бесплатно (free)

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    16735    0    etmarket    14    

Процедура расшифровки ячейки таблицы в отчетах 1С 7.7

Практика программирования Универсальные функции v7.7 1cv7.md Бесплатно (free)

Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.

24.09.2015    16496    0    Anzhey    13    

Универсальный способ сравнения таблиц

Практика программирования v7.7 v8 Бесплатно (free)

На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.

05.07.2015    18392    0    json    1    

Технология обновления нетиповых конфигураций 1С:Предприятия 7.7 Промо

Практика программирования Администрирование данных 1С v7.7 1cv7.md Россия Бесплатно (free)

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

12.12.2008    61556    0    alexk-is    25    

Числа прописью в родительном падеже в 7.7? Легко!

Практика программирования v7.7 1cv7.md Бесплатно (free)

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

20.06.2015    12152    0    gimalaj    3    

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним

Загрузка и выгрузка в Excel Практика программирования v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    83845    0    shmellevich    37    

Отправка сообщения посредством почтового клиента Lotus Notes

Практика программирования v7.7 v8 1cv8.cf 1cv7.md Бесплатно (free)

Отправка сообщения посредством почтового клиента Lotus Notes из 1С 7,7 и 1с 8

21.08.2014    14119    0    iolko    8    

Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены()

Практика программирования v7.7 1С7:Комплекс Россия Бесплатно (free)

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

20.08.2014    7755    0    hvv2002    0    

ЗаполнитьЗначенияСвойств - заставляем работать в 7.7

Практика программирования v7.7 1cv7.md Бесплатно (free)

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    21337    0    tomvlad    5    

Контекстный поиск в 7.7

Инструментарий разработчика Практика программирования v7.7 1cv7.md Бесплатно (free)

Процедура контекстного поиска в журнале документов.

18.04.2014    8685    0    cushe    2    

Проверка ИНН v.7.7

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Проверка ИНН v.7.7

08.03.2014    9218    0    kras_71    1    

Полезные функции. Склонение (должность и фамилия подписантов). Любой язык

Практика программирования v7.7 v8 Бесплатно (free)

Уехал директор в командировку, отпуск... , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок... Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов ... Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.

03.03.2014    17362    0    kompas-dm    5    

Реализация Ctrl+Z в 1С 7.7 (ТиС)

Практика программирования v7.7 1С7:ТиС Бесплатно (free)

В семерке отсутствует возможность отменять последнее действие в формах документов. В данной статье будет рассмотрен пример реализации данной функции. Возможно, кому-нибудь пригодится.

15.07.2013    7539    0    a.o.popova    10    

Копия напечатанного документа или как спрятать документ.

Журнал регистрации Практика программирования v7.7 Бесплатно (free)

Возникла необходимость, чтобы при печати определённого документа (даже потом не сохранённого), создавалась его копия, т.е. запись всех напечатанных документов. (В результате чего возникла такая потребность, полагаюсь на вашу фантазию). В итоге получилось два варианта решения, остановился на втором.

11.04.2013    15098    0    Dima_    8    

Чтение строк файла CSV в список значений с помощью метода ИзСтрокиСРазделителями

Практика программирования Внешние источники данных v7.7 Бесплатно (free)

Чтение строк файла CSV в список значений с помощью метода ИзСтрокиСРазделителями

04.04.2013    18428    0    ivisor_fil    11    

Автосохранение документа в 1С 7.7

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

В данной статье мы рассмотрим автосохранение документа в 1С 7.7!

22.03.2013    12899    0    aagubarev    25    

Конвертация данных 2.1 (2.1.3.1) 1С 7.7 - 1С 8.Х передача параметра ПКО

Практика программирования Перенос данных из 1С7.7 в 1C8.X v7.7 v8 КД Бесплатно (free)

Передача параметров по умолчанию доступна только для баз 1С 8.х -1С 8.х. Показан пример, как передать параметры из 1С 7.7 - 1С 8.х

10.12.2012    24591    0    serg_gres    6    

Устранение проблемы при работе с полем, которое ограничено маской ввода

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

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

08.08.2012    15862    0    www2000    4    

Динамическая фильтрация в справочнике при вводе наименования

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Позволяет в открытой форме списка, выбора или подбора справочника производить динамическую фильтрацию по набранному наименованию.

02.07.2012    15689    0    maxpiter    62    

Обновление базы 1с 7.7. с помощью движка 1с 8.х

Практика программирования Администрирование данных 1С v7.7 1cv7.md Россия Бесплатно (free)

Если Вас угораздило в стандартную типовую конфу внести правки, причем в самый большой модуль, а именно глобальный. Если к тому же Вы внесли изменение в какую-то стандартную функцию, в которой 1с сама регулярно чего-то меняет, то любое обновление начинает доставать. Используя возможности движка платформы 1с 8.х можно существенно сэкономить себе время и нервы.

28.04.2012    17948    0    Valerich    31    

v77. Робот

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Исполнитель Робот. Учебное пособие по программированию для детей дошкольного возраста. Без внешних компонент.

09.04.2012    11907    3    item    18    

Запуск внешней обработки по расписанию v7.7

Практика программирования Администрирование данных 1С v7.7 1cv7.md Россия Бесплатно (free)

Неоднократно возникали задачи организовать, например ежедневную выгрузку и отправку отчетов по эл.почте, и вот…

20.03.2012    42967    0    Yury1001    17    

v77. Закладки в многоуровневом справочнике аля Total Commander

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

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

09.03.2012    10485    1    item    17    

v77. Паинт

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

v77. 1С:Паинт :) Такая вот игрушка. Без внешних компонент.

06.03.2012    14063    1    item    38    

v77. Как ИспользоватьСубконто

Практика программирования Оборотно-сальдовая ведомость, Анализ счета Оборотно-сальдовая ведомость, Анализ счета v7.7 1cv7.md Россия БУ Бесплатно (free)

Как ИспользоватьСубконто или почему операция - "любимый" инструмент бухгалтера.

05.03.2012    11788    0    item    3    

v77. Календарь на форме.

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

v77. Календарь на форме. В помощь разработчику.

05.03.2012    10632    1    item    17    

v77. Таблица символов.

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

v77. Таблица символов. В помощь разработчику.

05.03.2012    15210    2    item    10    

Регистрация текста окна сообщений

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Для контроля работы пользователей потребовалось записывать текст окна сообщений в файл. Получился простейший механизм регистрации лог-файла. Удержать роста папки "Temp", в качестве рекомендации, может использование bat-файла, который будет чистить или архивировать получаемые логи. Таких батников в инете полным-полно. P.S. Особо по форуму не смотрел, может, есть уже такое.

28.11.2011    7479    0    sdin101    9    

7.7.: Готовим md-файл для публикации. В картинках.

Практика программирования v7.7 1cv7.md Россия Бесплатно (free)

Вы доработали типовую конфигурацию: скажем, добавили новый Документ, и хотите им поделиться с обществом ИС. Но нельзя же выложить МД-шник целиком, это будет нарушением правил. И как тут быть?

14.09.2011    16900    0    Арчибальд    21    

Учет доверенностей

Практика программирования Документооборот и делопроизводство Документооборот и делопроизводство v7.7 1С7:Бух 1С7:Комплекс 1С7:ТиС 1С7:ПУБ Бесплатно (free)

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

08.09.2011    11398    0    Sykoku    8    

Выбор Движений документа по конкретному регистру, с помощью прямого запроса

Практика программирования v7.7 openconf 1cv7.md Россия Бесплатно (free)

Чтобы узнать какие движения сделал документ по конкретному регистру, в моем случае это регистр "ОстаткиПоСчетам" (оборотный), была написана следующая функция в глобальном модуле. Работает только для SQL версии и установленной внешнй компонентой 1С++!

26.05.2011    11835    0    Vix    4